WO2021180065A1 - 数据传输方法及通信装置 - Google Patents

数据传输方法及通信装置 Download PDF

Info

Publication number
WO2021180065A1
WO2021180065A1 PCT/CN2021/079734 CN2021079734W WO2021180065A1 WO 2021180065 A1 WO2021180065 A1 WO 2021180065A1 CN 2021079734 W CN2021079734 W CN 2021079734W WO 2021180065 A1 WO2021180065 A1 WO 2021180065A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
data segment
coded data
network coding
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2021/079734
Other languages
English (en)
French (fr)
Inventor
祝慧颖
董朋朋
谭志远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP21768287.1A priority Critical patent/EP4099593A4/en
Publication of WO2021180065A1 publication Critical patent/WO2021180065A1/zh
Priority to US17/939,177 priority patent/US12003322B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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
    • 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/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • H04L1/0065Serial concatenated 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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/0045Arrangements at the receiver end
    • 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

Definitions

  • the present invention relates to the field of communication technology, in particular to a data transmission method and communication device.
  • a feedback-based request retransmission mechanism such as a hybrid automatic repeat request (HARQ) mechanism at the media access control (MAC) layer.
  • HARQ hybrid automatic repeat request
  • the MAC layer of the sender determines the size of the transport block (transport Block, TB) and then informs the radio link control (RLC) layer, and the RLC layer performs service data unit (RLC) SDU according to the determined TB size Segment processing to generate RLC PDUs.
  • RLC radio link control
  • the MAC layer concatenates the RLC PDUs sent by the RLC layer to generate a TB, and sends the TB to the physical (physical, PHY) layer for processing.
  • the PHY layer adds a cyclic redundancy code check to the received TB After (cyclical redundancy check, CRC) information, the code block is divided to obtain multiple code blocks (Code Block, CB), and CRC information is added to each CB, and then each CB performs channel coding and rate matching before coding Block concatenation, scrambling, modulation, resource mapping and other operations are sent to the receiving end.
  • the receiving end finds that as long as there is a CRC check error corresponding to the CB contained in the received TB, it sends feedback information to request the transmitting end to retransmit the entire TB, and submits to the RLC until the receiving end MAC entity judges that the entire TB is decoded correctly. Floor. If only part of the bits in the TB or only part of the CB are transmitted incorrectly, the MAC entity at the transmitting end will retransmit the entire TB to the receiving end, which wastes spectrum resources.
  • the embodiments of the present application provide a data transmission method and a communication device, which can avoid waste of spectrum resources and improve spectrum efficiency.
  • the embodiments of the present application provide a communication method, where the method may be executed by a first device, or may be executed by a component (such as a processor, a chip, or a chip system, etc.) of the first device, where:
  • the first device may be a network device or a terminal device, or may also be another device or network element in the communication system.
  • the communication method may include: the first device performs network coding according to the first data segment to obtain the first network coded data segment.
  • a first cyclic redundancy code check CRC information and a first data unit are generated, where the first data unit includes the network coding parameters corresponding to the first network coded data segment and the first CRC Information, the first CRC information is used to check the first network coded data segment. Further output the generated first data unit.
  • the first device performs network coding on the data segment to generate network coded data segments, and then adds CRC information to the network coded data segments, so that the second device at the receiving end can use the CRC information for the network coded data
  • the segmentation is checked to determine whether the network coded data segment is transmitted correctly, and the correctly transmitted network coded data segment is decoded to obtain the data segment for network coding.
  • This method does not need to be individually transmitted. When a CB transmission error or a bit transmission error occurs, the entire TB is retransmitted, thereby avoiding the waste of spectrum resources and improving spectrum efficiency.
  • the network coding method may include but is not limited to one of the following methods: random linear network coding, deterministic linear network coding, BATS code, erasure code, fountain code, convolutional network coding or stream coding (for example: streaming coding) and so on.
  • network coding may be performed on the M first data segments to obtain N first network coded data segments.
  • the M first data segments may belong to the same group of coding blocks, where the value of N may be greater than or equal to the value of M.
  • the first data segment may include a first original data segment, or the first data segment may include a first original data segment and second CRC information, and the second CRC information is based on the first original data
  • the second CRC information is calculated in segments, and the second CRC information is used to check the first original data segment.
  • a first data segment may include a first original data segment and a corresponding first original data segment. The second CRC information.
  • adding the second CRC information to the first original data segment can further improve the reliability of the original data segment transmission.
  • first CRC information corresponding to the first network coded data segment is generated, that is, a first network coded data segment The segment corresponds to a first CRC information.
  • the first CRC information may be calculated according to the first network coded data segment, that is, the first CRC information covers the first network coded data segment, and the first CRC information is used to compare The first network coded data is checked in segments.
  • the first CRC information may be calculated according to the first network coded data segment and the network coding parameters corresponding to the first network coded data segment, that is, the first network coded data segment and the corresponding network code
  • the first CRC information is added to the parameters as a whole, then the first CRC information covers the first network coded data segment and the network coding parameters corresponding to the first network coded data segment, and the first CRC information is used to encode the first network
  • the data segment and the network coding parameters corresponding to the first network coding data segment are checked.
  • the first CRC information can be generated according to the first network coded data segment and the network coding parameters, that is, the first network coded data segment and the network coding parameters can be checked through the first CRC information, and the pairing can be realized.
  • the first data unit may be a protocol data unit (protocol data unit, PDU), and the PDU includes a protocol header part, a network coded data part, and a parity bit part.
  • PDU protocol data unit
  • the protocol header part includes network coding parameters
  • the network coding data part includes the first network coding data segment
  • the check bit part includes the first CRC information
  • the network coded data part may include one or more first network coded data segments.
  • the protocol header part may include one or more network coding parameters and check bits corresponding to the first network coded data segments.
  • the part includes first CRC information corresponding to one or more first network coded data segments.
  • the network coding parameters are carried in the protocol header part
  • the network coding data part carries the first network coding data segment
  • the check bit part carries the first CRC information without additional indication information, which saves overhead.
  • the first data unit may be a PDU
  • the PDU includes a protocol header part, at least one network coded data part, at least one sub-header part, and at least one check bit part.
  • the protocol header part includes number indication information, and the number indication information is used to indicate the number of the first network coded data segment contained in the PDU.
  • a network coded data part includes a first network coded data segment
  • a sub-header part includes a network coding parameter corresponding to a first network coded data segment
  • a check bit part includes a first network coded data segment Corresponding to the first CRC information.
  • each segment of the first network coded data is carried by different network coded data parts, the corresponding network coding parameters are carried by different sub-headers, and the corresponding first CRC information is carried by different parts.
  • the check digit is partly carried, which is convenient for the receiving end to parse and obtain various information.
  • the first data unit may be a PDU
  • the PDU includes a protocol header part, a data field part, and a check bit part.
  • the protocol header part includes length indication information, and the length indication information is used to indicate the length of the data field part.
  • the data field part includes network coding parameters and the first network coded data segment, and the check bit part includes the first CRC information.
  • the data domain part may include one or more first network coded data segments and network coding parameters corresponding to the one or more first network coded data segments, and the check bit part includes the one or more The first CRC information corresponding to the multiple first network coded data segments respectively.
  • the network coding parameters and the first network coding data segment are carried by the data domain part, and the first CRC information is carried by the check bit part, which is convenient for the receiving end when the complexity of the PDU format design is simplified. Analyze to obtain various information.
  • the first data unit may be a PDU, and the PDU includes a protocol header part and a data domain part.
  • the protocol header part includes length indication information, and the length indication information is used to indicate the length of the data field part.
  • the data field part includes network coding parameters, first network coding data segments and first CRC information.
  • the data domain part may include one or more first network coding data segments, network coding parameters corresponding to the one or more first network coding data segments, and the one or more first network The first CRC information corresponding to the encoded data segments respectively.
  • the network coding parameters, the first network coding data segmentation, and the first CRC information are carried by the data domain part, which reduces the complexity of PDU format design.
  • the PDU can be a PDU of other protocol layers except the physical layer, and the other protocol layers other than the physical layer can be one of the following: MAC layer, RLC layer, BAP layer, PDCP layer, or other network coding functions Protocol layer.
  • the protocol layer with network coding function can be a new protocol layer in addition to the MAC layer, RLC layer, BAP layer, and PDCP layer.
  • the protocol layer can be called the network coding layer, and the protocol layer can be located in the PDCP layer.
  • the BAP layer or between the PDCP layer and the RLC layer, or between the RLC layer and the MAC layer, or between the MAC layer and the physical layer, which is not specifically limited in the embodiments of this application .
  • the first data unit may also be a TB or CB at the physical layer.
  • the first data unit includes a code block header, a code block, and In the parity part, the code block includes at least one first network coded data segment.
  • the check bit part includes the first CRC information corresponding to the code block.
  • the code block header includes the network coding parameters corresponding to one first network coded data segment or multiple first network coded data segments of the at least one first network coded data segment included in the code block.
  • the first network coded data segment is carried by the CB, and the CRC information corresponding to the CB is used as the first CRC information corresponding to the first network coded data segment carried by the CB, which can be compatible with the design of the existing CB.
  • the first CRC information corresponding to the code block CB may be generated according to at least one first network coded data segment included in the code block, that is, the first CRC information is used to compare at least the first network coded data included in the code block. A first network coded data segment is checked.
  • the first CRC information corresponding to the code block CB may be generated based on at least one first network coded data segment included in the code block and data contained in the added code block header, that is, the first CRC information is used to code At least one first network coded data segment included in the block is checked against the data contained in the code block header.
  • the first CRC information corresponding to the code block can be generated in a variety of ways, which facilitates the verification of the first network coded data segment contained in the code block and/or the data contained in the code block header.
  • the network coding parameters may include one or more of the following parameters: identification information of the coding block corresponding to the first network coding data segment, and coefficients corresponding to the first network coding data segment The indication information, the identification information of the first network coded data segment in the corresponding code block, or the number of the first data segment contained in the code block corresponding to the first network coded data segment, and the number of the first data segment Size or length information, etc.
  • the PDU in the embodiment of this application is one of the following types of PDUs: media access control MAC layer PDU, radio link control RLC layer PDU, backhaul adaptation protocol BAP layer PDU, packet Data Convergence Protocol PDCP layer PDU, or protocol layer PDU with network coding function, etc.
  • the embodiments of the present application provide a communication method, where the method may be executed by a second device, or may be executed by a component (such as a processor, a chip, or a chip system, etc.) of the second device, where:
  • the second device may be a network device or a terminal device, or may also be another device or network element in the communication system.
  • the communication method may include: acquiring a second data unit, the second data unit including a second network coding data segment, a network coding parameter corresponding to the second network coding data segment, and third CRC information.
  • the third CRC information is used to check the second network coded data segment, and according to the check result, it is determined that the second network coded data segment is transmitted correctly.
  • the second network coded data segment is further decoded according to the network coding parameter.
  • the second device at the receiving end checks the network coded data segment using CRC information to determine whether the network coded data segment is transmitted correctly, and decodes the correctly transmitted network coded data segment , The data segmentation used for network coding is obtained.
  • This method does not need to retransmit the entire TB when individual CB transmission errors or bit transmission errors occur, thereby avoiding waste of spectrum resources and improving spectrum efficiency.
  • the second data unit in the communication method provided in the second aspect is of the same type as the first data unit in the communication method provided in the first aspect.
  • the first data unit is an RLC layer PDU
  • the second data unit The data unit is also the PDU of the RLC layer.
  • the second data unit may be different or the same as the first data unit due to factors such as fading caused by channel noise or mobility or interference caused by other users.
  • the second network coded data segment in the second data unit may be the same or different from the first network coded data segment in the first data unit. If the second network coded data segment is different from the first network coded data segment, it means that the second network coded data segment has a transmission error. If the second network coded data segment is the same as the first network coded data segment, then It shows that the second network coded data is transmitted correctly in segments.
  • the third CRC information corresponding to the second network coded data segment may cover the second network coded data segment, or the third CRC information may cover the second network coded data segment and the Network coding parameters corresponding to the second network coding data segment.
  • the third CRC information covers the second network coded data segment and the network coding parameters corresponding to the second network coded data segment
  • the third CRC information is used to divide the second network coded data segment and the second network coded data segment.
  • the network coding parameter corresponding to the segment is checked to obtain the check result.
  • the check result indicates whether the second network coding data segment and the corresponding network coding parameter are transmitted correctly, if the second network coding data segment and the network coding If the parameter transmission is correct, the second network coded data segment is decoded according to the network coded parameter.
  • the third CRC information can be used to verify the second network coded data segment and the corresponding network coding parameter, so as to realize the verification of the network coded data segment and the transmission accuracy of the network coding parameter.
  • the second device encodes the second network according to the network encoding parameters
  • the second data segment obtained by decoding the data segment includes the second original data segment and the fourth CRC information.
  • the second original data segment is checked using the fourth CRC information, and the second original data segment is determined according to the check result whether the transmission of the second original data segment is correct, which can further improve the reliability of the original data segment transmission. sex.
  • the embodiments of the present application provide a communication method, where the method may be executed by a first device, or may be executed by a component (such as a processor, a chip, or a chip system, etc.) of the first device, wherein the The first device may be a network device or a terminal device, or may also be another device or network element in the communication system.
  • the communication method may include: generating fifth CRC information according to the third original data segment. Perform network coding according to the third original data segment and the fifth CRC information to obtain a third network coded data segment, and further generate a third data unit according to the third network coded data segment, the third data unit including the first Three network coding parameters corresponding to the network coding data segment.
  • CRC information is added to the original data segment, and network coding is performed according to the original data segment and the corresponding CRC information to obtain the network coded data segment, which can improve the reliability of the original data segment transmission, and can also Improve spectrum efficiency.
  • fifth CRC information corresponding to the third original data segment is generated, that is, a third original data segment corresponds to a fifth CRC information, and the third original data segment is assigned to the fifth CRC information.
  • the third original data segment adds fifth CRC information.
  • N third network coded data segments may be distributed in one or more third data units, which is not limited in the embodiment of the present application.
  • the third data unit in the embodiment of the present application may be a TB or CB at the physical layer, or may also be a PDU at another protocol layer besides the physical layer.
  • the other protocol layer may be one of the following multiple: MAC layer, RLC layer, BAP layer, PDCP layer, or other protocol layers with network coding functions.
  • the protocol layer with network coding function can be a new protocol layer in addition to the MAC layer, RLC layer, BAP layer, and PDCP layer.
  • the protocol layer can be called the network coding layer, and the protocol layer can be located in the PDCP layer.
  • the BAP layer or between the PDCP layer and the RLC layer, or between the RLC layer and the MAC layer, or between the MAC layer and the physical layer, which is not specifically limited in the embodiments of this application .
  • the third data unit is a PDU
  • the PDU includes a protocol header part and a network coded data part.
  • the protocol header part includes network coding parameters
  • the network coding data part includes the third network coding data segment.
  • the network coded data part may include one or more third network coded data segments.
  • the network coding parameters are carried in the protocol header part, and the network coding data part carries the third network coding data segment without additional indication information, which saves overhead.
  • the third data unit is a PDU
  • the PDU includes a protocol header part, at least one network coded data part, and at least one sub-header part.
  • the protocol header part includes number indication information, and the number indication information is used to indicate the number of third network coded data segments contained in the PDU.
  • a network coding data part includes a third network coding data segment, and a sub-header part includes a network coding parameter corresponding to a third network coding data segment.
  • each third network coded data segment is carried by different network coded data parts, and the corresponding network coding parameters are respectively carried by different sub-header parts, so that the receiving end can analyze and obtain various information.
  • the third data unit is a PDU
  • the PDU includes a protocol header part and a data field part.
  • the protocol header part includes length indication information, and the length indication information is used to indicate the length of the data domain part; the data domain part includes the third network coding data segment and network coding parameters.
  • the data domain part may include one or more third network coded data segments and network coding parameters respectively corresponding to the one or more third network coded data segments.
  • the network coding parameters and the third network coding data segment are carried by the data domain part, which reduces the complexity of PDU format design.
  • the embodiments of the present application provide a communication method, where the method may be executed by a second device, or may be executed by a component (such as a processor, a chip, or a chip system, etc.) of the second device, wherein the The second device may be a network device or a terminal device, or may also be another device or network element in the communication system.
  • the communication method may include: acquiring a fourth data unit, where the fourth data unit includes a fourth network coding data segment and a network coding parameter corresponding to the fourth network coding data segment.
  • the fourth network coded data segment is decoded according to the network coding parameter to obtain the fourth original data segment and the sixth CRC information.
  • the sixth CRC information is further used to check the fourth original data segment, and according to the check result, it is determined whether the transmission of the fourth original data segment is correct.
  • the fourth data unit in the communication method provided in the fourth aspect is of the same type as the third data unit in the communication method provided in the third aspect.
  • the third data unit is an RLC layer PDU
  • the fourth data unit The data unit is also the PDU of the RLC layer.
  • the fourth data unit and the third data unit may be different or the same due to factors such as fading caused by channel noise or mobility or interference caused by other users.
  • the fourth network coded data segment in the fourth data unit and the third network coded data segment in the third data unit may be the same or different.
  • the second device at the receiving end decodes the network coded data segment, and then uses the decoded CRC information to check the original data segment, thereby improving the reliability of the original data segment transmission And this method does not need to retransmit the entire TB when individual CB transmission errors or bit transmission errors occur, thereby avoiding the waste of spectrum resources and improving spectrum efficiency.
  • an embodiment of the present application provides a communication device, including various modules or units for executing the method provided in any one of the first aspect to the fourth aspect.
  • an embodiment of the present application provides a communication device including a processor.
  • the processor is coupled with the memory and can be used to execute instructions in the memory to implement the method provided in any one of the first aspect to the fourth aspect.
  • the communication device further includes a memory.
  • the communication device further includes a communication interface, and the processor is coupled with the communication interface.
  • an embodiment of the present application provides a processor, including: an input circuit, an output circuit, and a processing circuit.
  • the processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method provided in any one of the first aspect to the fourth aspect.
  • the above-mentioned processor can be one or more chips
  • the input circuit can be an input pin
  • the output circuit can be an output pin
  • the processing circuit can be a transistor, a gate circuit, a flip-flop, and various logic circuits, etc.
  • the input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver
  • the signal output by the output circuit may be, for example, but not limited to, output to the transmitter and transmitted by the transmitter
  • the circuit can be the same circuit, which is used as an input circuit and an output circuit at different times.
  • the embodiments of the present application do not limit the specific implementation manners of the processor and various circuits.
  • an embodiment of the present application provides a processing device, including a processor and a memory.
  • the processor is used to read instructions stored in the memory, and can receive signals through a receiver, and transmit signals through a transmitter, so as to execute the method provided in any one of the first aspect to the fourth aspect.
  • processors there are one or more processors, and one or more memories.
  • the memory may be integrated with the processor, or the memory and the processor may be provided separately.
  • the memory can be a non-transitory (non-transitory) memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be set in different On the chip, the embodiment of the present application does not limit the type of the memory and the setting mode of the memory and the processor.
  • ROM read only memory
  • sending a request message may be a process of outputting a request message from the processor
  • receiving a message may be a process of receiving a message by the processor.
  • the data output by the processor can be output to the transmitter, and the input data received by the processor can come from the receiver.
  • the transmitter and receiver can be collectively referred to as a transceiver.
  • the processing device in the above eighth aspect may be one or more chips.
  • the processor in the processing device can be implemented by hardware or software.
  • the processor may be a logic circuit, integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor, which is implemented by reading software codes stored in the memory, and the memory may Integrated in the processor, can be located outside the processor, and exist independently.
  • the embodiments of the present application provide a computer program product.
  • the computer program product includes: a computer program (also called code, or instruction), which when the computer program is executed, causes the computer to execute the above-mentioned first The method provided in any one of the first aspect to the fourth aspect.
  • an embodiment of the present application provides a computer-readable storage medium that stores a computer program (also called code, or instruction) that when it runs on a computer, causes the computer to execute The method provided by any one of the above-mentioned first aspect to the fourth aspect.
  • a computer program also called code, or instruction
  • an embodiment of the present application provides a communication system, including the aforementioned first device and/or second device.
  • a chip system in a twelfth aspect, includes a processor and an interface.
  • the processor is used to call and run a computer program (also called code or instruction) stored in the memory from the memory to implement the first
  • a computer program also called code or instruction
  • the chip system further includes a memory, and the memory is used to store necessary program instructions and data.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • Figure 1a is a schematic diagram of a network coding provided by an embodiment of the present application.
  • Figure 1b is a system architecture diagram provided by an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a data transmission method provided by an embodiment of the present application.
  • 3a to 3c are schematic diagrams of network coding provided by embodiments of the present application.
  • FIGS. 4a to 4e are schematic diagrams of PDUs provided by embodiments of the present application.
  • Figure 4f is a schematic diagram of a code block provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of network coding data transmission provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another network coding data transmission provided by an embodiment of the present application.
  • FIG. 7 is another schematic diagram of network coding data transmission provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of another data transmission method provided by an embodiment of the present application.
  • FIGS. 9a to 9d are schematic diagrams of PDUs provided by embodiments of the present application.
  • FIG. 10 is a schematic diagram of network coding data transmission according to an embodiment of the present application.
  • FIG. 11 is a schematic block diagram of a communication device provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
  • FIG. 13 is a schematic block diagram of another communication device provided by an embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of a chip provided by an embodiment of the present application.
  • the network coding methods that can be used for network coding in the embodiments of this application include but are not limited to: random linear network coding (RLNC), deterministic linear network coding, batch sparse code (BATS) code, erasure correction Code (erasure code), fountain code (fountain code), etc.
  • RLNC random linear network coding
  • BATS batch sparse code
  • erasure correction Code erasure code
  • fountain code fountain code
  • the sender divides the original data packet that needs to be sent into multiple groups of RLNC encoding blocks.
  • a group of RLNC encoding blocks contains M original data packets, denoted by X 1 , X 2 ,..., X M ,
  • the random coefficient of the m-th original data packet in the data packet, and g i,m is randomly selected from a finite field or GF (galois field, Galois field).
  • the GF field is a field containing a finite number of elements.
  • GF(q) can be used to represent a GF field containing q elements.
  • GF(q) represents ⁇ 0,1,...,q-1 ⁇ .
  • the size of the GF field can be predefined or determined by Network equipment configuration, where the difference between deterministic linear network coding and random linear network coding is that the coefficients used in determining the linear network coding are not randomly selected, but specified or configured by the network equipment.
  • each encoded data packet can satisfy the following formula:
  • the network coding parameters corresponding to an encoded data packet Y i all include the encoding coefficient vector [gi,1 ,g i,2 ,...,g i,M ] used to generate the encoded data packet, and the length of the encoding coefficient vector (Or called the dimension of the coding coefficient vector or the number of elements in the coding coefficient vector) is the same as the number M of original data packets in one coding block.
  • the receiving end can decode M original data packets. For example, the receiving end can construct a linear equation set according to the encoding coefficient vector. In the linear equation set X m , m ⁇ 1 ,2,...M ⁇ are M unknowns to be solved, and M original data packets are decoded using linear equation theory.
  • the receiving end can also decode M original data packets. For example, where a received packet header of the encoded data Y i are coefficients comprising a indication information for indicating a length coded coefficient vector M, the receiving end will receive the N coded coefficients together to form a vector on The unknowns X 1 ,X 2 ,...,X M are an M-ary linear equation system, the coefficient matrix of the equation system is:
  • the rank of the coefficient matrix is M, and the receiving end can decode M original data packets by using the coefficient matrix.
  • the receiving end can decode and obtain M original data packets.
  • CRC is an error check code, which is mainly used to detect or check possible errors after data transmission. For example, if the sender uses a formula to calculate a value of the information contained in the transmitted data, and attaches this value to the transmitted data, the receiver performs the same calculation on the same data and should get the same result. If the two CRC results are inconsistent, it means that an error occurred in the transmission.
  • the data segment in the embodiment of the present application can be replaced with a data packet, or a data block, etc.
  • the first data segment can be referred to as the first data packet, or the first data block and the second data segment can be referred to as The second data packet or the second data block
  • the first original data segment can be called the first original data packet, or the second original data block
  • the second original data segment can be called the second original data packet, or The second original data block and so on.
  • the network coded data segment can be replaced with network coded packets, coded data packets, network coded data packets, network coded data blocks or network coded data units, etc.
  • the first network coded data segment may be referred to as a first network coded packet, or a first coded data packet, or may also be referred to as a first network coded data unit, and so on.
  • the first device in the embodiment of the present application may also be referred to as the transmitting end device, and the second device may also be referred to as the receiving end device.
  • the first device performs network coding at the protocol layer with network coding function to generate network coded data segments.
  • the protocol layer can be the RLC layer, or the packet data convergence protocol (packet data convergence protocol, PDCP) layer, or backhaul adaptation ( backhaul adaptation protocol, BAP) layer, or MAC layer, or PHY layer, or, add a network coding layer with network coding function above the PDCP layer, or add a network coding layer with network coding function above the BAP layer Layer, or, add a network coding layer with network coding function between the PDCP layer and RLC layer, or add a network coding layer with network coding function between the RLC layer and the MAC layer, or add a network coding layer with network coding function between the MAC layer and the MAC layer.
  • a network coding layer with a network coding function is added between the PHY layers, etc., which is not limited in the embodiment of the present application.
  • the above-mentioned protocol layers with network coding functions are collectively referred to as network coding layers in the full text.
  • the data unit in the embodiments of the present application may be a TB or CB at the physical layer, or may be a protocol data unit (protocol data unit, PDU) at other protocol layers except the physical layer.
  • PDU protocol data unit
  • protocol layers besides the physical layer may be one of the following multiple types: MAC layer, RLC layer, BAP layer, PDCP layer, or other protocol layers with network coding functions.
  • the protocol layer with network coding function can be a new protocol layer in addition to the MAC layer, RLC layer, BAP layer, and PDCP layer.
  • the protocol layer can be called the network coding layer, and the protocol layer can be located in the PDCP layer.
  • the BAP layer or between the PDCP layer and the RLC layer, or between the RLC layer and the MAC layer, or between the MAC layer and the physical layer, which is not specifically limited in the embodiments of this application .
  • the coding block corresponding to the network coding data segment can be understood as that the network coding data segment is obtained by performing network coding according to the original data segment contained in the coding block.
  • the CRC information in the embodiment of the present application covers the network coded data segment. It can be understood that the CRC information is calculated based on the network coded data segment, that is, the CRC information is used to check the network coded data segment. Alternatively, the CRC information covers the network coded data segment and network coding parameters, which can be understood as the CRC information is calculated based on the network coded data segment and the network coding parameters, that is, the CRC information is used for the network coded data The segmentation and network coding parameters are verified.
  • each coding group can be uniquely identified by a group ID; or, the "coding block” can also be referred to as a "coding batch”.
  • each network coding batch can be uniquely identified by batch ID; or, “coding block” can also be called “coding generation”, and correspondingly, each network coding generation can use generation identification (generation ID) unique identification.
  • “Code Block”, “Code Group”, “Code Batch”, and “Code Generation” can be replaced with each other.
  • Wireless communication systems can include but are not limited to long term evolution (LTE) systems, new generation radio access technology (NR) systems, Future-evolving communication systems, etc., and future-evolving communication systems such as future networks or sixth-generation communication systems.
  • LTE long term evolution
  • NR new generation radio access technology
  • Future-evolving communication systems etc.
  • future-evolving communication systems such as future networks or sixth-generation communication systems.
  • This application can be applied to various mobile communication scenarios of the above-mentioned wireless communication system, such as point-to-point transmission between base stations and user equipment (UE) or between UEs, multi-hop/relay transmission between base stations and user equipment, and multiple base stations. Scenarios such as dual connectivity (DC) or multiple connections with user equipment.
  • UE user equipment
  • DC dual connectivity
  • Figure 1b is a schematic diagram of the system architecture of the communication system of the present application. It can be understood that Figure 1b is only exemplary and does not limit the network architecture applicable to the present application. Moreover, the present application does not limit the uplink, downlink, and access links. , Backhaul (backhaul) link, side link (sidelink) and other transmission.
  • Backhaul backhaul
  • side link sidelink
  • FIG. 1b is a schematic diagram of a network architecture to which an embodiment of the present application is applied.
  • the network architecture shown in FIG. 1b includes network devices and terminal devices, where the number of network devices may be one or more, and the number of terminal devices may be one or more.
  • FIG. 1b the number and form of the devices shown in FIG. 1b are used as examples, and do not constitute a limitation to the embodiments of the present application.
  • the actual application may include two or more network devices.
  • a network device is a device deployed in a wireless access network to provide a wireless communication function for terminal devices.
  • the network equipment may include various forms of macro base stations, micro base stations (also called small stations), relay stations, access points, and so on.
  • the names of network devices may be different, such as eNB or eNodeB (evolutional nodeB) in LTE (long term evolution).
  • the network device may also be a wireless controller in a CRAN (cloud radio access network) scenario.
  • the network device may also be a base station device in a 5G network or a network device in a future evolved network.
  • the network device can also be a wearable device or a vehicle-mounted device.
  • the network device may also be a transmission and reception point (TRP).
  • TRP transmission and reception point
  • Network equipment can also refer to a general term for all equipment on the network side. For example, when multiple TRPs are used to transmit data to a terminal device, the multiple TRPs are collectively referred to as network equipment.
  • the terminal device is a device with wireless transceiver function, which can be deployed on land, including indoor or outdoor, handheld, wearable or vehicle-mounted; it can also be deployed on the water (such as a ship, etc.); it can also be deployed In the air (for example, on airplanes, balloons, satellites, etc.).
  • the terminal equipment may be a mobile phone (mobile phone), a tablet computer (Pad), a computer with wireless transceiver function, virtual reality (VR) terminal equipment, augmented reality (AR) terminal equipment, industrial control ( Wireless terminals in industrial control, in-vehicle terminal equipment, wireless terminals in self-driving, wireless terminals in remote medical, wireless terminals in smart grid, transportation safety (transportation) Wireless terminals in safety), wireless terminals in smart cities, wireless terminals in smart homes, wearable terminal devices, and so on.
  • the embodiments of this application do not limit the application scenarios.
  • Terminal equipment can sometimes also be referred to as terminal, user equipment (UE), access terminal equipment, vehicle-mounted terminal, industrial control terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal equipment, mobile Equipment, UE agent or UE device, etc.
  • the terminal device can also be fixed or mobile.
  • the first device and the second device in the embodiments of the present application refer to different mobile communication scenarios.
  • the first device and the second device may be different terminal devices.
  • the first device may be a terminal device or a network device
  • the second device may also be a terminal device or a network device.
  • FIG. 2 is a schematic flowchart of a data transmission method provided by an embodiment of this application.
  • the method may include but is not limited to the following steps:
  • the first device performs network coding according to the first data segment to obtain the first network coded data segment.
  • the first device may perform network coding on at least one first data segment to obtain at least one first network coded data segment, where the at least one first data segment may be data to be sent Divided.
  • the at least one first data segment may be a data segment belonging to the same group of coding blocks.
  • the first data segment may include a first original data segment, or the first data segment may include a first original data segment and second CRC information, and the second CRC information is based on the first original data
  • the second CRC information is calculated by segmentation, and the second CRC information is used to check the first original data segment, and one first data segment may include one second CRC information.
  • a protocol layer or protocol entity with a network coding function divides the data to be sent into multiple groups of coding blocks, and each group of coding blocks contains at least two first original data segments.
  • Each group of coding blocks can be distinguished by their own identification information, such as block ID.
  • the data to be sent can be one or more PDUs sent by the upper layer protocol, or it can be one or more service data unit (SDU) or SDU segments of the protocol layer, or it can be the physical layer.
  • SDU service data unit
  • the TB or CB is not limited in the embodiment of this application.
  • each first original data segment in a group of coding blocks may be the same or different.
  • the network side device may limit or semi-statically configure the size (number of bits or bytes) of the first original data segment, or may obtain the first original data segment according to a predefined manner.
  • the first device sequentially takes data bits of 1000 bytes at a time as a first original data segment.
  • a CB can be used as a first original data segment.
  • the defined size, such as M 8.
  • the size of M can also be determined by the sending end, but the receiving end must be notified of the size of M.
  • the first device may perform network coding on the M first original data segments to obtain N first network coded data segments.
  • the first data segment used for network coding in step S100 The segment includes the first raw data segment.
  • the first device may add second CRC information to each first original data segment, that is, add a second CRC information to a first original data segment, and the second CRC information may be based on the corresponding first original data. It is obtained by segment calculation, and then network coding is performed on the M first original data segments added with the second CRC information to obtain N first network coded data segments.
  • step S100 is used to perform network
  • the encoded first data segment includes the first original data segment and the second CRC information.
  • the first original data segment or the first original data segment to which the second CRC information is added are collectively referred to as the first data segment.
  • the protocol layer or protocol entity with the network coding function in the first device performs network coding on the M first data segments to obtain N first network coded data segments, and the N first network coded data segments are Y respectively 1 ,Y 2 ,...,Y N (N ⁇ 1).
  • the network coding method used in the network coding of the embodiment of the present application is predefined or semi-statically configured.
  • the network coding method may include but is not limited to one of the following methods: random linear network coding , Determine linear network coding, BATS code, erasure code, fountain code, convolutional network coding or streaming coding (for example: streaming coding), etc.
  • any one of the network coding methods shown in FIGS. 3a to 3c can also be used for network coding. It is understandable that FIGS. 3a to 3c only As an example, it does not constitute a limitation to the embodiment of the present application.
  • the network coding method shown in FIG. 3a to FIG. 3c is introduced below.
  • all the bit sequences of the first data segment can be filled to the same length by padding or 0, and then network coding is performed.
  • the same length may be the length of the longest data segment in the M first data segments, or may be a predefined length, or may be a length configured by the network side device.
  • the coding block includes four first data segments, which are respectively P1, P2, P3, and P4. Among them, the data segment P2 has the longest length. Therefore, The data segments P1, P3, and P4 are all padded with 0 to the length of the data segment P2. Then, the data segments after adding zeros are respectively subjected to network coding to generate network coded data segments X1, X2, X3, and X4.
  • the first position of each first data segment in the coding block may be aligned, and then the aligned part of each first data segment may be network-encoded.
  • the data segments P1, P2, P3, and P4 are divided to obtain three aligned parts, and one aligned part includes at least one data segment.
  • the first alignment part includes four data segments, namely X1, X2, X3, X4, and the length of the alignment part is the length of the data segment P4;
  • the second alignment part includes three data segments, respectively X5 , X6, X7, the length of the alignment part is the length of the data segment P1 or P3 minus the length of the data segment P4;
  • the third alignment part includes a data segment, X8, the length of the alignment part is the data segment The length of P2 minus the length of the data segment P1 or P3.
  • network coding is performed on the data segments included in each alignment part respectively, and network coding is performed on the four data segments included in the first alignment part as an example.
  • Multiply the four data segments X1, X2, X3, and X4 contained in the first alignment part by the coefficients gi1, gi2, gi3, and gi4 respectively for weighted combination, i 1, 2, 3, 4, that is, four Code segments C11, C12, C13, C14, the four code segments can satisfy the following formula:
  • network coding is performed according to the three data segments contained in the second alignment part, and three coding segments C21, C22, C23 can be obtained respectively, and network coding is performed according to a data segment contained in the third alignment part. Get the code segment C31.
  • the foregoing one code segment can be used as a first network coded data segment, or two code segments C11 and C21 can also be concatenated together as a first network coded data segment.
  • the coefficients corresponding to the segments are the same, they are all [g11g12g13g14], so [g11g12g13g14] is used as the coding coefficient vector of the first network coded data segment.
  • the three coding segments C12, C22 and C31 can be concatenated together As a first network coded data segment, the coefficients corresponding to the three coded segments are the same, and they are all [g21g22g23g24], so [g21g22g23g24] is used as the coding coefficient vector of the first network coded data segment.
  • the two coded segments C13 and C23 can be concatenated together as a first network coded data segment, and C14 can be used as a first network coded data segment, which will not be repeated here.
  • part of the data segments in the coding block can be shifted to the first position (that is, the first position is not aligned, but some data segments are aligned with each other), and then the alignment part of each first data segment can be shifted.
  • Network coding As shown in FIG. 3c, after the first data segment P4 is shifted, the data segments P1, P2, P3, and P4 are divided to obtain three alignment parts, and one alignment part includes at least one data segment.
  • the first alignment part includes three data segments, namely X1, X2, and X3;
  • the second alignment part includes three data segments, namely X5, X6, and X7;
  • the third alignment part includes two data segments , For X8 and X4.
  • the network coding parameters may include coefficient indication information corresponding to the first network coded data segment, where the coefficient indication information may include the coding coefficient vector corresponding to the first network coded data segment, or can indicate the corresponding coding coefficient vector Index information, where the coding coefficient vector can be a codeword in the codebook, and the corresponding coding coefficient vector can be indicated by the index information of the codeword in the codebook.
  • the network coding parameter may also include identification information (for example: block ID) of the coding block corresponding to the first network coding data segment. Further optionally, the network coding parameters may also include, but are not limited to: identification information (for example: packet ID) of the first network coding data segment in the corresponding coding block, and the corresponding first network coding data segment The number of the first data segment included in the coding block (for example, the value of M above). Optionally, the network coding parameter may also include size or length indication information of the first network coding data segment, etc.
  • the first device generates the first CRC information corresponding to the first network coded data segment for each first network coded data segment of the N first network coded data segments, that is, a first network
  • the coded data segment corresponds to a piece of first CRC information.
  • the first CRC information may be calculated according to the first network coded data segment, that is, the first CRC information covers the first network coded data segment, and the first CRC information is used to encode the first network Data segmentation is verified.
  • the first CRC information may be calculated according to the first network coded data segment and the network coding parameter corresponding to the first network coded data segment, that is, the first network coded data segment and the corresponding network coding parameter If the first CRC information is added as a whole, the first CRC information covers the first network coded data segment and the network coding parameters corresponding to the first network coded data segment, and the first CRC information is used to encode the first network data The segmentation and the network coding parameters corresponding to the first network coding data segment are verified.
  • first network coded data segment is carried by a CB, and one CB contains one or more first network coded data segments
  • one piece of first CRC information may be generated for one CB.
  • the first CRC information may be calculated according to one or more first network coded data segments contained in the CB, that is, the first CRC information covers one or more first network codes contained in the CB Data segmentation, where the first CRC information is used to verify one or more first network coded data segments contained in the CB.
  • the first CRC information may be calculated based on one or more first network coded data segments contained in the CB and the data contained in the code block header corresponding to the CB, and the code block header includes the one or more code block headers.
  • the first CRC information covers one or more first network coded data segments contained in the CB and network coding parameters corresponding to each first network coded data segment, and the first CRC information is used to compare one or more of the first network coded data segments contained in the CB
  • the first network coded data segment and the network coding parameters corresponding to each first network coded data segment are checked.
  • code block header For the description of the code block header, reference may be made to the description of the subsequent embodiments, and will not be repeated for the time being.
  • the first data unit may be a TB or CB of the physical layer, or may also be a PDU of another protocol layer besides the physical layer.
  • one first data unit may include one or more first network coded data segments. It is understandable that N first network coded data segments obtained by performing network coding on M first data segments may be distributed In one or more first data units.
  • the first data unit is a PDU.
  • the first device divides the one or more first network coded data segments, the network coding parameters corresponding to each first network coded data segment in the one or more first network coded data segments, and the one or more first network coded data segments.
  • the first CRC information corresponding to each first network coded data segment in the network coded data segment generates a PDU.
  • the protocol layer with the network coding function in the first device outputs the generated PDU to the next layer.
  • the PDU format in the embodiment of the present application may include multiple types. The following describes the PDU format as an example with reference to FIG. 4a to FIG. 4f.
  • the PDU includes a protocol header part (for example: header), a network coded data part (for example: coded packet), and a check bit CRC part.
  • the protocol header part includes the network coding parameters corresponding to the first network coding data segment.
  • the network coded data part includes a first network coded data segment
  • the check bit part includes the first CRC information corresponding to the first network coded data segment.
  • the first CRC information may cover the network coded data part, that is, the first CRC information is calculated based on the first network coded data segmentation, or the first CRC information may cover the network coded data part and the protocol header. Part, that is, the first CRC information is calculated according to the first network coded data segment and the network coding parameters corresponding to the first network coded data segment.
  • the PDU includes a protocol header, at least one subheader, at least one coded packet, and at least one check bit CRC part.
  • the protocol header includes number indication information, and the number indication information is used to indicate the number of the first network coded data segments contained in the PDU.
  • a network coded data part includes a first network coded data segment
  • a sub-header part includes a network coding parameter corresponding to the first network coded data segment
  • a check bit part includes a first CRC information.
  • the arrangement of each part can have many kinds, and the following takes Fig. 4b and Fig. 4c as examples for illustration.
  • a sub-header part is concatenated with a corresponding network coded data part, and a network coded data part is concatenated with a corresponding check bit part.
  • the sub-header part 1 includes the network coding parameters corresponding to the network coded data segment 1, the network coded data part 1 concatenated after the sub-header part 1 includes the network coded data segment 1, and the network coded data part 1 is followed by the string
  • the connected check bit part CRC1 includes the first CRC information corresponding to segment 1 of the network coded data.
  • the first CRC information contained in the check bit part in FIG. 4b can cover the first network coded data segment contained in the corresponding network coded data part, or it can also cover the first network coded data segment contained in the corresponding network coded data part.
  • the first network coding data segment and the network coding parameters contained in the corresponding sub-header part can cover the first network coded data segment contained in the network coded data segment 1, or can cover the first network coded data segment and subsections contained in the network coded data segment 1.
  • the first part 1 contains the network coding parameters.
  • the sub-header part 1 includes the network coding parameters corresponding to the network coding data segment 1
  • the sub-header part 2 concatenated after the sub-header part includes the network coding parameters corresponding to the network coding data segment 2.
  • the network coded data part 1 includes the network coded data segment 1 corresponding to the subheader part 1, and the check bit part CRC1 concatenated after the network coded data part 1 includes the first CRC information corresponding to the network coded data segment 1.
  • the network coded data part 2 includes the network coded data segment 2 corresponding to the subheader part 2, and the check bit part CRC2 concatenated after the network coded data part 2 includes the first CRC information corresponding to the network coded data segment 2. It is understandable that the content contained in each part is only an example. The order of the content contained in the sub-header part and the order of the content contained in the network coded data part may be different.
  • the network coded data part 1 may include the network coded data corresponding to the sub-header part 2. Segment 2.
  • the first CRC information contained in the check bit part in FIG. 4c can cover the first network coded data segment contained in the corresponding network coded data part, or it can also cover the first network coded data segment contained in the corresponding network coded data part.
  • the first network coding data segment and the network coding parameters contained in the corresponding sub-header part may cover the network coded data segment 1, or may cover the network coding parameters contained in the network coded data segment 1 and the sub-header part 1, which is not limited in the embodiment of the present application.
  • the PDU includes a protocol header, a data field, and a check bit CRC part.
  • the protocol header includes information such as the sequence number of the PDU, the length of the data field (bit/byte length) and other information
  • the data field contains the first network coded data segment and the network code corresponding to the first network coded data segment.
  • the parameter, the check bit part includes the first CRC information. It is understandable that the first CRC information may cover the first network coded data segment of the data domain, or the first CRC information may cover the first network coded data segment and network coding parameters of the data domain.
  • the PDU includes a protocol header and a data field.
  • the protocol header includes information such as PDU sequence number, data field length (bit/byte length) indication information, etc.
  • the data field includes the first network coded data segment and the network code corresponding to the first network coded data segment Parameters and first CRC information. It is understandable that the first CRC information may cover the first network coded data segment of the data domain, or the first CRC information may cover the first network coded data segment and network coding parameters of the data domain.
  • CRC information may also be added to the header or subheader of the protocol, and the CRC information covers the header or subheader of the protocol. ), used at the receiving end to detect whether the header or subheader of the protocol is transmitted correctly.
  • the first data unit may include a code block header, a code block, and a check bit part
  • the code block includes at least one first The network coded data is segmented
  • the check bit part includes the first CRC information corresponding to the code block.
  • the first CRC information may be generated according to at least one first network coded data contained in the code block, or the first CRC information may be generated according to at least one first network coded data contained in the code block The data segment and the data contained in the code block header are generated.
  • the code block header of a code block may include indication information corresponding to a first network coded data segment or multiple first network coded data segments carried in the code block, and the indication information includes but is not limited to: The number of the first network coded data segment included in the code block, the start and end position indication information of each first network coded data segment included in the code block, the size or length information of each first network coded data segment, and each first network coded data segment.
  • the first network coded data segment corresponds to the number indication information of the first original data segment included in the coded block, etc.
  • CRC information may also be added to the code block header separately, and the CRC information is used by the receiving end to detect whether the code block header is transmitted correctly.
  • outputting the first data unit can be understood as outputting the first data unit to the next layer of protocol for processing.
  • the first data unit may be output to the MAC layer for processing.
  • outputting the first data unit can be understood as performing code block segmentation, adding CRC, channel coding, and rate matching to the first data unit, and then performing code block concatenation, scrambling, After modulation, resource mapping and other operations are sent to the second device.
  • outputting the first data unit can be understood as performing operations such as channel coding and rate matching on the first data unit, and then performing code block concatenation, scrambling, modulation, resource mapping, etc. Send to the second device.
  • different processing may be performed according to the existence form of the first data unit, and then transmitted to the second device after processing.
  • the first data unit is a PDU
  • the first data unit is output to the lower layer protocol for processing until the physical layer.
  • the physical layer performs such as LDPC channel coding and rate matching, code block concatenation, scrambling, and modulation are performed.
  • operations such as, resource mapping, etc., form a sending signal and transmit it to the second device.
  • the first data unit is the physical layer TB, perform operations such as code block segmentation, CRC addition, channel coding, and rate matching on the first data unit, and then perform code block concatenation, scrambling, modulation, resource mapping and other operations before sending Give the second device.
  • the first data unit is a physical layer CB, after performing channel coding and rate matching on the first data unit, operations such as code block concatenation, scrambling, modulation, and resource mapping are performed and then sent to the second device.
  • the second device acquires a second data unit, where the second data unit includes a second network coded data segment, a network coding parameter corresponding to the second network coded data segment, and third CRC information.
  • the second device obtains the received signal, and after performing operations such as demodulation, descrambling, and channel decoding on the received signal, obtains the second data unit in the received signal.
  • the second data unit is of the same type as the first data unit in step S103 and step S102.
  • the first data unit is an RLC layer PDU
  • the second data unit is also an RLC layer PDU.
  • the first data unit is a physical layer data unit
  • the second data unit is also a physical layer data unit.
  • the second data unit may be different from the first data unit due to factors such as fading caused by channel noise or mobility or interference caused by other users.
  • the second data unit includes a second network coded data segment, network coding parameters corresponding to the second network coded data segment, and third CRC information.
  • the second network coded data segment and the first network coded data segment may be the same or different. If the second network coded data segment is different from the first network coded data segment, it means that the second network coded data segment has a transmission error. If the second network coded data segment is the same as the first network coded data segment, then It shows that the second network coded data is transmitted correctly in segments.
  • the network coding parameter corresponding to the second network coding data segment includes coding block identification information (block ID) corresponding to the second network coding data segment.
  • the protocol layer or protocol entity with the network coding function in the second device stores each second network coded data segment in the corresponding reception buffer according to the coding block identification information corresponding to each second network coded data segment CRC check is performed on all the second network coded data segments in the same code block, and the second network coded data segments with correct check are decoded.
  • CRC check is performed on all the second network coded data segments in the same code block, and the second network coded data segments with correct check are decoded.
  • the second device uses the third CRC information to check the second network coded data segment, and determines that the second network coded data segment is correctly transmitted according to the check result.
  • the third CRC information corresponding to the second network coded data segment may cover the second network coded data segment, or the third CRC information may cover the second network coded data segment and the second network coded data segment.
  • the network coding parameters corresponding to the network coding data segments are not limited in the embodiment of the present application.
  • the second device uses the third CRC information corresponding to the second network coded data segment for a second network coded data segment for the second network coded data Perform verification in segments to obtain a verification result.
  • the verification result indicates whether the second network coded data segment is transmitted correctly. If the second network coded data segment is transmitted correctly, then the second network coded data is segmented according to the The corresponding network coding parameter decodes the second network coding data segment.
  • the second device uses the second network coded data segment for a second network coded data segment.
  • the third CRC information corresponding to the segment verifies the second network coded data segment and the network coding parameters corresponding to the second network coded data segment to obtain a check result, which indicates the second network coded data Whether the segmentation and network coding parameters are transmitted correctly, if the transmission of the second network coding data segment and the network coding parameters are correct, the second network coding data segment is decoded according to the network coding parameters.
  • the code block includes at least one second network coded data segment
  • the third CRC information is CRC information corresponding to the code block.
  • the at least one second network coded data segment can be checked through the third CRC information to determine whether the at least one second network coded data segment included in the code block is transmitted correctly.
  • S106 The second device decodes the second network coded data segment according to the network coding parameter.
  • the second device decodes the network coding parameters corresponding to the correct L second network coded data segments from the N second network coded data segments corresponding to the same group of coded blocks, and L is greater than or equal to M , And a natural number less than or equal to N.
  • the rank of the coefficient matrix formed by the coding coefficient vectors corresponding to the L second network coding data segments is M.
  • the second data segment includes the second original data segment, that is, M pieces of decoded data.
  • the second data segment is the M second original data segment to be obtained.
  • the first data segment that the first device performs network encoding includes the first original data segment and the second CRC information
  • the second data segment includes the second original data segment and the fourth CRC information.
  • the second device uses the fourth CRC information to verify the second original data segment, and determines whether the second original data segment is transmitted correctly according to the check result, and the second device will transmit the correct second original data segment As the original data segment to be obtained.
  • the second device can obtain each code segment, for example, obtain code segments C11, C21, C31, C12, C22, C13, C23, and C14. Further according to the coding coefficient vector [gi1, gi2, gi3, gi4] and each code segment, each data segment can be decoded.
  • the second device obtains code segments C11, C12, C13, C14, and according to the coding coefficient vector [gi1, gi2, gi3, gi4] corresponding to each code segment, it can compose 4 equations about 4 unknowns, thereby translating
  • the code gets the data segments X1, X2, X3, and X4.
  • each second original data segment is obtained.
  • FIGS. 5 to 7 take a newly added protocol layer (network coding layer) between the PDCP layer and the RLC layer as an example for illustration, and the network coding layer has a network coding function.
  • the first device is referred to as the transmitting end
  • the second device is referred to as the receiving end.
  • the first original data segment and the second original data segment are collectively referred to as original data segments
  • the first network coded data segment and the second network coded data segment are collectively referred to as network coded data segments
  • the second CRC information, the third CRC information, and the fourth CRC information are collectively referred to as CRC information.
  • the sending end performs network coding on the original data segment to obtain the network coded data segment, and then adds CRC information to the obtained network coded data segment.
  • the original data segment after adding the CRC information is network-encoded to obtain the network-encoded data segment, and then the obtained network-encoded data segment is segmented Add CRC information again.
  • the network coded data segment is carried by PDU.
  • the network coded data segment is carried by the CB of the physical layer.
  • the network coding layer of the sender receives the PDCP PDU transmitted by the upper PDCP layer.
  • the network coding layer can use multiple PDCP PDUs as a set of coding blocks, or one PDCP PDU can be used as a set of coding blocks, or according to the preset
  • the defined rules or semi-statically configured rules take out PDCP PDUs of corresponding size or length as a set of coding blocks.
  • a set of coding blocks may contain a non-integer number of PDCP PDUs.
  • the bit sequence of a set of coding blocks follows a predefined rule or half.
  • the statically configured rules are divided to obtain multiple original data segments.
  • the rules may include: the total number of bits contained in a group of code blocks, the number of original data segments contained in a group of code blocks, and the number of original data segments contained in a group of code blocks. Information such as the size or size limit of the number of bits.
  • the predefined rule may be that the number of original data segments contained in a set of coded blocks is 2, and the number of bits of one original data segment is 500 bytes. If the size of the PDCP PDU received by the network coding layer is 1000 bytes, one PDCP PDU forms a set of coding blocks, and the PDCP PDU is divided to obtain two original data segments, namely X 1 and X 2 .
  • the network coding rules can be predefined or semi-statically configured.
  • the network coding rules include information such as network coding method and network coding GF domain size.
  • the network coding method can be random linear network coding, or deterministic linear network coding, or BATS code, or erasure code (erasure code), or fountain code (fountain code), or convolutional network coding, or stream coding (for example: streaming coding) and so on.
  • the predefined network coding rule is random linear network coding
  • the network coding GF field size is configured as GF(4)
  • random linear network coding is performed on the two original data segments X 1 and X 2 obtained above to generate 3
  • the three network coded data segments are represented by Y 1 Y 2 Y 3 respectively, where Y 1 Y 2 Y 3 satisfies the formula:
  • the PDU includes a protocol header part H, a network coding data part and a check bit part CRC.
  • the protocol header part includes network coding parameters
  • the check bit part includes CRC information
  • the network coded data part includes network coded data segments.
  • the multiple existence forms of the PDU can be referred to the description of the foregoing embodiment, which will not be repeated here.
  • the CRC information may cover network coded data segments, or may cover network coded data segments and network coding parameters.
  • the network coded data is sent to the receiving end in segments through the TB of the physical layer. It is understandable that the network coded data segments of the same code block can be sent via one TB, or can be sent via different TBs.
  • the receiving physical layer sends all the received information bit sequence to the upper MAC layer.
  • the MAC layer submits the parsed RLC PDU to the upper layer, and the RLC layer submits the parsed network coding layer PDU to the network coding layer. That is, the MAC layer may not perform a CRC check on the TB, or the MAC layer may perform a CRC check on the TB, but even if an error in the TB is found, the PDU is delivered to the upper layer.
  • the receiving end network coding layer will receive all network coding layer PDUs sent by the sending end network coding layer.
  • the network coding layer PDU contains the network coding data segment, the network coding parameters corresponding to the network coding data segment, and the network coding data segment. CRC information corresponding to the segment.
  • the receiving end network coding layer saves the network coding layer PDU in the corresponding reception buffer according to the coding block ID indicated by the network coding parameter in each network coding layer PDU.
  • the corresponding network coding data segment is further CRC checked according to the CRC information. Obtain the network coded data segment with correct CRC check, decode it according to its corresponding network code parameter, and obtain the original data segment.
  • the receiving end network coding layer receives the network coding parameters sent by the bottom layer.
  • Y 1 Y 2 Y 3 and Y 1 Y 2 Y 3 of the CRC information respectively perform CRC check on Y 1 Y 2 Y 3. Due to the influence of channel factors, such as channel noise or fading caused by mobility or interference caused by other users, Y 1 Y 2 Y 3 may have some transmission errors, that is, CRC check error.
  • Y 1 and Y encoding coefficient vector and 1 g 3 g 3 together may form a, X 2 a binary linear equations on the unknowns X 1, this binary linear equation satisfies a formula:
  • the receiving end can use the coefficient matrix to decode to obtain M original data segments.
  • the network coding layer at the sender obtains multiple original data segments.
  • the method for obtaining the original data segmentation can refer to the description of the embodiment in FIG. 5, which will not be repeated here.
  • the CRC information is calculated based on the original data segment, that is, the CRC information is used to segment the original data Perform verification.
  • Network coding is performed on multiple original data segments to which CRC information is added to generate at least one network coded data segment. For each network coded data segment, generate the CRC information corresponding to the network coded data segment, that is, one network coded data segment corresponds to a CRC information, and the CRC information is calculated according to the network coded data segment, that is, the CRC The information is used to verify the network coded data segment. Furthermore, according to the network coding data segmentation, a network coding layer PDU is generated and sent to the receiving end.
  • the network coding layer PDU includes a network coding data segment, a network coding parameter corresponding to the network coding data segment, and the network coding data segment Corresponding CRC information.
  • the network coding mode and the network coding layer PDU transmission mode please refer to the description of the embodiment in FIG. 5, which will not be repeated here.
  • the receiving physical layer sends all the received information bit sequence to the upper MAC layer.
  • the MAC layer submits the parsed RLC PDU to the upper layer, and the RLC layer submits the parsed network coding layer PDU to the network coding layer. That is, the MAC layer may not perform a CRC check on the TB, or the MAC layer may perform a CRC check on the TB, but even if an error in the TB is found, the PDU obtained by the analysis is delivered to the upper layer.
  • the network coding layer at the receiving end will receive all network coding layer PDUs sent by the network coding layer at the sending end.
  • the network coding layer PDU contains network coding data segments, network coding parameters corresponding to the network coding data segments, and network coding data segment correspondences. CRC information.
  • the receiving end network coding layer saves the network coding layer PDU in the corresponding reception buffer according to the coding block ID indicated by the network coding parameter in each network coding layer PDU.
  • the corresponding network coding data segment is further CRC checked according to the CRC information. Obtain the network coded data segment with correct CRC check, decode it according to its corresponding network code parameter, and obtain the original data segment containing CRC information.
  • the method of decoding according to the network code parameter please refer to the embodiment in Figure 5 The description of, I won’t repeat it here.
  • the CRC information is used to perform a CRC check on the corresponding original data segment to obtain the original data segment with correct CRC check.
  • the network coding layer at the transmitting end sends network coded data segments to the physical layer, and the network coded data segments are sent to the receiving end through the TB of the physical layer.
  • the physical layer of the transmitting end performs code block segmentation on the TB to obtain multiple code blocks CB.
  • the size of one CB may be the size of one network coded data segment or the size of several network coded data segments. All CBs in a TB may be of unequal length or equal length, which is not limited in the embodiment of the present application.
  • the code block header includes the number of network coded data segments carried in the CB, and may also include the start of each network coded data segment carried in the CB Position and/or cut-off position indication information, size or length information of each network coded data segment, code block identification information (block ID) corresponding to each network coded data segment, and the number of network coded data segments in the corresponding code block Identification information (packet ID), coefficient indication information for generating the network coded data segment, indication information about the number of original data segments contained in the coding block corresponding to the network coded data segment, etc.
  • the CRC information may cover the data part of the CB, or the CRC information may cover the code block header corresponding to the CB and the data part of the CB.
  • CRC information can also be added separately to the code block header of the CB.
  • the physical layer of the receiving end performs a CRC check on each CB in the TB, analyzes the corresponding code block header of the CB with the correct CRC check, and further extracts all the network coded data segments contained in the CB with the correct CRC check to the upper layer submit.
  • the network coding layer receives the network coding data segment and the network coding parameters corresponding to the network coding data segment.
  • the network coding data is segmented and stored in the corresponding reception buffer.
  • the network coded data segment stored in a set of coded blocks is decoded to obtain the original data segment.
  • the network coded data segment please refer to Figure 5. The description of the embodiment will not be repeated here.
  • FIG. 8 is a schematic flowchart of another data transmission method provided by an embodiment of this application.
  • the method includes but is not limited to the following steps:
  • S200 The first device generates fifth CRC information according to the third original data segment.
  • S201 Perform network coding according to the third original data segment and the fifth CRC information to obtain a third network coded data segment.
  • the first device generates the fifth CRC information corresponding to each third original data segment for each third original data segment, that is, one third original data segment corresponds to one fifth CRC information, and Add fifth CRC information to the third original data segment.
  • the fifth CRC information may be calculated according to the third original data segment, that is, the fifth CRC information covers the third original data segment, and the fifth CRC information is used to divide the third original data. Segment for verification.
  • the first device may perform network coding on at least one third original data segment added with fifth CRC information to obtain at least one third network coded data segment.
  • the at least one third original data segment may be a data segment belonging to the same coding block.
  • a protocol layer or protocol entity with a network coding function divides the data to be sent into multiple sets of coding blocks, and one set of coding blocks contains at least two third original data segments.
  • Each group of coding blocks can be distinguished by their own identification information, such as block ID.
  • the data to be sent can be one or more PDUs sent by the upper layer protocol, or it can be one or more SDUs or SDU segments of the protocol layer, or it can be a TB or CB at the physical layer.
  • This application implements The examples are not limited.
  • each third original data segment in a group of coding blocks may be the same or different.
  • the network-side device may limit or semi-statically configure the size (number of bits or bytes) of the third original data segment, and may also obtain the third original data segment in a predefined manner, for example, the first A device sequentially takes data bits of 1000 bytes at a time as a third original data segment.
  • a CB can be used as a third original data segment.
  • M can also be predefined
  • the size, such as M 8.
  • the size of M can also be determined by the sending end, but the receiving end must be notified of the size of M.
  • the first device may respectively generate fifth CRC information corresponding to the third original data segment for each third original data segment of the M third original data segments, and provide the third original data
  • the generated fifth CRC information is added in segments, and a total of M third original data segments to which the fifth CRC information is added can be obtained.
  • the network coding method used in the network coding of the embodiment of the present application is predefined or semi-statically configured.
  • the network coding method may include but is not limited to one of the following methods: random linear network coding , Determine the linear network coding, BATS code, erasure code, fountain code, convolutional network coding and streaming coding (for example: streaming coding) and so on.
  • the bit sequence of all the third original data segments can be supplemented to the maximum length of the M third original data segments by adding zeros. , And then generate fifth CRC information for each third original data segment, and further perform network coding on M third original data segments to which the fifth CRC information is added.
  • the network coding parameter may include coefficient indication information corresponding to the third network coded data segment, where the coefficient indication information may include the coding coefficient vector corresponding to the third network coded data segment, or can indicate the corresponding coding coefficient vector Index information, where the coding coefficient vector can be a codeword in the codebook, and the corresponding coding coefficient vector can be indicated by the index information of the codeword in the codebook.
  • the network coding parameter may also include identification information (for example: block ID) of the coding block corresponding to the third network coding data segment. Further optionally, the network coding parameters may also include identification information (for example: packet ID) of the third network coding data segment in the corresponding coding block, and the coding block corresponding to the third network coding data segment The number of the included third original data segment (for example, the value of M). Optionally, the network coding parameter may also include the length or size indication information of the third network coding data segment.
  • S202 Generate a third data unit according to the third network coding data segment, where the third data unit includes a network coding parameter corresponding to the third network coding data segment.
  • the protocol layer or protocol entity of the first device having the network coding function composes one or more third network coding data segments and corresponding network coding parameters into a third data unit and sends it to the next layer.
  • the N third network coded data segments obtained by performing network coding on the M third original segments to which the fifth CRC information is added may be distributed in one or more third data units.
  • the third data unit may be a TB or CB of the physical layer, or may also be a PDU of another protocol layer besides the physical layer.
  • the PDU format in the embodiment of the present application may include multiple types. The following describes the PDU format as an example with reference to FIG. 9a to FIG. 9d.
  • the PDU includes a protocol header part (for example: header) and a network coded data part (for example: coded packet).
  • the protocol header part includes the network coding parameters corresponding to the third network coding data segment.
  • the network coded data part includes a third network coded data segment.
  • the PDU includes a protocol header, at least one subheader, and at least one coded packet.
  • the protocol header part includes number indication information, and the number indication information is used to indicate the number of third network coded data segments contained in the PDU.
  • a network coding data part includes a third network coding data segment, and a sub-header part includes a network coding parameter corresponding to the third network coding data segment.
  • the arrangement of each part can have many kinds, and the following takes Fig. 9b and Fig. 9c as examples for illustration.
  • a sub-header part is concatenated with the corresponding network coded data part.
  • the sub-header part 1 includes the network coding parameters corresponding to the network coded data segment 1, and the network coded data part 1 concatenated after the sub-header part 1 includes the network coded data segment 1.
  • the sub-header part 2 includes network coding parameters corresponding to the network coded data segment 2, and the network coded data part 2 concatenated after the sub-header part 2 includes the network coded data segment 2.
  • network coded data segment 1 and network coded data segment 2 may be obtained by network coding M third original data segments with fifth CRC information added.
  • network coded data segment 1 and network coded data segment 2 may be obtained by network coding M third original data segments with fifth CRC information added.
  • the sub-header part 1 includes the network coding parameters corresponding to the network coding data segment 1
  • the sub-header part 2 concatenated after the sub-header part includes the network coding parameters corresponding to the network coding data segment 2.
  • the network coded data part 1 includes the network coded data segment 1 corresponding to the subheader part 1.
  • the network coded data part 2 includes a network coded data segment 2 corresponding to the subheader part 2. It is understandable that the content contained in each part is only an example. The order of the content contained in the sub-header part and the order of the content contained in the network coded data part may be different.
  • the network coded data part 1 may include the network coded data corresponding to the sub-header part 2. Segment 2.
  • the PDU includes a protocol header and a data field.
  • the protocol header includes information such as the sequence number of the PDU, the length of the data field (bit/byte length) and other information
  • the data field contains the third network coded data segment and the network code corresponding to the third network coded data segment. parameter.
  • network coding parameters please refer to the description of the foregoing embodiment, which will not be repeated here.
  • the third network coded data segment may be obtained by performing network coding on M third original data segments added with fifth CRC information.
  • a CRC check bit may also be added to the header or subheader of the protocol, and the CRC check bit covers the header or subheader of the protocol.
  • the subheader is used for the receiving end to detect whether the header or subheader of the protocol is transmitted correctly.
  • the third data unit can be output to the next layer of protocol for processing.
  • the third data unit may be output to the MAC layer for processing, up to the physical layer.
  • the physical layer transmits the third data unit to the second device through the TB.
  • the physical layer performs low-density parity check (LDPC) channel coding and rate matching on the third data unit, and then performs operations such as code block concatenation, scrambling, modulation, and resource mapping. , Forming a sending signal and sending it to the second device.
  • LDPC low-density parity check
  • the second device acquires a fourth data unit, where the fourth data unit includes a fourth network coding data segment and a network coding parameter corresponding to the fourth network coding data segment.
  • the second device obtains the received signal, and after performing operations such as demodulation, descrambling, and channel decoding on the received signal, obtains the fourth data unit in the received signal.
  • the second data unit is of the same type as the third data unit in step S202 and step S203.
  • the third data unit is a physical layer data unit
  • the fourth data unit is also a physical layer data unit.
  • the fourth data unit may be different from the third data unit due to factors such as fading caused by channel noise or mobility or interference caused by other users.
  • the fourth data unit includes a fourth network coded data segment, and network coding parameters corresponding to the fourth network coded data segment.
  • the fourth network coded data segment and the third network coded data segment may be the same or different. If the fourth network coded data segment is different from the third network coded data segment, it means that the fourth network coded data segment has a transmission error. If the fourth network coded data segment is the same as the third network coded data segment, then It shows that the fourth network coded data is transmitted correctly in segments. In the embodiment of the present application, regardless of whether the fourth network coded data segment is transmitted correctly, step S205 is executed, that is, the fourth network coded data segment is decoded.
  • the network coding parameter corresponding to the fourth network coding data segment includes coding block identification information (block ID) corresponding to the fourth network coding data segment.
  • the protocol layer or protocol entity with the network coding function in the second device saves each fourth network coded data segment in the corresponding reception buffer according to the coding block identification information corresponding to each fourth network coded data segment , And decode all the fourth network coded data segments corresponding to the same code block according to the corresponding network coding parameters.
  • step S205 which will not be repeated here.
  • S205 The second device decodes the fourth network coded data segment according to the network coding parameter to obtain the fourth original data segment and the sixth CRC information.
  • the second device decodes the N fourth network coded data segments corresponding to the same group of coded blocks, for example, combines the coding coefficient vectors corresponding to the N fourth network coded data segments together.
  • the second device uses the sixth CRC information to check the fourth original data segment, and determines whether the fourth original data segment is transmitted correctly according to the check result.
  • the second device uses the sixth CRC information to check the fourth original data segments, and according to the calibration The verification result determines whether the transmission of the fourth original data segment is correct, and the second device will transmit the correct fourth original data segment as the original data segment to be obtained.
  • FIG. 8 takes a newly added protocol layer (network coding layer) between the PDCP layer and the RLC layer as an example for illustration, and the network coding layer has a network coding function.
  • the first device is referred to as the transmitting end
  • the second device is referred to as the receiving end.
  • the third original data segment and the fourth original data segment are collectively referred to as the original data segment
  • the third network coded data segment and the fourth network coded data segment are collectively referred to as the network coded data segment
  • the sixth CRC information is collectively referred to as CRC information.
  • the network coding layer of the transmitting end receives the PDCP PDU sent by the upper PDCP.
  • the network coding layer can use multiple PDCP PDUs as a set of coding blocks, or one PDCP PDU as a set of coding blocks, or according to the preset Defined rules or semi-statically configured rules take out PDCP PDUs of corresponding size or length as a set of coding blocks.
  • a set of coding blocks may contain a non-integer number of PDCP PDUs.
  • the bit sequence of a set of coding blocks follows a predefined rule or half.
  • the statically configured rules are divided to obtain multiple original data segments.
  • the rules may include: the total number of bits contained in a group of code blocks, the number of original data segments contained in a group of code blocks, and the number of original data segments contained in a group of code blocks. Information such as the size or size limit of the number of bits. For example, the predefined rule is that the number of original data segments contained in a set of coded blocks is 2, and the number of bits of one original data segment is 500 bytes. If the size of the PDCP PDU received by the network coding layer is 1000 bytes, one PDCP PDU forms a set of coding blocks, and the PDCP PDU is divided to obtain two original data segments.
  • the network coding rules can be pre-defined or semi-statically configured.
  • the network coding rules include information such as the network coding method and the size of the network coding GF domain.
  • the network coding method can be random linear network coding, or deterministic linear network coding, or BATS code, or erasure code (erasure code), or fountain code (fountain code), or convolutional network coding, or stream coding (for example: streaming coding) and so on.
  • the predefined network coding rule is random linear network coding
  • the network coding GF field size is configured as GF(4)
  • the two original data segments with CRC information added are X 1 and X 2 respectively
  • the two The original data segment is subjected to random linear network coding
  • 3 network coded data segments are generated.
  • the 3 network coded data segments are represented by Y 1 Y 2 Y 3 respectively, where Y 1 Y 2 Y 3 satisfies the formula Enter.
  • a network coding layer PDU is generated.
  • the PDU For multiple existence forms of the PDU, reference may be made to the description of the foregoing embodiment, which will not be repeated here.
  • the network coded data is sent to the receiving end in segments through the TB of the physical layer. It is understandable that the network coded data segments of the same code block can be sent via one TB, or can be sent via different TBs.
  • the receiving physical layer sends all the received information bit sequence to the upper MAC layer.
  • the MAC layer submits the parsed RLC PDU to the upper layer, and the RLC layer submits the parsed network coding layer PDU to the network coding layer. That is, the MAC layer may not perform a CRC check on the TB, or the MAC layer may perform a CRC check on the TB, but even if an error in the TB is found, the PDU is delivered to the upper layer.
  • the network coding layer at the receiving end will receive all network coding layer PDUs sent by the network coding layer at the transmitting end, and the network coding layer PDUs include network coding data segments and network coding parameters corresponding to the network coding data segments.
  • the network coding layer at the receiving end saves the network coding layer PDU in the corresponding reception buffer according to the coding block ID indicated by the network coding parameter in each network coding layer PDU, and in the same coding block according to the corresponding network coding parameters All the network coded data segments are decoded to obtain the original data segment containing CRC information.
  • the CRC information is further used to perform CRC check on the original data segment to obtain the original data segment with correct CRC check.
  • the receiving end network coding layer receives the same coding block sent by the bottom layer.
  • the network coded data segment Y 1 Y 2 Y 3 .
  • the network coding parameter indication corresponding to each of the network coding data segments, or according to a predefined network rule or according to an indication of configuration information, it is determined that there are two original data segments in the coding block.
  • the coding coefficient vectors g 1 , g 2 and g 3 indicated in the network coding parameters corresponding to each of Y 1 Y 2 Y 3 are combined together to form a binary linear equation system about the unknowns X 1 , X 2.
  • the elementary linear equation system satisfies the following formula:
  • Y 1 Y 2 Y 3 may be part of the transmission error of Y 1, Y 2 and Y 3 may be decoded to obtain more than one group X 1, X 2, obtained on X 1, X 2 Perform CRC check, take out X 1 , X 2 with correct CRC check, that is, obtain the original data segment.
  • FIG. 11 is a schematic block diagram of a communication device provided by an embodiment of the present application.
  • the communication device 1700 may include a processing unit 1710 and a communication unit 1720.
  • the processing unit 1710 and the communication unit 1720 may be software, hardware, or a combination of software and hardware.
  • the communication unit 1720 may include an input unit and/or an output unit, the output unit is used to realize the data unit output function, the input unit is used to realize the data unit input function, and the communication unit 1720 may realize the input function and/or output function.
  • the communication unit 1720 may also be described as an input and output unit.
  • the communication unit 1720 may be used to receive data units (or information) sent by other devices, and may also be used to send data units (or information) to other devices.
  • the processing unit 1720 can be used to perform internal processing of the device.
  • the communication device 1700 may correspond to the first device in the method embodiments of FIG. 2 to FIG. 7, and the communication device 1700 may be the first device or a chip in the first device.
  • the communication device 1700 may include a unit for performing the operations performed by the first device in the method embodiments of FIGS. 2 to 7 above, and each unit in the communication device 1700 is used to implement the methods of FIGS. 2 to 7 respectively. The operation performed by the first device in the embodiment.
  • the processing unit 1710 is configured to perform network coding according to the first data segment to obtain the first network coded data segment; according to the first network coded data segment, generate a first cyclic redundancy check CRC Information and a first data unit, the first data unit includes the network coding parameters corresponding to the first network coding data segment and the first CRC information, and the first CRC information is used to compare the first network
  • the coded data is checked in segments.
  • the communication unit 1720 outputs the first data unit.
  • the processing unit 1710 is configured to generate the first CRC information according to the first network coding data segmentation and the network coding parameters.
  • the first data segment includes a first original data segment; or the first data segment includes a first original data segment and second CRC information, and the second CRC information is used to The first original data is checked in segments.
  • the first data unit is a protocol data unit PDU, and the PDU includes a protocol header part, a network coded data part, and a check bit part;
  • the protocol header part includes the network coding parameters
  • the network coding data part includes the first network coding data segment
  • the check bit part includes the first CRC information.
  • the first data unit is a PDU
  • the PDU includes a protocol header part, at least one network coded data part, at least one sub-header part, and at least one check bit part;
  • the protocol header part includes number indication information, and the number indication information is used to indicate the number of the first network coded data segment included in the PDU;
  • One said network coding data part includes one said first network coding data segment, one said sub-header part includes a network coding parameter corresponding to one said first network coding data segment, and one said check bit part Including one piece of the first CRC information.
  • the first data unit is a PDU
  • the PDU includes a protocol header part, a data field part, and a check bit part
  • the protocol header part includes length indication information, and the length indication information is used to indicate the length of the data field part;
  • the data field part includes the network coding parameters and the first network coding data segment, and the check bit part includes the first CRC information.
  • the first data unit is a PDU, and the PDU includes a protocol header part and a data field part;
  • the protocol header part includes length indication information, and the length indication information is used to indicate the length of the data field part;
  • the data field part includes the network coding parameter, the first network coding data segment, and the first CRC information.
  • the first data unit includes a code block header, a code block, and a check bit part, and the code block includes at least one first network coded data segment;
  • the check bit part includes the first CRC information corresponding to the code block
  • the code block header includes one first network coded data segment or network coding parameters corresponding to multiple first network coded data segments in the at least one first network coded data segment.
  • processing unit 1710 is further configured to generate the first CRC information according to the at least one first network coded data segment; or,
  • the first CRC information is generated according to the at least one first network data segment and the data contained in the code block header.
  • the network coding parameters include one or more of the following multiple parameters: identification information of the coding block corresponding to the first network coding data segment, and information corresponding to the first network coding data segment Coefficient indication information, identification information of the first network coded data segment in the corresponding code block, or the number of the first data segment included in the code block corresponding to the first network coded data segment .
  • the PDU is one of the following multiple PDUs: media access control MAC layer PDU, radio link control RLC layer PDU, backhaul adaptation protocol BAP layer PDU, packet data convergence protocol PDCP layer PDU, Or the PDU of the protocol layer with network coding function.
  • the communication device 1700 may correspond to the second device in the method embodiments of FIGS. 2 to 7.
  • the communication device 1700 may be the second device or the chip in the second device.
  • the communication device 1700 may include a unit for performing the operations performed by the second device in the method embodiments of FIGS. 2 to 7, and each unit in the communication device 1700 is used to implement the methods of FIGS. 2 to 7 respectively. The operation performed by the second device in the embodiment.
  • the communication unit 1720 is configured to obtain a second data unit, the second data unit including a second network coded data segment, network coding parameters corresponding to the second network coded data segment, and third CRC information .
  • the processing unit 1710 is configured to use the third CRC information to verify the second network coded data segment, and determine the correct transmission of the second network coded data segment according to the check result; according to the network coding parameter Decoding the second network coded data segment.
  • the processing unit 1710 is further configured to use the third CRC information to verify the second network coded data segment and the network coding parameters, and determine the second network coded data segment according to the check result.
  • the segment and the network coding parameters are transmitted correctly.
  • the processing unit 1710 is further configured to decode the second network coded data segment according to the network coding parameters to obtain a second data segment, where the second data segment includes fourth CRC information and A second original data segment, and using the fourth CRC information to check the second original data segment, and determine whether the second original data segment is transmitted correctly according to the check result.
  • the communication device 1700 may correspond to the first device in the method embodiments of FIGS. 8-10, and the communication device 1700 may be the first device or a chip in the first device.
  • the communication device 1700 may include a unit for performing operations performed by the first device in the method embodiments of FIGS. 8 to 10, and each unit in the communication device 1700 is used to implement the methods of FIGS. 8 to 10 respectively. The operation performed by the first device in the embodiment.
  • the processing unit 1710 is configured to generate fifth CRC information according to the third original data segment; perform network coding according to the third original data segment and the fifth CRC information to obtain third network coded data Segmentation; generating a third data unit according to the third network coded data segment, the third data unit including the network coding parameter corresponding to the third network coded data segment.
  • the communication unit 1720 is used to output the third data unit.
  • the third data unit is a PDU, and the PDU includes a protocol header part and a network coded data part;
  • the protocol header part includes the network coding parameters
  • the network coding data part includes the third network coding data segment.
  • the third data unit is a PDU
  • the PDU includes a protocol header part, at least one network coded data part, and at least one sub-header part;
  • the protocol header part includes number indication information, and the number indication information is used to indicate the number of the third network coded data segments included in the PDU;
  • One said network coding data part includes one said third network coding data segment, and one said sub-header part includes a network coding parameter corresponding to one said third network coding data segment.
  • the third data unit is a PDU, and the PDU includes a protocol header part and a data field part;
  • the protocol header part includes length indication information, and the length indication information is used to indicate the length of the data field part;
  • the data domain part includes the third network coding data segment and the network coding parameters.
  • the communication device 1700 may correspond to the second device in the method embodiments of FIG. 8 to FIG. 10.
  • the communication device 1700 may be the second device or the chip in the second device.
  • the communication device 1700 may include a unit for performing operations performed by the second device in the method embodiments of FIGS. 8 to 10, and each unit in the communication device 1700 is used to implement the methods of FIGS. 8 to 10 respectively. The operation performed by the second device in the embodiment.
  • the communication unit 1720 is configured to obtain a fourth data unit, where the fourth data unit includes a fourth network coding data segment and a network coding parameter corresponding to the fourth network coding data segment.
  • the processing unit 1710 is configured to decode the fourth network coded data segment according to the network coding parameters to obtain the fourth original data segment and the sixth CRC information; use the sixth CRC information to perform the The four original data segments are checked, and according to the check result, it is determined whether the fourth original data segment is transmitted correctly.
  • the communication unit 1720 in the communication device 1700 may correspond to the transceiver 2020 in the terminal device 2000 shown in FIG. 12, and the processing unit 1710 in the communication device 1700 may correspond to The processor 2010 in the terminal device 2000 is shown in FIG. 12.
  • the communication unit 1720 in the communication device 1700 may be an input/output interface.
  • the communication unit 1720 in the communication device 1700 may correspond to the communication interface 3010 shown in FIG.
  • the unit 1710 may correspond to the processor 3020 shown in FIG. 13.
  • FIG. 12 is a schematic structural diagram of a terminal device 2000 provided by an embodiment of the present application.
  • the terminal device 2000 can be applied to the system shown in FIG. 1b to perform the functions of the terminal device (or UE) in the foregoing method embodiment.
  • the terminal device 2000 includes a processor 2010 and a transceiver 2020.
  • the terminal device 2000 further includes a memory 2030.
  • the processor 2010, the transceiver 2002, and the memory 2030 can communicate with each other through internal connection paths to transfer control or data signals.
  • the memory 2030 is used to store computer programs, and the processor 2010 is used to call and transfer from the memory 2030. Run the computer program to control the transceiver 2020 to send and receive signals.
  • the terminal device 2000 may further include an antenna 2040 for transmitting the uplink data or uplink control signaling output by the transceiver 2020 through a wireless signal.
  • the above-mentioned processor 2010 and the memory 2030 may be combined into a processing device, and the processor 2010 is configured to execute the program code stored in the memory 2030 to realize the above-mentioned functions.
  • the memory 2030 may also be integrated in the processor 2010 or independent of the processor 2010.
  • the processor 2010 may correspond to the processing unit in FIG. 11.
  • the above-mentioned transceiver 2020 may correspond to the communication unit in FIG. 11.
  • the transceiver 2020 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). Among them, the receiver is used to receive signals, and the transmitter is used to transmit signals.
  • the terminal device 2000 shown in FIG. 12 can implement each process involving the first device or the second device in any method embodiment of the foregoing method embodiments.
  • the operation or function of each module in the terminal device 2000 is to implement the corresponding process in the foregoing method embodiment.
  • the above-mentioned processor 2010 can be used to execute the actions implemented by the first device or the second device described in the previous method embodiments, and the transceiver 2020 can be used to execute the first device or the second device described in the previous method embodiments The action of outputting or obtaining a data unit.
  • the transceiver 2020 can be used to execute the first device or the second device described in the previous method embodiments The action of outputting or obtaining a data unit.
  • the aforementioned terminal device 2000 may further include a power supply 2050 for providing power to various devices or circuits in the terminal device.
  • the terminal device 2000 may also include one or more of an input unit 2060, a display unit 2070, an audio circuit 2080, a camera 2090, and a sensor 2100.
  • the audio circuit It may also include a speaker 2082, a microphone 2084, and so on.
  • FIG. 13 is a schematic structural diagram of a communication device according to an embodiment of the present application. It should be understood that the communication device 3000 shown in FIG. 13 is only an example, and the communication device in the embodiment of the present application may further include other modules or units, or include modules with similar functions to the modules in FIG. All modules in 13.
  • the communication device 3000 includes a communication interface 3010 and at least one processor 3020.
  • the communication device 1900 may correspond to any network element among a session management network element, a mobility management network element, a terminal device, an access network device, and a network device.
  • At least one processor 3020 executes program instructions, so that the communication apparatus 1900 implements the corresponding process of the method executed by the first device or the second device in the foregoing method embodiment.
  • the communication device 3000 may further include a memory.
  • the memory can store program instructions, and at least one processor 3020 can read the program instructions stored in the memory and execute the program instructions.
  • the communication device may be a chip or a chip system
  • the chip 900 shown in FIG. 14 includes a processor 901 and an interface 902.
  • the number of processors 901 may be one or more, and the number of interfaces 902 may be multiple.
  • the respective functions of the processor 901 and the interface 902 may be implemented through hardware design, may also be implemented through software design, or may be implemented through a combination of software and hardware, which is not limited here.
  • the processor 901 is configured to perform network coding according to the first data segment to obtain the first network coded data segment; According to the first network coded data segment, a first cyclic redundancy code check CRC information and a first data unit are generated, and the first data unit includes the network coding parameters corresponding to the first network coded data segment and The first CRC information, the first CRC information is used to check the first network coded data segment.
  • the interface 902 is used to output the first data unit.
  • the chip further includes a memory 903, and the memory 903 is used to store program instructions and data necessary for the first device.
  • the interface 902 is used to obtain a second data unit, and the second data unit includes a second network coded data segment, and the second network coded data Network coding parameters and third CRC information corresponding to the segment.
  • the processor 901 is configured to use the third CRC information to check the second network coded data segment, and determine according to the check result that the second network coded data segment is transmitted correctly;
  • the second network coded data is decoded in segments.
  • the chip further includes a memory 903, and the memory 903 is used to store necessary program instructions and data for the second device.
  • the processor in the embodiment of the present application may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), and application specific integrated circuits (application specific integrated circuits). integrated circuit, ASIC), ready-made programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the present application also provides a computer program product, the computer program product includes: computer program code, when the computer program code runs on a computer, the computer executes any of the foregoing method embodiments The method on the first device side or the method on the second device side.
  • a communication system in another embodiment of the present application, includes a first device and a second device.
  • the first device may be the first device provided in FIG. 2 to FIG. 7 or FIG. 8 to FIG. 10, and is used to execute the data transmission method provided in FIG. 2 to FIG. 7 or FIG. 8 to FIG. Steps of a device; and/or, the second device may be the second device provided in FIG. 2 to FIG. 7 or FIG. 8 to FIG. 10, and is used to perform the steps provided in FIG. 2 to FIG. 7 or FIG. The step of the second device in the data transmission method.
  • An embodiment of the present application also provides a processing device, including a processor and an interface; the processor is configured to execute the method in any of the foregoing method embodiments.
  • the aforementioned processing device may be a chip.
  • the processing device may be a field programmable gate array (FPGA), a general-purpose processor, a digital signal processor (digital signal processor, DSP), or an application specific integrated circuit (ASIC) , Ready-made programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, or system on chip (SoC), or central processing
  • the central processor unit (CPU) can also be a network processor (NP), a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (microcontroller unit, MCU) It can also be a programmable logic device (PLD) or other integrated chips.
  • NP network processor
  • DSP digital signal processor
  • MCU microcontroller unit
  • PLD programmable logic device
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electrically available Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • static random access memory static random access memory
  • dynamic RAM dynamic RAM
  • DRAM dynamic random access memory
  • synchronous dynamic random access memory synchronous DRAM, SDRAM
  • double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • synchronous connection dynamic random access memory serial DRAM, SLDRAM
  • direct rambus RAM direct rambus RAM
  • the computer may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state disk (solid state disc), SSD)) etc.
  • the first device in each of the above device embodiments corresponds to the first device or the second device in the second device and method embodiment, and the corresponding module or unit executes the corresponding steps, for example, the communication unit (transceiver) executes the method implementation In the example of receiving or sending steps, other steps except sending and receiving can be executed by the processing unit (processor).
  • the processing unit processor
  • the functions of specific units refer to the corresponding method embodiments. Among them, there may be one or more processors.
  • a component may be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program, or a computer running on the processor.
  • the application running on the computing device and the computing device can be components.
  • One or more components can reside in a process or thread of execution, and the components can be located on one computer or distributed between two or more computers.
  • these components can be executed from various computer readable media having various data structures stored thereon.
  • a component can pass a local signal based on a signal having one or more data packets (for example, data from two components that interact with another component in a local system, a distributed system, or a network, such as the Internet that interacts with other systems through a signal). Or remote process to communicate.
  • a signal having one or more data packets for example, data from two components that interact with another component in a local system, a distributed system, or a network, such as the Internet that interacts with other systems through a signal.
  • remote process to communicate for example, data from two components that interact with another component in a local system, a distributed system, or a network, such as the Internet that interacts with other systems through a signal.
  • a corresponding to B means that B is associated with A, and B can be determined according to A.
  • determining B based on A does not mean that B is determined only based on A, and B can also be determined based on A and/or other information.
  • the first device and/or the second device can perform some or all of the steps in the embodiments of the present application. These steps or operations are only examples, and the embodiments of the present application may also perform other operations or Variations of various operations. In addition, each step may be executed in a different order presented in the embodiments of the present application, and it may not be necessary to perform all the operations in the embodiments of the present application.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read only memory ROM, random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本申请实施例公开一种数据传输方法及通信装置,其中,数据传输方法包括:根据第一数据分段进行网络编码,获得第一网络编码数据分段;根据所述第一网络编码数据分段,生成第一循环冗余码校验CRC信息和第一数据单元,所述第一数据单元包括所述第一网络编码数据分段对应的网络编码参数和所述第一CRC信息,所述第一CRC信息用于对所述第一网络编码数据分段进行校验;输出所述第一数据单元。采用本申请实施例,能够避免频谱资源的浪费,提高频谱效率。

Description

数据传输方法及通信装置
本申请要求于2020年3月9日提交中国专利局、申请号为202010158630.7、申请名称为“数据传输方法及通信装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法及通信装置。
背景技术
为了保证业务的可靠性,引入基于反馈的请求重传机制,例如媒体接入控制(media access control,MAC)层的混合自动重传请求(hybrid Automatic repeat request,HARQ)机制。HARQ协议在发送端和接收端都存在。发送端MAC层确定传输块(transport Block,TB)的大小后通知无线链路控制(radio link control,RLC)层,RLC层根据确定的TB大小对服务数据单元(service data unit,RLC SDU)进行分段处理,生成RLC PDU,MAC层对RLC层发送的RLC PDU进行串联后生成TB,将TB发送到物理(physical,PHY)层处理,PHY层对收到的TB加循环冗余码校验(cyclical redundancy check,CRC)信息后,进行码块分割得到多个码块(Code Block,CB),并对每个CB添加CRC信息,然后每个CB分别进行信道编码、速率匹配后再进行码块级联、加扰、调制、资源映射等操作后发送给接收端。接收端发现接收到的TB包含的CB中只要有一个CB对应的CRC校验错误,则发送反馈信息请求发送端重传整个TB,直至接收端MAC实体判断整个TB译码正确后才递交至RLC层。如果TB中仅部分比特或者仅部分CB传输错误,发送端MAC实体会重传整个TB至接收端,浪费频谱资源。
发明内容
本申请实施例提供了一种数据传输方法及通信装置,能够避免频谱资源的浪费,提高频谱效率。
第一方面,本申请实施例提供了一种通信方法,其中,该方法可以由第一设备执行,也可以由第一设备的部件(例如处理器、芯片、或芯片系统等)执行,其中,该第一设备可以是网络设备或者终端设备,或者也可以是通信系统中的其他设备或者网元。该通信方法可以包括:第一设备根据第一数据分段进行网络编码,获得第一网络编码数据分段。根据该第一网络编码数据分段,生成第一循环冗余码校验CRC信息和第一数据单元,其中,第一数据单元包括第一网络编码数据分段对应的网络编码参数和第一CRC信息,该第一CRC信息用于对所述第一网络编码数据分段进行校验。进一步输出生成的第一数据单元。
采用本申请实施例,第一设备对数据分段进行网络编码,生成网络编码数据分段,进而为网络编码数据分段添加CRC信息,从而便于接收端第二设备通过CRC信息对该网络编码数据分段进行校验,以确定该网络编码数据分段是否传输正确,并对传输正确的网络编码数据分段进行译码,得到用于进行网络编码的数据分段,该种方式不用在出现个别CB传输错误或者比特传输错误时就重传整个TB,从而能够避免频谱资源的浪费,提高频谱效 率。
可选的,网络编码的方式可以包括但不限于以下方式中的一种:随机线性网络编码、确定线性网络编码、BATS码、纠删码、喷泉码、卷积网络编码或者流编码(例如:streaming coding)等。
示例性的,可以是对M个第一数据分段进行网络编码获得N个第一网络编码数据分段。其中,该M个第一数据分段可以是属于同一组编码块,其中,N的值可以大于或者等于M的值。
其中,该第一数据分段可以包括第一原始数据分段,或者,该第一数据分段可以包括第一原始数据分段和第二CRC信息,该第二CRC信息是根据第一原始数据分段计算得到的,该第二CRC信息用于对该第一原始数据分段进行校验,一个第一数据分段可以包括一个第一原始数据分段和该第一原始数据分段对应的第二CRC信息。
通过实施该实施例,对第一原始数据分段添加第二CRC信息,可以进一步提高原始数据分段传输的可靠性。
可选的,针对N个第一网络编码数据分段中的每个第一网络编码数据分段,生成该第一网络编码数据分段对应的第一CRC信息,即一个第一网络编码数据分段对应一个第一CRC信息。
在一种可能的设计中,可以是根据第一网络编码数据分段,计算得到该第一CRC信息,即该第一CRC信息覆盖第一网络编码数据分段,该第一CRC信息用于对第一网络编码数据分段进行校验。或者,也可以是根据第一网络编码数据分段和该第一网络编码编码数据分段对应的网络编码参数,计算得到该第一CRC信息,即将第一网络编码数据分段和对应的网络编码参数作为一个整体添加第一CRC信息,则第一CRC信息覆盖第一网络编码数据分段和该第一网络编码数据分段对应的网络编码参数,该第一CRC信息用于对第一网络编码数据分段和该第一网络编码数据分段对应的网络编码编码参数进行校验。
通过实施该实施例,可以根据第一网络编码数据分段和网络编码参数生成第一CRC信息,即通过第一CRC信息可以对第一网络编码数据分段和网络编码参数进行校验,实现对第一网络编码数据分段和网络编码参数传输准确性的校验。
在一种可能的设计中,该第一数据单元可以为协议数据单元(protocol data unit,PDU),该PDU包括协议头部分、网络编码数据部分和校验位部分。
其中,协议头部分包括网络编码参数,网络编码数据部分包括第一网络编码数据分段,校验位部分包括第一CRC信息。
示例性的,网络编码数据部分可以包括一个或者多个第一网络编码数据分段,相应的,协议头部分可以包括一个或者多个第一网络编码数据分段对应的网络编码参数,校验位部分包括一个或者多个第一网络编码数据分段对应的第一CRC信息。
通过实施该实施例,通过在协议头部分携带网络编码参数,网络编码数据部分携带第一网络编码数据分段,校验位部分携带第一CRC信息,没有额外指示信息,节省开销。
在一种可能的设计中,第一数据单元可以为PDU,该PDU包括协议头部分、至少一个网络编码数据部分、至少一个子头部分以及至少一个校验位部分。
其中,协议头部分包括个数指示信息,该个数指示信息用于指示该PDU包含的第一网 络编码数据分段的个数。一个网络编码数据部分包括一个第一网络编码数据分段,一个子头部分包括与一个第一网络编码数据分段对应的网络编码参数,一个校验位部分包括与一个第一网络编码数据分段对应的一个第一CRC信息。
通过实施该实施例,将各个第一网络编码数据分段用不同的网络编码数据部分承载,将对应的网络编码参数分别用不同的子头部分承载,将对应的第一CRC信息分别用不同的校验位部分承载,方便接收端解析获得各个信息。
在一种可能的设计中,第一数据单元可以为PDU,该PDU包括协议头部分、数据域部分以及校验位部分。
其中,协议头部分包括长度指示信息,该长度指示信息用于指示数据域部分的长度。
数据域部分包括网络编码参数和第一网络编码数据分段,校验位部分包括第一CRC信息。可选的,该数据域部分可以包括一个或者多个第一网络编码数据分段,以及该一个或者多个第一网络编码数据分段分别对应的网络编码参数,校验位部分包括该一个或者多个第一网络编码数据分段分别对应的第一CRC信息。
通过实施该实施例,将网络编码参数和第一网络编码数据分段由数据域部分承载,第一CRC信息由校验位部分承载,在精简PDU格式设计的复杂度的情况下,便于接收端解析获得各个信息。
在一种可能的设计中,第一数据单元可以为PDU,该PDU包括协议头部分和数据域部分。
其中,协议头部分包括长度指示信息,长度指示信息用于指示所述数据域部分的长度。数据域部分包括网络编码参数、第一网络编码数据分段和第一CRC信息。可选的,该数据域部分可以包括一个或者多个第一网络编码数据分段、该一个或者多个第一网络编码数据分段分别对应的网络编码参数、以及该一个或者多个第一网络编码数据分段分别对应的第一CRC信息。
通过实施该实施例,将网络编码参数、第一网络编码数据分段以及第一CRC信息由数据域部分承载,减少PDU格式设计的复杂度。
本申请实施例可以通过以上多种PDU中的一种PDU承载第一网络编码数据分段、网络编码参数以及第一CRC信息。该PDU可以是除物理层以外其它协议层的PDU,除物理层以外其它协议层可以为以下多种中的一种:MAC层、RLC层、BAP层、PDCP层、或者其它具有网络编码功能的协议层。其中,具有网络编码功能的协议层可以是除MAC层、RLC层、BAP层、以及PDCP层之外的一个新的协议层,该协议层可以称为网络编码层,该协议层可以位于PDCP层之上,或者位于BAP层之上,或者位于PDCP层与RLC层之间,或者位于RLC层与MAC层之间,或者位于MAC层与物理层之间,本申请实施例对此不做具体限定。
在另一种可能的设计中,该第一数据单元也可以为物理层的TB或者CB,例如,该第一数据单元为物理层的CB,则该第一数据单元包括码块头、码块和校验位部分,所述码块包括至少一个第一网络编码数据分段。
校验位部分包括该码块对应的第一CRC信息。
其中,码块头包括该码块包括的至少一个第一网络编码数据分段中的一个第一网络编 码数据分段或者多个第一网络编码数据分段分别对应的网络编码参数。
通过实施该实施例,通过CB承载第一网络编码数据分段,并将CB对应的CRC信息作为CB承载的第一网络编码数据分段对应的第一CRC信息,可以兼容现有CB的设计。
在一种可能的设计中,码块CB对应的第一CRC信息可以是根据码块包括的至少一个第一网络编码数据分段生成的,即该第一CRC信息用于对码块包括的至少一个第一网络编码数据分段进行校验。
或者,码块CB对应的第一CRC信息可以是根据码块包括的至少一个第一网络编码数据分段和所添加的码块头中包含的数据生成的,即该第一CRC信息用于对码块包括的至少一个第一网络编码数据分段和码块头包含的数据进行校验。
通过实施该实施例,可以通过多种方式生成码块对应的第一CRC信息,便于对码块包含的第一网络编码数据分段和/或码块头包含的数据进行校验。
在一种可能的设计中,网络编码参数可以包括以下多种参数中的一种或者多种:第一网络编码数据分段对应的编码块的标识信息、第一网络编码数据分段对应的系数指示信息、第一网络编码数据分段在对应的编码块中的标识信息、或者第一网络编码数据分段对应的编码块中包含的第一数据分段的个数、第一数据分段的大小或者长度信息等等。
在一种可能的设计中,本申请实施例的PDU为以下多种PDU中的一种:媒体接入控制MAC层PDU、无线链路控制RLC层PDU、回传适配协议BAP层PDU、分组数据汇聚协议PDCP层PDU、或者具有网络编码功能的协议层的PDU等等。
第二方面,本申请实施例提供了一种通信方法,其中,该方法可以由第二设备执行,也可以由第二设备的部件(例如处理器、芯片、或芯片系统等)执行,其中,该第二设备可以是网络设备或者终端设备,或者也可以是通信系统中的其他设备或者网元。该通信方法可以包括:获取第二数据单元,该第二数据单元包括第二网络编码数据分段、第二网络编码数据分段对应的网络编码参数和第三CRC信息。使用第三CRC信息对第二网络编码数据分段进行校验,并根据校验结果确定第二网络编码数据分段传输正确。进一步根据网络编码参数对第二网络编码数据分段进行译码。
采用本申请实施例,接收端第二设备通过CRC信息对该网络编码数据分段进行校验,以确定该网络编码数据分段是否传输正确,并对传输正确的网络编码数据分段进行译码,得到用于进行网络编码的数据分段,该种方式不用在出现个别CB传输错误或者比特传输错误时就重传整个TB,从而能够避免频谱资源的浪费,提高频谱效率。
可选的,第二方面提供的通信方法中的第二数据单元与第一方面提供的通信方法中的第一数据单元的类型相同,例如,第一数据单元是RLC层的PDU,则第二数据单元也是RLC层的PDU。
在无线信道环境下,由于信道噪声或移动性带来的衰落或者其他用户带来的干扰等因素导致第二数据单元与第一数据单元可能不同或者相同。其中,第二数据单元中的第二网络编码数据分段与第一数据单元中的第一网络编码数据分段可能相同或者不同。若第二网络编码数据分段与第一网络编码数据分段不同,则说明该第二网络编码数据分段传输错误,若第二网络编码数据分段与第一网络编码数据分段相同,则说明该第二网络编码数据分段传输正确。
在一种可能的设计中,第二网络编码数据分段对应的第三CRC信息可以覆盖该第二网络编码数据分段,或者该第三CRC信息可以覆盖该第二网络编码数据分段和该第二网络编码数据分段对应的网络编码参数。
若第三CRC信息覆盖第二网络编码数据分段和该第二网络编码数据分段对应的网络编码参数,则使用第三CRC信息对第二网络编码数据分段和该第二网络编码数据分段对应的网络编码参数进行校验,获得校验结果,该校验结果指示该第二网络编码数据分段和对应的网络编码参数是否传输正确,若该第二网络编码数据分段和网络编码参数传输正确,则根据该网络编码参数对该第二网络编码数据分段进行译码。
通过实施该实施例,可以使用第三CRC信息对第而网络编码数据分段和对应的网络编码参数进行校验,实现对网络编码数据分段和网络编码参数传输准确性的校验。
在一种可能的设计中,若第一设备进行网络编码的第一数据分段包括第一原始数据分段和第二CRC信息,则相应的,第二设备根据网络编码参数对第二网络编码数据分段进行译码得到的第二数据分段包括第二原始数据分段和第四CRC信息。
进一步,使用该第四CRC信息对该第二原始数据分段进行校验,并根据校验结果确定第二原始数据分段是否传输正确,第二设备将传输正确的第二原始数据分段作为要得到的原始数据分段。
通过实施该实施例,使用该第四CRC信息对该第二原始数据分段进行校验,并根据校验结果确定第二原始数据分段是否传输正确,可以进一步提高原始数据分段传输的可靠性。
第三方面,本申请实施例提供一种通信方法,其中,该方法可以由第一设备执行,也可以由第一设备的部件(例如处理器、芯片、或芯片系统等)执行,其中,该第一设备可以是网络设备或者终端设备,或者也可以是通信系统中的其他设备或者网元。该通信方法可以包括:根据第三原始数据分段,生成第五CRC信息。根据第三原始数据分段和第五CRC信息进行网络编码,获得第三网络编码数据分段,进一步根据所述第三网络编码数据分段,生成第三数据单元,该第三数据单元包括第三网络编码数据分段对应的网络编码参数。
采用本申请实施例,对原始数据分段添加CRC信息,并根据原始数据分段和对应的CRC信息进行网络编码,获得网络编码数据分段,可以提高原始数据分段传输的可靠性,还可以提高频谱效率。
可选的,可以是对每个第三原始数据分段,生成该第三原始数据分段对应的第五CRC信息,即一个第三原始数据分段对应一个第五CRC信息,并给该第三原始数据分段添加第五CRC信息。
进一步可以对同属于一组编码块的M个添加了第五CRC信息的第三原始数据分段进行网络编码,获得N个第三网络编码数据分段。
可以理解的是,该N个第三网络编码数据分段可以分布在一个或者多个第三数据单元中,本申请实施例不作限定。
可选的,本申请实施例的第三数据单元可以是物理层的TB或者CB,或者还可以是除物理层以外其它协议层的PDU。该其他协议层可以为以下多种中的一种:MAC层、RLC层、BAP层、PDCP层、或者其它具有网络编码功能的协议层。其中,具有网络编码功能 的协议层可以是除MAC层、RLC层、BAP层、以及PDCP层之外的一个新的协议层,该协议层可以称为网络编码层,该协议层可以位于PDCP层之上,或者位于BAP层之上,或者位于PDCP层与RLC层之间,或者位于RLC层与MAC层之间,或者位于MAC层与物理层之间,本申请实施例对此不做具体限定。
在一种可能的设计中,第三数据单元为PDU,该PDU包括协议头部分和网络编码数据部分。
其中,协议头部分包括网络编码参数,网络编码数据部分包括第三网络编码数据分段。
示例性的,该网络编码数据部分可以包括一个或者多个第三网络编码数据分段。
通过实施该实施例,通过在协议头部分携带网络编码参数,网络编码数据部分携带第三网络编码数据分段,没有额外指示信息,节省开销。
在一种可能的设计中,第三数据单元为PDU,该PDU包括协议头部分、至少一个网络编码数据部分以及至少一个子头部分。
其中,协议头部分包括个数指示信息,该个数指示信息用于指示PDU包含的第三网络编码数据分段的个数。一个网络编码数据部分包括一个第三网络编码数据分段,一个子头部分包括与一个第三网络编码数据分段对应的网络编码参数。
通过实施该实施例,将各个第三网络编码数据分段用不同的网络编码数据部分承载,将对应的网络编码参数分别用不同的子头部分承载,方便接收端解析获得各个信息。
在一种可能的设计中,第三数据单元为PDU,该PDU包括协议头部分和数据域部分。
其中,协议头部分包括长度指示信息,该长度指示信息用于指示数据域部分的长度;数据域部分包括第三网络编码数据分段和网络编码参数。可选的,该数据域部分可以包括一个或者多个第三网络编码数据分段和该一个或者多个第三网络编码数据分段分别对应的网络编码参数。
通过实施该实施例,将网络编码参数、第三网络编码数据分段由数据域部分承载,减少PDU格式设计的复杂度。
第四方面,本申请实施例提供一种通信方法,其中,该方法可以由第二设备执行,也可以由第二设备的部件(例如处理器、芯片、或芯片系统等)执行,其中,该第二设备可以是网络设备或者终端设备,或者也可以是通信系统中的其他设备或者网元。该通信方法可以包括:获取第四数据单元,该第四数据单元包括第四网络编码数据分段和第四网络编码数据分段对应的网络编码参数。根据所述网络编码参数对该第四网络编码数据分段进行译码,获得第四原始数据分段和第六CRC信息。进一步使用该第六CRC信息对该第四原始数据分段进行校验,并根据校验结果确定第四原始数据分段是否传输正确。
可选的,第四方面提供的通信方法中的第四数据单元与第三方面提供的通信方法中的第三数据单元的类型相同,例如,第三数据单元是RLC层的PDU,则第四数据单元也是RLC层的PDU。
在无线信道环境下,由于信道噪声或移动性带来的衰落或者其他用户带来的干扰等因素导致第四数据单元与第三数据单元可能不同或者相同。其中,第四数据单元中的第四网络编码数据分段与第三数据单元中的第三网络编码数据分段可能相同或者不同。
采用本申请实施例,接收端第二设备在对网络编码数据分段进行译码后,再使用译码 得到的CRC信息对原始数据分段进行校验,从而提高原始数据分段传输的可靠性,并且该种方式不用在出现个别CB传输错误或者比特传输错误时就重传整个TB,从而能够避免频谱资源的浪费,提高频谱效率。
第五方面,本申请实施例提供了一种通信装置,包括用于执行第一方面至第四方面任一方面提供的方法的各个模块或单元。
第六方面,本申请实施例提供了一种通信装置,包括处理器。该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面至第四方面任一方面提供的方法。可选地,该通信装置还包括存储器。可选地,该通信装置还包括通信接口,处理器与通信接口耦合。
第七方面,本申请实施例提供了一种处理器,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述处理器执行第一方面至第四方面任一方面提供的方法。
在具体实现过程中,上述处理器可以为一个或多个芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第八方面,本申请实施例提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行第一方面至第四方面任一方面提供的方法。
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送请求消息可以为从处理器输出请求消息的过程,接收消息可以为处理器接收消息的过程。具体地,处理器输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第八方面中的处理装置可以是一个或多个芯片。该处理装置中的处理器可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第九方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面至第四方面任一方面提供的方法。
第十方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质 存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面至第四方面任一方面提供的方法。
第十一方面,本申请实施例提供了一种通信系统,包括前述第一设备和/或第二设备。
第十二方面,提供了一种芯片系统,该芯片系统包括处理器和接口,处理器用于从存储器中调用并运行存储器中存储的计算机程序(也可以称为代码,或指令),以实现第一方面至第四方面任一方面所涉及的功能,在一种可能的设计中,该芯片系统还包括存储器,存储器用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1a是本申请实施例提供的一种网络编码示意图;
图1b是本申请实施例提供的一种系统架构图;
图2是本申请实施例提供的一种数据传输方法的流程示意图;
图3a至图3c是本申请实施例提供的网络编码示意图;
图4a至图4e是本申请实施例提供的PDU的示意图;
图4f是本申请实施例提供的一种码块的示意图;
图5是本申请实施例提供的一种网络编码数据传输示意图;
图6是本申请实施例提供的另一种网络编码数据传输示意图;
图7是本申请实施例提供的又一种网络编码数据传输示意图;
图8是本申请实施例提供的另一种数据传输方法的流程示意图;
图9a至图9d是本申请实施例提供的PDU的示意图;
图10是本申请实施例提供的一种网络编码数据传输示意图;
图11是本申请实施例提供的通信装置的示意性框图;
图12是本申请实施例提供的终端设备的结构示意图;
图13是本申请实施例提供的另一通信装置的示意性框图;
图14是本申请实施例提供的一种芯片的结构示意图。
具体实施方式
首先,在描述本申请实施例之前,对本申请实施例涉及的名称或术语进行介绍。
1、网络编码
本申请实施例的网络编码可以采用的网络编码方式包括但不限于:随机线性网络编码(Random Linear Network Coding,RLNC)、确定线性网络编码、分批稀疏(batch sparse code,BATS)码、纠删码(erasure code)、喷泉码(fountain code)等。
下面以RLNC网络编码为例对本申请实施例的网络编码进行介绍:
如图1a所示,发送端将需要发送的原始数据包分成多组RLNC编码块,一组RLNC编码块包含M个原始数据包,分别用X 1,X 2,...,X M表示,对这M个原始数据包可以进行线性组合生成N(N>=M)个编码数据包,其中,线性组合满足公式
Figure PCTCN2021079734-appb-000001
N个编码数据包用Y 1,Y 2,...,Y N表示,其中Y i表示第i个编码数据包,X m表示第m个原始数据包,g i,m表示第i个编码数据包中第m个原始数据包的随机系数,而且g i,m是从有限域 或GF(galois field,伽罗华域)中随机选取出来的,GF域是一个包含有限个元素的域,用GF(q)可以表示一个包含q个元素的GF域,例如,GF(q)表示{0,1,...,q-1},GF域的大小可以是预定义的也可以是由网络设备配置的,其中确定线性网络编码和随机线性网络编码区别是确定线性网络编码采用的系数不是随机选取的,而是由网络设备指定或配置的。
其中,各个编码数据包可以满足如下公式:
Y 1=g 1,1X 1+g 1,2X 2+...+g 1,MX M
Y 2=g 2,1X 1+g 2,2X 2+...+g 2,MX M
...
Y N=g N,1X 1+g N,2X 2+...+g N,MX M
一个编码数据包Y i对应的网络编码参数都包含生成该编码数据包所使用的编码系数向量[g i,1,g i,2,...,g i,M],编码系数向量的长度(或者称为编码系数向量的维度或者编码系数向量中元素的个数)与一个编码块中原始数据包的个数M相同。发送端针对一组RLNC编码块发送N(N>=M)个编码数据包给接收端。如果接收端收到的编码数据包的个数不少于M个,且编码数据包头部携带的编码系数向量组成的矩阵的秩为M,即原始数据包的个数,也就是说,接收端接收到了M个线性独立的编码数据包,接收端就可以译码出M个原始数据包,例如接收端可以根据编码系数向量构建出一个线性方程组,线性方程组中X m,m∈{1,2,...M}就是M个待求解的未知数,利用线性方程理论译码出M个原始数据包。
假如对于全部N个编码数据包Y 1,Y 2,...,Y N,接收端全部接收正确,接收端也可以译码得到M个原始数据包。例如,其中一个接收到的编码数据包Y i的头部都包含一个系数指示信息,用于指示一个M长的编码系数向量,接收端将收到的N个编码系数向量组合在一起形成一个关于未知数X 1,X 2,...,X M的M元一次线性方程组,方程组的系数矩阵为:
Figure PCTCN2021079734-appb-000002
该系数矩阵的秩为M,接收端利用系数矩阵就可以译码得到M个原始数据包。
综上,采用RLNC网络编码的方式,针对一组编码块,接收端接收正确的编码数据包的个数L不小于原始数据包的个数M,且这L个编码数据包的头部携带的编码系数向量组成的矩阵的秩为M的情况下,接收端可以译码得到M个原始数据包。
2、循环冗余码校验(cyclic redundancy check,CRC)
CRC是一种错误校验码,主要用来检测或校验数据传输后可能出现的错误。例如,发送方使用某公式计算出被传送数据所含信息的一个值,并将此值附在被传送数据后,接收方则对同一数据进行相同的计算,应该得到相同的结果。如果这两个CRC结果不一致,则说明传输中出现了差错。
3、本申请实施例的其他术语
本申请实施例的数据分段可替换为数据包,或者数据块等,例如,第一数据分段可以 被称为第一数据包,或者第一数据块,第二数据分段可以被称为第二数据包或者第二数据块,第一原始数据分段可以被称为第一原始数据包,或者第二原始数据块,第二原始数据分段可以被称为第二原始数据包,或者第二原始数据块等等。
网络编码数据分段可替换为网络编码包、编码数据包、网络编码数据包、网络编码数据块或者网络编码数据单元等。例如,第一网络编码数据分段可以被称为第一网络编码包、或者第一编码数据包,或者也可以被称为第一网络编码数据单元等等。
本申请实施例的第一设备也可以被称为发送端设备,第二设备也可以被称为接收端设备。
第一设备在具有网络编码功能的协议层进行网络编码生成网络编码数据分段,该协议层可以是RLC层、或分组数据汇聚协议(packet data convergence protocol,PDCP)层、或回传适配(backhaul adaptation protocol,BAP)层、或MAC层、或PHY层,或者,在PDCP层之上增加一个具有网络编码功能的网络编码层,或者,在BAP层之上增加一个具有网络编码功能的网络编码层,或者,在PDCP层和RLC层之间增加一个具有网络编码功能的网络编码层,或者,在RLC层和MAC层之间增加一个具有网络编码功能的网络编码层,或者,在MAC层和PHY层之间增加一个具有网络编码功能的网络编码层,等等,本申请实施例不作限定。为方便描述,全文将上述具有网络编码功能的协议层统称为网络编码层。
本申请实施例的数据单元可以是物理层的TB或者CB,也可以是除物理层以外其它协议层的协议数据单元(protocol data unit,PDU)。
其中,除物理层以外其它协议层可以为以下多种中的一种:MAC层、RLC层、BAP层、PDCP层、或者其它具有网络编码功能的协议层。其中,具有网络编码功能的协议层可以是除MAC层、RLC层、BAP层、以及PDCP层之外的一个新的协议层,该协议层可以称为网络编码层,该协议层可以位于PDCP层之上,或者位于BAP层之上,或者位于PDCP层与RLC层之间,或者位于RLC层与MAC层之间,或者位于MAC层与物理层之间,本申请实施例对此不做具体限定。
本申请实施例中,网络编码数据分段对应的编码块,可以理解为,该网络编码数据分段是根据该编码块中所包含的原始数据分段进行网络编码获得的。
本申请实施例中CRC信息覆盖网络编码数据分段,可以理解为,该CRC信息是根据该网络编码数据分段计算得到,即该CRC信息用于对该网络编码数据分段进行校验。或者,该CRC信息覆盖网络编码数据分段和网络编码参数,可以理解为,该CRC信息是根据该网络编码数据分段和该网络编码参数计算得到,即该CRC信息用于对该网络编码数据分段和网络编码参数进行校验。
本申请实施例的“编码块”也可以称为“编码组”,相应的,每个编码组可以用组标识(group ID)唯一标识;或者,“编码块”也可以称为“编码分批”,相应的,每个网络编码分批可以用批标识(batch ID)唯一标识;或者,“编码块”也可以称为“编码代”,相应的,每个网络编码代可以用代标识(generation ID)唯一标识。“编码块”、“编码组”、“编码分批”、“编码代”可以相互替换。
本申请可以应用于多种无线通信系统的协议框架中,无线通信系统可以包括但不限于 长期演进(long term evolution,LTE)系统、新一代无线接入技术(new radio access technology,NR)系统、未来演进的通信系统等,未来演进的通信系统例如未来网络或第六代通信系统等。
本申请可应用于上述无线通信系统的多种移动通信场景中,如基站和用户设备(user equipment,UE)之间或UE之间点对点传输、基站和用户设备的多跳/relay传输、多个基站和用户设备的双连接(dual connectivity,DC)或多连接等场景。
图1b是本申请的通信系统的系统架构示意图,可以理解的是,图1b只是示例性的,不对适用于本申请的网络架构产生限制,而且,本申请不限制上行、下行、接入链路、回传(backhaul)链路、侧链路(sidelink)等传输。
请参见图1b,为应用本申请实施例的网络架构示意图。图1b所示的网络架构包括网络设备和终端设备,其中,网络设备的数量可以是一个或者多个,终端设备的数量可以是一个或者多个。
可以理解的是,图1b所示的设备数量、形态用于举例,并不构成对本申请实施例的限定。例如实际应用中可以包括两个或两个以上的网络设备。
本申请实施例中,网络设备是一种部署在无线接入网中为终端设备提供无线通信功能的装置。网络设备可以包括各种形式的宏基站,微基站(也称为小站),中继站,接入点等。在采用不同的无线接入技术的系统中,网络设备的名称可能会有所不同,例如LTE(long term evolution,长期演进)中的eNB或eNodeB(evolutional nodeB)。网络设备还可以是CRAN(cloud radio access network,云无线接入网络)场景下的无线控制器。网络设备还可以是5G网络中的基站设备或者未来演进的网络中的网络设备。网络设备还可以是可穿戴设备或车载设备。网络设备还可以是传输接收节点(transmission and reception point,TRP)。网络设备还可以泛指网络端的所有设备的总称,例如采用多个TRP传输数据给终端设备时,将多个TRP统称为网络设备。
本申请实施例中,终端设备是一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、车载终端设备、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、可穿戴终端设备等等。本申请的实施例对应用场景不做限定。终端设备有时也可以称为终端、用户设备(user equipment,UE)、接入终端设备、车载终端、工业控制终端、UE单元、UE站、移动站、移动台、远方站、远程终端设备、移动设备、UE代理或UE装置等。终端设备也可以是固定的或者移动的。
本申请实施例的第一设备、第二设备在不同的移动通信场景中指代不同,例如,在UE之间点对点传输的移动通信场景中,第一设备和第二设备可以是不同的终端设备,又例如,在图1b所示的网络架构中,第一设备可以是终端设备或者网络设备,第二设备也可以是终端设备或者网络设备。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面将对本申请实施例提供的数据传输方法进行详细介绍。在介绍过程中,第一设备与第二设备之间交互的信息的名称用于举例,并不构成对本申请实施例的限定。
请参见图2,为本申请实施例提供的一种数据传输方法的流程示意图,该方法可以包括但不限于如下步骤:
S100,第一设备根据第一数据分段进行网络编码,获得第一网络编码数据分段。
在一个实施例中,第一设备可以将至少一个第一数据分段进行网络编码,获得至少一个第一网络编码数据分段,其中,该至少一个第一数据分段可以是将待发送的数据划分得到的。该至少一个第一数据分段可以是属于同一组编码块的数据分段。其中,该第一数据分段可以包括第一原始数据分段,或者,该第一数据分段可以包括第一原始数据分段和第二CRC信息,该第二CRC信息是根据第一原始数据分段计算得到的,该第二CRC信息用于对该第一原始数据分段进行校验,一个第一数据分段可以包括一个第二CRC信息。
可选的,具有网络编码功能的协议层或协议实体将待发送的数据分成多组编码块,每组编码块中包含至少两个第一原始数据分段。各组编码块可以用各自的标识信息区别,例如block ID。其中,待发送的数据可以是上层协议发送的一个或多个PDU,或者也可以是本协议层的一个或者多个服务数据单元(service data unit,SDU)或SDU段,或者也可以是物理层的TB或者CB,本申请实施例不作限定。
一组编码块中各个第一原始数据分段的大小可以相同也可以不相同。示例性的,网络侧设备可以对第一原始数据分段的大小(比特数或字节数)进行限制或半静态配置,也可以根据预定义的方式获得第一原始数据分段。例如,第一设备按顺序一次取1000字节大小的数据比特作为一个第一原始数据分段,再例如,如果网络编码是在物理层实现,可以将一个CB作为一个第一原始数据分段。
示例性的,一组编码块中包含的第一原始数据分段的个数可以用M表示,其中M>=2,网络侧设备可以对M的大小限制或半静态配置,M也可以是预定义的大小,如M=8。也可以由发送端自行决定M的大小,但要通知接收端该M的大小。
进一步,第一设备可以对该M个第一原始数据分段进行网络编码,获得N个第一网络编码数据分段,该种实施方式中,步骤S100中用于进行网络编码的第一数据分段包括第一原始数据分段。或者,第一设备可以对每个第一原始数据分段添加第二CRC信息,即一个第一原始数据分段添加一个第二CRC信息,该第二CRC信息可以是根据对应的第一原始数据分段计算得到的,然后对添加了第二CRC信息的M个第一原始数据分段进行网络编码获得N个第一网络编码数据分段,该种实施方式中,步骤S100中用于进行网络编码的第一数据分段包括第一原始数据分段和第二CRC信息。为了便于描述,本申请实施例中,将第一原始数据分段或者添加了第二CRC信息的第一原始数据分段统称为第一数据分段。
第一设备中具有网络编码功能的协议层或协议实体对M个第一数据分段进行网络编码 获得N个第一网络编码数据分段,且该N个第一网络编码数据分段分别为Y 1,Y 2,...,Y N(N≥1)。可以理解的是,本申请实施例的网络编码所采用的网络编码方式是预定义的或者半静态配置的,其中,网络编码的方式可以包括但不限于以下方式中的一种:随机线性网络编码、确定线性网络编码、BATS码、纠删码、喷泉码、卷积网络编码或者流编码(例如:streaming coding)等。
可选的,若M个第一数据分段的长度不等,还可以采用如图3a至图3c所示的任一种网络编码方式进行网络编码,可以理解的是,图3a至图3c仅为举例,并不构成对本申请实施例的限定,下面对图3a至图3c所示的网络编码方式进行介绍。
如图3a所示,可以将所有第一数据分段的比特序列采用填充(padding)或补0的方式补至相同长度,然后再进行网络编码。该相同长度可以是M个第一数据分段中最长数据分段的长度,或者可以是预定义的长度,或者可以是网络侧设备配置的长度。如图3a所示,该编码块包括4个第一数据分段,该4个第一数据分段分别为P1、P2、P3和P4,其中,数据分段P2的长度最长,因此,将数据分段P1、P3和P4都补0至数据分段P2的长度。然后分别将补0后的数据分段进行网络编码,生成网络编码数据分段X1、X2、X3和X4。
如图3b所示,可以将编码块中的各个第一数据分段的首位置对齐,然后将各个第一数据分段中对齐部分进行网络编码。如图3b所示,将数据分段P1、P2、P3、P4划分得到三个对齐部分,一个对齐部分包括至少一个数据段。例如,第一个对齐部分包括四个数据段,分别为X1、X2、X3、X4,该对齐部分的长度为数据分段P4的长度;第二个对齐部分包括三个数据段,分别为X5、X6、X7,该对齐部分的长度为数据分段P1或P3的长度减去数据分段P4的长度;第三个对齐部分包括一个数据段,为X8,该对齐部分的长度为数据分段P2的长度减去数据分段P1或P3的长度。
进一步分别对各个对齐部分包含的数据段进行网络编码,以对第一个对齐部分包含的四个数据段进行网络编码作为举例说明。将第一个对齐部分包含的四个数据段X1、X2、X3、X4,分别乘上系数gi1,gi2,gi3,gi4进行加权组合,i=1,2,3,4,即可以得到四个编码段C11、C12、C13、C14,该四个编码段可以满足如下公式:
C11=g11*X1+g12*X2+g13*X3+g14*X4;
C12=g21*X1+g22*X2+g23*X3+g24*X4;
C13=g31*X1+g32*X2+g33*X3+g34*X4;
C14=g41*X1+g42*X2+g43*X3+g44*X4。
同理,根据第二个对齐部分包含的三个数据段进行网络编码,可以分别得到三个编码段C21、C22、C23,以及,根据第三个对齐部分包含的一个数据段进行网络编码,可以得到编码段C31。
可选的,可以将上述一个编码段作为一个第一网络编码数据分段,或者,也可以将C11、C21两个编码段串接在一起作为一个第一网络编码数据分段,该两个编码段所对应的系数相同,均为[g11g12g13g14],因此将[g11g12g13g14]作为该第一网络编码数据分段的编码系数向量,同理,可以将C12、C22和C31三个编码段串接在一起作为一个第一网络编码数据分段,该三个编码段所对应的系数相同,均为[g21g22g23g24],因此将[g21g22g23g24]作为该第一网络编码数据分段的编码系数向量。以此类推,可以将C13、C23两个编码 段串接在一起作为一个第一网络编码数据分段,将C14作为一个第一网络编码数据分段,在此不再赘述。
如图3c所示,可以将编码块中部分数据分段进行首位置移位(即首位置不对齐,但部分数据段是互相对齐的)后,然后将各个第一数据分段中对齐部分进行网络编码。如图3c所示,将第一数据分段P4移位后,再对数据分段P1、P2、P3、P4划分得到三个对齐部分,一个对齐部分包括至少一个数据段。例如,第一个对齐部分包括三个数据段,分别为X1、X2、X3;第二个对齐部分包括三个数据段,分别为X5、X6、X7;第三个对齐部分包括两个数据段,为X8和X4。
进一步分别对各个对齐部分包含的数据段进行网络编码,得到各个编码段,并将各个编码段映射为一个或者多个第一网络编码数据分段,进一步获得各个第一网络编码数据分段的编码系数向量,具体请参照图3b实施例的描述,在此不再赘述。
对M个第一数据分段进行网络编码,获得N个第一网络编码数据分段后,进一步还可以获得该N个第一网络编码数据分段中每个第一网络编码数据分段分别对应的网络编码参数。
其中,网络编码参数可以包括该第一网络编码数据分段对应的系数指示信息,其中,系数指示信息可以包括该第一网络编码数据分段对应的编码系数向量,或者能够指示对应编码系数向量的索引信息,其中,编码系数向量可以是码本中的一个码字,通过该码字在码本中的索引信息可以指示对应的编码系数向量。
网络编码参数还可以包括该第一网络编码数据分段对应的编码块的标识信息(例如:block ID)。进一步可选的,该网络编码参数还可以包括但不限于:该第一网络编码数据分段在对应的编码块中的标识信息(例如:packet ID),该第一网络编码数据分段对应的编码块中包含的第一数据分段的个数(例如上述M的值)。可选的,该网络编码参数还可以包括第一网络编码数据分段的大小或长度指示信息等。
S101,根据所述第一网络编码数据分段,生成第一循环冗余码校验CRC信息和第一数据单元,所述第一数据单元包括所述第一网络编码数据分段对应的网络编码参数和所述第一CRC信息,所述第一CRC信息用于对所述第一网络编码数据分段进行校验。
S102,输出所述第一数据单元。
可选的,第一设备针对N个第一网络编码数据分段中的每个第一网络编码数据分段,生成该第一网络编码数据分段对应的第一CRC信息,即一个第一网络编码数据分段对应一个第一CRC信息。可选的,可以是根据第一网络编码数据分段,计算得到该第一CRC信息,即该第一CRC信息覆盖第一网络编码数据分段,该第一CRC信息用于对第一网络编码数据分段进行校验。或者也可以是根据第一网络编码数据分段和该第一网络编码编码数据分段对应的网络编码参数,计算得到该第一CRC信息,即将第一网络编码数据分段和对应的网络编码参数作为一个整体添加第一CRC信息,则第一CRC信息覆盖第一网络编码数据分段和该第一网络编码数据分段对应的网络编码参数,该第一CRC信息用于对第一网络编码数据分段和该第一网络编码数据分段对应的网络编码参数进行校验。
可选的,若是通过CB承载第一网络编码数据分段,一个CB包含一个或者多个第一网络编码数据分段,则可以针对一个CB生成一个第一CRC信息。可选的,可以是根据该 CB包含的一个或者多个第一网络编码数据分段,计算得到该第一CRC信息,即该第一CRC信息覆盖该CB包含的一个或者多个第一网络编码数据分段,该第一CRC信息用于对CB中包含的一个或者多个第一网络编码数据分段进行校验。或者,也可以是根据该CB包含的一个或者多个第一网络编码数据分段和该CB对应的码块头中包含的数据,计算得到该第一CRC信息,该码块头中包括该一个或者多个第一网络编码数据分段对应的网络编码参数。该第一CRC信息覆盖CB包含的一个或者多个第一网络编码数据分段和各个第一网络编码数据分段对应的网络编码参数,该第一CRC信息用于对CB包含的一个或者多个第一网络编码数据分段和各个第一网络编码数据分段对应的网络编码参数进行校验,其中,关于码块头的阐述可以参照后续实施例的描述,暂不赘述。
本申请实施例中,第一数据单元可以是物理层的TB或者CB,或者还可以是除物理层以外其它协议层的PDU。其中,一个第一数据单元可以包括一个或者多个第一网络编码数据分段,可以理解的是,对M个第一数据分段进行网络编码获得的N个第一网络编码数据分段可以分布在一个或者多个第一数据单元中。
第一种可选的实施方式中,若第一数据单元是PDU。第一设备将一个或多个第一网络编码数据分段、该一个或多个第一网络编码数据分段中各个第一网络编码数据分段对应的网络编码参数以及该一个或多个第一网络编码数据分段中各个第一网络编码数据分段对应的第一CRC信息生成PDU。第一设备中具有网络编码功能的协议层将生成的PDU输出给下一层。本申请实施例的PDU格式可以包括多种,下面结合图4a至图4f对PDU的格式进行举例说明。
可选的,在一种可能的设计中,如图4a所示,该PDU包括协议头部分(例如:header)、网络编码数据部分(例如:coded packet)以及校验位CRC部分。其中,该协议头部分包括第一网络编码数据分段对应的网络编码参数,其中,网络编码参数的定义请参照前述实施例的描述,在此不再赘述。网络编码数据部分包括第一网络编码数据分段,校验位部分包括该第一网络编码数据分段对应的第一CRC信息。可以理解的是,该第一CRC信息可以覆盖网络编码数据部分,即该第一CRC信息是根据第一网络编码数据分段计算得到,或者该第一CRC信息可以覆盖网络编码数据部分和协议头部分,即该第一CRC信息是根据第一网络编码数据分段和该第一网络编码数据分段对应的网络编码参数计算得到。
可选的,在另一种可能的设计中,该PDU包含协议头部分(header)、至少一个子头部分(subheader)、至少一个网络编码数据部分(coded packet)、以及至少一个校验位CRC部分。该协议头部分包括个数指示信息,该个数指示信息用于指示该PDU包含的第一网络编码数据分段的个数。一个网络编码数据部分包括一个第一网络编码数据分段,一个子头部分包括一个第一网络编码数据分段对应的网络编码参数,一个校验位部分包括一个第一CRC信息。其中,各部分的排列可以有多种,下面以图4b和图4c作为举例说明。
如图4b所示,一个子头部分后串接相应的网络编码数据部分,一个网络编码数据部分后串接相应的校验位部分。例如,子头部分1包括网络编码数据分段1对应的网络编码参数,该子头部分1后串接的网络编码数据部分1即包括该网络编码数据分段1,网络编码数据部分1后串接的校验位部分CRC1即包括该网络编码数据分段1对应的第一CRC信息。
可以理解的是,图4b中的校验位部分包含的第一CRC信息可以覆盖对应的网络编码 数据部分包含的第一网络编码数据分段,或者,也可以覆盖对应的网络编码数据部分包含的第一网络编码数据分段和对应的子头部分包含的网络编码参数。例如,校验位部分CRC1包含的第一CRC信息可以覆盖网络编码数据分段1包含的第一网络编码数据分段,或者可以覆盖网络编码数据分段1包含的第一网络编码数据分段和子头部分1包含的网络编码参数。
如图4c所示,所有的子头部分串接一起,然后再依次放置相应的网络编码数据部分,一个网络编码数据部分后串接相应的校验位部分。例如,子头部分1包括网络编码数据分段1对应的网络编码参数,该子头部分后串接的子头部分2包括网络编码数据分段2对应的网络编码参数。网络编码数据部分1包括子头部分1对应的网络编码数据分段1,网络编码数据部分1后串接的校验位部分CRC1即包括该网络编码数据分段1对应的第一CRC信息。网络编码数据部分2包括子头部分2对应的网络编码数据分段2,网络编码数据部分2后串接的校验位部分CRC2即包括该网络编码数据分段2对应的第一CRC信息。可以理解的是,各个部分包含的内容仅为举例,子头部分包含内容的排序与网络编码数据部分包含内容的排序可以不同,例如网络编码数据部分1可以包括子头部分2对应的网络编码数据分段2。
可以理解的是,图4c中的校验位部分包含的第一CRC信息可以覆盖对应的网络编码数据部分包含的第一网络编码数据分段,或者,也可以覆盖对应的网络编码数据部分包含的第一网络编码数据分段和对应的子头部分包含的网络编码参数。例如,校验位部分CRC1包含的第一CRC信息可以覆盖网络编码数据分段1,或者可以覆盖网络编码数据分段1和子头部分1包含的网络编码参数,本申请实施例不作限定。
可选的,如图4d所示,该PDU包括协议头部分(header)、数据域和校验位CRC部分。其中,该协议头部分包括PDU的序列号、数据域长度(比特/字节长度)指示信息等信息,数据域包含第一网络编码数据分段和该第一网络编码数据分段对应的网络编码参数,校验位部分包括第一CRC信息。可以理解的是,该第一CRC信息可以覆盖数据域的第一网络编码数据分段,或者,该第一CRC信息可以覆盖数据域的第一网络编码数据分段和网络编码参数。
可选的,如图4e所示,该PDU包括协议头部分(header)和数据域。其中,该协议头部分包括PDU的序列号、数据域长度(比特/字节长度)指示信息等信息,数据域包含第一网络编码数据分段、该第一网络编码数据分段对应的网络编码参数以及第一CRC信息。可以理解的是,该第一CRC信息可以覆盖数据域的第一网络编码数据分段,或者,该第一CRC信息可以覆盖数据域的第一网络编码数据分段和网络编码参数。
示例性的,图4a至图4e的PDU中,也可以对协议头部分(header)或子头部分(subheader)后添加CRC信息,该CRC信息覆盖协议头部分(header)或子头部分(subheader),用于接收端检测协议头部分(header)或子头部分(subheader)是否传输正确。
第二种可选的实施方式中,若第一数据单元是CB,如图4f所示,该第一数据单元可以包括码块头、码块和校验位部分,该码块包括至少一个第一网络编码数据分段,校验位部分包括该码块对应的第一CRC信息。可选的,该第一CRC信息可以是根据该码块包含的至少一个第一网络编码数据分段生成的,或者,该第一CRC信息可以是根据该码块包含 的至少一个第一网络编码数据分段和该码块头中包含的数据生成的。
可选的,一个码块的码块头中可以包括该码块中承载的一个第一网络编码数据分段或者多个第一网络编码数据分段对应的指示信息,指示信息包括但不限于:该码块包括的第一网络编码数据分段的个数,该码块包括的各个第一网络编码数据分段的起止位置指示信息、各个第一网络编码数据分段的大小或长度信息、各个第一网络编码数据分段对应的编码块标识信息(block ID)、第一网络编码数据分段在对应的编码块中的标识信息packet ID、生成该第一网络编码数据分段的系数指示信息、该第一网络编码数据分段对应编码块中包含的第一原始数据分段的个数指示信息等。
示例性的,也可以单独给码块头添加CRC信息,该CRC信息用于接收端检测码块头是否传输正确。
本申请实施例中,若第一数据单元是PDU,则输出第一数据单元可以理解为将该第一数据单元输出至下一层协议进行处理。例如,RLC层生成第一数据单元,则可以将第一数据单元输出至MAC层进行处理。若第一数据单元是物理层TB,则输出第一数据单元可以理解为对第一数据单元进行如码块分割、添加CRC、信道编码、速率匹配后,再进行码块级联、加扰、调制、资源映射等操作后发送给第二设备。若第一数据单元是物理层CB,则输出第一数据单元可以理解为对第一数据单元进行如信道编码、速率匹配后,再进行码块级联、加扰、调制、资源映射等操作后发送给第二设备。
S103,第一设备对第一数据单元进行处理后,传输至第二设备。
在一个实施例中,可以根据第一数据单元的存在形式,进行不同的处理,处理后再传输至第二设备。例如,若第一数据单元是PDU,则将该第一数据单元输出到下层协议处理,直至物理层,物理层进行如LDPC信道编码、速率匹配后,再进行码块级联、加扰、调制、资源映射等操作后,形成发送信号传输给第二设备。若第一数据单元是物理层TB,则对第一数据单元进行如码块分割、添加CRC、信道编码、速率匹配后,再进行码块级联、加扰、调制、资源映射等操作后发送给第二设备。若第一数据单元是物理层CB,则对第一数据单元进行如信道编码、速率匹配后,再进行码块级联、加扰、调制、资源映射等操作后发送给第二设备。
S104,第二设备获取第二数据单元,所述第二数据单元包括第二网络编码数据分段、所述第二网络编码数据分段对应的网络编码参数和第三CRC信息。
在一个实施例中,第二设备获取接收信号,并对该接收信号进行解调、解扰以及信道译码等操作后,获得该接收信号中的第二数据单元。可以理解的是,该第二数据单元与步骤S103和步骤S102中的第一数据单元的类型相同,例如,第一数据单元是RLC层的PDU,则第二数据单元也是RLC层的PDU。第一数据单元是物理层数据单元,第二数据单元也是物理层数据单元。在无线信道环境下,由于信道噪声或移动性带来的衰落或者其他用户带来的干扰等因素导致第二数据单元与第一数据单元可能不同。该第二数据单元包括第二网络编码数据分段、该第二网络编码数据分段对应的网络编码参数和第三CRC信息。其中,第二网络编码数据分段与第一网络编码数据分段可能相同或者不同。若第二网络编码数据分段与第一网络编码数据分段不同,则说明该第二网络编码数据分段传输错误,若第二网络编码数据分段与第一网络编码数据分段相同,则说明该第二网络编码数据分段传输正确。
其中,第二网络编码数据分段对应的网络编码参数包括该第二网络编码数据分段对应的编码块标识信息(block ID)。第二设备中具有网络编码功能的协议层或协议实体根据各个第二网络编码数据分段对应的编码块标识信息,将各个第二网络编码数据分段保存在对应的接收缓存(reception buffer)中,并对相同编码块中的所有第二网络编码数据分段进行CRC校验,对校验正确的第二网络编码数据分段进行译码,具体请参照步骤S105和步骤S106的描述,在此暂不赘述。
S105,第二设备使用第三CRC信息对所述第二网络编码数据分段进行校验,根据校验结果确定所述第二网络编码数据分段传输正确。
在一个实施例中,第二网络编码数据分段对应的第三CRC信息可以覆盖该第二网络编码数据分段,或者该第三CRC信息可以覆盖该第二网络编码数据分段和该第二网络编码数据分段对应的网络编码参数,本申请实施例不作限定。
若第三CRC信息覆盖第二网络编码数据分段,则第二设备针对一个第二网络编码数据分段,使用该第二网络编码数据分段对应的第三CRC信息对该第二网络编码数据分段进行校验,获得校验结果,该校验结果指示该第二网络编码数据分段是否传输正确,若该第二网络编码数据分段传输正确,则根据该第二网络编码数据分段对应的网络编码参数对该第二网络编码数据分段进行译码。
若第三CRC信息覆盖第二网络编码数据分段和该第二网络编码数据分段对应的网络编码参数,则第二设备针对一个第二网络编码数据分段,使用该第二网络编码数据分段对应的第三CRC信息对该第二网络编码数据分段和该第二网络编码数据分段对应的网络编码参数进行校验,获得校验结果,该校验结果指示该第二网络编码数据分段和网络编码参数是否传输正确,若该第二网络编码数据分段和网络编码参数传输正确,则根据该网络编码参数对该第二网络编码数据分段进行译码。
可选的,若第二数据单元是物理层的CB,该码块中包括至少一个第二网络编码数据分段,第三CRC信息是该码块对应的CRC信息。可以通过该第三CRC信息对该至少一个第二网络编码数据分段进行校验,以确定该码块包括的至少一个第二网络编码数据分段是否传输正确。
S106,第二设备根据网络编码参数对第二网络编码数据分段进行译码。
在一个实施例中,若第一设备是对同一组编码块的M个第一数据分段进行网络编码,获得N个第一网络编码数据分段。相应的,第二设备根据同一组编码块对应的N个第二网络编码数据分段中传输正确的L个第二网络编码数据分段对应的网络编码参数进行译码,L为大于或者等于M,且小于或者等于N的自然数。
例如,该L个第二网络编码数据分段对应的编码系数向量组成的系数矩阵的秩为M。将该L个第二网络编码数据分段分别对应的编码系数向量组合在一起,形成关于未知数X 1,X 2,...,X M的M元一次线性方程组,通过该方程组可以译码得到M个第二数据分段。
可选的,若第一设备进行网络编码的第一数据分段包括第一原始数据分段,则相应的,该第二数据分段包括第二原始数据分段,即译码得到的M个第二数据分段即是要得到的M个第二原始数据分段。若第一设备进行网络编码的第一数据分段包括第一原始数据分段和第二CRC信息,则相应的,该第二数据分段包括第二原始数据分段和第四CRC信息。第 二设备使用该第四CRC信息对该第二原始数据分段进行校验,并根据校验结果确定第二原始数据分段是否传输正确,第二设备将传输正确的第二原始数据分段作为要得到的原始数据分段。
在一种可能的设计中,若第一设备是采用图3b或图3c所示的网络编码方式进行的网络编码,则第二设备可以获取各个编码段,例如获取编码段C11、C21、C31、C12、C22、C13、C23以及C14。进一步根据编码系数向量[gi1,gi2,gi3,gi4]和各个编码段,就可以译码得到各个数据段。例如:第二设备获取编码段C11、C12、C13、C14,根据各个编码段对应的编码系数向量[gi1,gi2,gi3,gi4],就可以组成关于4个未知数的4个方程组,从而译码得到数据段X1、X2、X3和X4。通过得到的各个数据段,组合得到各个第二原始数据分段。
结合图5至图7,对图2所示的方法进行更详细的介绍。为便于理解,图5至图7中以在PDCP层和RLC层之间新增加一个协议层(网络编码层)作为举例说明,该网络编码层具有网络编码功能。为方便描述,在图5至图7实施例中,将第一设备称为发送端,将第二设备称为接收端。将第一原始数据分段、第二原始数据分段统称为原始数据分段,将第一网络编码数据分段、第二网络编码数据分段统称为网络编码数据分段,将第一CRC信息、第二CRC信息、第三CRC信息以及第四CRC信息统称为CRC信息。
在图5实施例中,发送端对原始数据分段进行网络编码,获得网络编码数据分段,然后对获得的网络编码数据分段添加CRC信息。在图6实施例中,发送端对原始数据分段添加CRC信息后,再对添加CRC信息后的原始数据分段进行网络编码,获得网络编码数据分段,然后对获得的网络编码数据分段再添加CRC信息。在图5和图6中均通过PDU承载网络编码数据分段。在图7实施例中,通过物理层的CB承载网络编码数据分段。
如图5所示,发送端的网络编码层接收上层PDCP层传输的PDCP PDU,网络编码层可以将多个PDCP PDU作为一组编码块,也可以将一个PDCP PDU作为一组编码块,或者根据预定义的规则或者半静态配置的规则取出相应大小或长度的PDCP PDU作为一组编码块,一组编码块可能包含非整数个PDCP PDU,对一组编码块的比特序列按照预定义的规则或者半静态配置的规则进行划分获得多个原始数据分段,所述规则可以包含:一组编码块总共包含的比特数目、一组编码块包含的原始数据分段的个数、一个原始数据分段的比特数的大小或大小限制等信息。例如,预定义的规则可以是一组编码块包含原始数据分段的个数是2、一个原始数据分段的比特数是500bytes。如果网络编码层接收到的PDCP PDU的大小是1000bytes,则一个PDCP PDU组成一组编码块,并对该PDCP PDU进行分割获得两个原始数据分段,分别为X 1、X 2
对划分得到的多个原始数据分段进行网络编码生成至少一个网络编码数据分段,网络编码规则可以是预定义或者半静态配置的,网络编码规则包含网络编码方式、网络编码GF域大小等信息。网络编码方式可以是随机线性网络编码、或者确定线性网络编码、或者BATS码、或者纠删码(erasure code)、或者喷泉码(fountain code)、或者卷积网络编码、或者流编码(例如:streaming coding)等等。
例如,预定义的网络编码规则是随机线性网络编码,网络编码GF域大小配置为GF(4),则对上述获得的两个原始数据分段X 1、X 2进行随机线性网络编码,生成3个网络编码数 据分段,该3个网络编码数据分段分别用Y 1 Y 2 Y 3表示,其中,Y 1 Y 2 Y 3满足公式:
Figure PCTCN2021079734-appb-000003
生成该3个网络编码数据分段的随机选取的系数g 1 g 2 g 3可以分别是g 1=[1 0],g 2=[2 3],g 3=[3 1]。
然后,根据该网络编码数据分段,生成网络编码层的PDU,该PDU包括协议头部分H、网络编码数据部分和校验位部分CRC。其中,协议头部分包括网络编码参数,校验位部分包括CRC信息,网络编码数据部分包括网络编码数据分段,该PDU的多种存在形式可以参照前述实施例的描述,在此不再赘述。可以理解的是,该CRC信息可以覆盖网络编码数据分段,或者可以覆盖网络编码数据分段和网络编码参数。将生成的网络编码层PDU发送给下一层,即RLC层。最终通过物理层的TB将网络编码数据分段发送给接收端。可以理解的是,相同编码块的网络编码数据分段可以经由一个TB发送,也可经由不同的TB发送。
接收端物理层将接收到的信息比特序列全部发送到上层MAC层。可选的,无论TB的正确与否,MAC层都将解析得到的RLC PDU递交至上层,RLC层将解析得到的网络编码层PDU递交至网络编码层。即MAC层可以不对TB进行CRC校验,或者MAC层对TB进行CRC校验,但是即使发现TB错误,也将PDU递交至上层。
接收端网络编码层会收到发送端网络编码层发送的所有网络编码层PDU,该网络编码层PDU包含网络编码数据分段、该网络编码数据分段对应的网络编码参数、该网络编码数据分段对应的CRC信息。接收端网络编码层根据各个网络编码层PDU中网络编码参数指示的编码块ID,将网络编码层PDU保存在对应的接收缓存(reception buffer)中。针对一个网络编码层PDU,进一步根据CRC信息对相应的网络编码数据分段进行CRC校验。获取CRC校验正确的网络编码数据分段,根据其对应的网络编码参数进行译码,获得原始数据分段。
下面继续采用上述网络编码过程中利用系数g 1 g 2 g 3生成Y 1 Y 2 Y 3的示例,对译码过程进行示例性的说明,接收端网络编码层接收到底层发送的包含网络编码参数和CRC信息的Y 1 Y 2 Y 3,分别对Y 1 Y 2 Y 3进行CRC校验,由于信道因素的影响,如信道噪声或移动性带来的衰落或者其他用户带来的干扰等,Y 1 Y 2 Y 3中可能会有部分传输错误,即CRC校验错误,例如对Y 2进行CRC校验结果错误,对Y 1和Y 3进行CRC校验结果都正确,则将Y 1和Y 3的编码系数向量g 1和g 3组合在一起,可以形成关于未知数X 1,X 2的二元一次线性方程组,该二元一次线性方程组满足公式:
Y 1=1*X 1+0*X 2
Y 3=3*X 1+1*X 2
该方程组的系数矩阵满足以下矩阵:
Figure PCTCN2021079734-appb-000004
由于上述系数矩阵的秩为2,与未知数的个数或者原始数据分段的个数相同,则接收端可以利用该系数矩阵解码获得M个原始数据分段。
如图6所示,发送端网络编码层获得多个原始数据分段。其中,获得原始数据分段的方法可以参照图5实施例的描述,在此不再赘述。进一步对每个原始数据分段分别添加CRC信息,即一个原始数据分段添加一个CRC信息,该CRC信息是根据该原始数据分段计算 得到的,即该CRC信息用于对该原始数据分段进行校验。
对添加了CRC信息的多个原始数据分段进行网络编码生成至少一个网络编码数据分段。针对每个网络编码数据分段,生成该网络编码数据分段对应的CRC信息,即一个网络编码数据分段对应一个CRC信息,该CRC信息是根据该网络编码数据分段计算得到,即该CRC信息用于对该网络编码数据分段进行校验。进一步根据网络编码数据分段,生成网络编码层PDU,发送给接收端,该网络编码层PDU包括网络编码数据分段、该网络编码数据分段对应的网络编码参数、以及该网络编码数据分段对应的CRC信息。其中,网络编码的方式以及网络编码层PDU传输方式请参照图5实施例的描述,在此不再赘述。
接收端物理层将接收到的信息比特序列全部发送到上层MAC层。可选的,无论TB的正确与否,MAC层都将解析得到的RLC PDU递交至上层,RLC层将解析得到的网络编码层PDU递交至网络编码层。即MAC层可以不对TB进行CRC校验,或者MAC层对TB进行CRC校验,但是即使发现TB错误,也将解析得到的PDU递交至上层。
接收端网络编码层会收到发送端网络编码层发送的所有网络编码层PDU,该网络编码层PDU包含网络编码数据分段、网络编码数据分段对应的网络编码参数、网络编码数据分段对应的CRC信息。接收端网络编码层根据各个网络编码层PDU中网络编码参数指示的编码块ID,将网络编码层PDU保存在对应的接收缓存(reception buffer)中。针对一个网络编码层PDU,进一步根据CRC信息对相应的网络编码数据分段进行CRC校验。获取CRC校验正确的网络编码数据分段,根据其对应的网络编码参数进行译码,获得包含CRC信息的原始数据分段,其中,根据网络编码参数进行译码的方式请参照图5实施例的描述,在此不再赘述。
获得包含CRC信息的原始数据分段后,使用该CRC信息对相应的原始数据分段进行CRC校验,获得CRC校验正确的原始数据分段。
如图7所示,发送端网络编码层给物理层发送网络编码数据分段,并通过物理层的TB将网络编码数据分段发送给接收端。具体可选的,发送端物理层对TB进行码块分割得到多个码块CB。可选的,对TB分割时,一个CB的大小可以是一个网络编码数据分段的大小或者是若干个网络编码数据分段的大小。一个TB中的所有CB可以不等长或者等长,本申请实施例不作限定。
进一步可选的,对分割后的CB添加码块头,该码块头中包括该CB中承载的网络编码数据分段的个数,还可以包含该CB中承载的各个网络编码数据分段的起始位置和/或截止位置指示信息、各个网络编码数据分段的大小或长度信息、各个网络编码数据分段对应的编码块标识信息(block ID)、网络编码数据分段在对应的编码块中的标识信息(packet ID)、生成该网络编码数据分段的系数指示信息、该网络编码数据分段对应的编码块中包含的原始数据分段的个数指示信息等。对CB添加CRC信息,该CRC信息可以覆盖CB的数据部分,或者该CRC信息可以覆盖CB对应的码块头和CB的数据部分。可选的,还可以对CB的码块头单独添加CRC信息。
接收端物理层对TB中各个CB进行CRC校验,对CRC校验正确的CB解析其对应的码块头,进一步提取出CRC校验正确的CB中包含的所有的网络编码数据分段,向上层递交。最终网络编码层接收到网络编码数据分段和网络编码数据分段对应的网络编码参数。 根据网络编码参数中指示的编码块标识信息,将网络编码数据分段保存在对应的接收缓存(reception buffer)中。进一步根据网络编码参数中的编码系数向量,对一组编码块中存储的网络编码数据分段进行译码获得原始数据分段,其中,对网络编码数据分段进行译码的方式请参照图5实施例的描述,在此不再赘述。
请参照图8,为本申请实施例提供的另一种数据传输方法的流程示意图,该方法包括但不限于如下步骤:
S200,第一设备根据第三原始数据分段,生成第五CRC信息。
S201,根据所述第三原始数据分段和所述第五CRC信息进行网络编码,获得第三网络编码数据分段。
在一个实施例中,第一设备对每个第三原始数据分段,生成该第三原始数据分段对应的第五CRC信息,即一个第三原始数据分段对应一个第五CRC信息,并给该第三原始数据分段添加第五CRC信息。可选的,可以是根据第三原始数据分段,计算得到第五CRC信息,即该第五CRC信息覆盖该第三原始数据分段,该第五CRC信息用于对该第三原始数据分段进行校验。
在一个实施例中,第一设备可以将至少一个添加了第五CRC信息的第三原始数据分段进行网络编码,获得至少一个第三网络编码数据分段。其中,该至少一个第三原始数据分段可以是属于相同编码块的数据分段。
可选的,具有网络编码功能的协议层或协议实体将待发送的数据分成多组编码块,一组编码块中包含至少两个第三原始数据分段。各组编码块可以用各自的标识信息区别,例如block ID。其中,待发送的数据可以是上层协议发送的一个或多个PDU,或者也可以是本协议层的一个或者多个SDU或SDU分段,或者也可以是物理层的TB或者CB,本申请实施例不作限定。
一组编码块中各个第三原始数据分段的大小可以相同也可以不相同。示例性的,网络侧设备可以对第三原始数据分段的大小(比特数或字节数)进行限制或半静态配置,也可以根据预定义的方式获得第三原始数据分段,例如,第一设备按顺序一次取1000字节大小的数据比特作为一个第三原始数据分段,再例如,如果网络编码是在物理层实现,可以将一个CB作为一个第三原始数据分段。
示例性的,一组编码块中包含的第三原始数据分段的个数用M表示,其中M>=2,网络侧设备可以对M的大小限制或半静态配置,M也可以是预定义的大小,如M=8。也可以由发送端自行决定M的大小,但要通知接收端该M的大小。
进一步,第一设备可以对该M个第三原始数据分段中的每个第三原始数据分段,分别生成该第三原始数据分段对应的第五CRC信息,并给该第三原始数据分段添加所生成的第五CRC信息,总共可以获得M个添加了第五CRC信息的第三原始数据分段。
对该M个添加了第五CRC信息的第三原始数据分段进行网络编码,获得N个第三网络编码数据分段,例如,该N个第三网络编码数据分段分别为Y 1,Y 2,...,Y N(N≥1)。可以理解的是,本申请实施例的网络编码所采用的网络编码方式是预定义的或者半静态配置的,其中,网络编码的方式可以包括但不限于以下方式中的一种:随机线性网络编码、确 定线性网络编码、BATS码、纠删码、喷泉码、卷积网络编码以及流编码(例如:streaming coding)等等。
可选的,如果M个第三原始数据分段的大小不等,则可以将所有第三原始数据分段的比特序列采用补0的方式补至M个第三原始数据分段中的最大长度,然后再为每个第三原始数据分段生成第五CRC信息,进一步对M个添加了第五CRC信息的第三原始数据分段进行网络编码。
对M个第三数据分段进行网络编码,获得N个第三网络编码数据分段后,进一步还可以获得该N个第三网络编码数据分段中每个第三网络编码数据分段对应的网络编码参数。
其中,网络编码参数可以包括该第三网络编码数据分段对应的系数指示信息,其中,系数指示信息可以包括该第三网络编码数据分段对应的编码系数向量,或者能够指示对应编码系数向量的索引信息,其中,编码系数向量可以是码本中的一个码字,通过该码字在码本中的索引信息可以指示对应的编码系数向量。
网络编码参数还可以包括该第三网络编码数据分段对应的编码块的标识信息(例如:block ID)。进一步可选的,该网络编码参数还可以包括该第三网络编码数据分段在对应的编码块中的标识信息(例如:packet ID),以及该第三网络编码数据分段对应的编码块中包含的第三原始数据分段的个数(例如上述M的值),可选的,该网络编码参数还可以包括第三网络编码数据分段的长度或大小指示信息等。
S202,根据所述第三网络编码数据分段,生成第三数据单元,所述第三数据单元包括所述第三网络编码数据分段对应的网络编码参数。
S203,第一设备对第三数据单元进行处理后,传输至第二设备。
在一个实施例中,第一设备具有网络编码功能的协议层或协议实体将一个或多个第三网络编码数据分段以及相应的网络编码参数组成第三数据单元发送给下一层。可以理解的是,对M个添加了第五CRC信息的第三原始分段进行网络编码获得的N个第三网络编码数据分段,可以分布在一个或者多个第三数据单元中。可选的,该第三数据单元可以是物理层的TB或者CB,或者还可以是除物理层以外其它协议层的PDU。本申请实施例的PDU格式可以包括多种,下面结合图9a至图9d对PDU的格式进行举例说明。
可选的,如图9a所示,该PDU包括协议头部分(例如:header)和网络编码数据部分(例如:coded packet)。其中,该协议头部分包括第三网络编码数据分段对应的网络编码参数,其中,网络编码参数的定义请参照前述实施例的描述,在此不再赘述。网络编码数据部分包括第三网络编码数据分段。
可选的,该PDU包含协议头部分(header)、至少一个子头部分(subheader)以及至少一个网络编码数据部分(coded packet)。该协议头部分包括个数指示信息,该个数指示信息用于指示该PDU包含的第三网络编码数据分段的个数。一个网络编码数据部分包括一个第三网络编码数据分段,一个子头部分包括一个第三网络编码数据分段对应的网络编码参数。其中,各部分的排列可以有多种,下面以图9b和图9c作为举例说明。
如图9b所示,一个子头部分后串接相应的网络编码数据部分。例如,子头部分1包括网络编码数据分段1对应的网络编码参数,该子头部分1后串接的网络编码数据部分1即包括该网络编码数据分段1。子头部分2包括网络编码数据分段2对应的网络编码参数, 该子头部分2后串接的网络编码数据部分2即包括该网络编码数据分段2。其中,网络编码数据分段1、网络编码数据分段2可以是对M个添加了第五CRC信息的第三原始数据分段进行网络编码得到的,具体请参照前述实施例的描述,在此不再赘述。
如图9c所示,所有的子头部分串接一起,然后再依次放置相应的网络编码数据部分。例如,子头部分1包括网络编码数据分段1对应的网络编码参数,该子头部分后串接的子头部分2包括网络编码数据分段2对应的网络编码参数。网络编码数据部分1包括子头部分1对应的网络编码数据分段1。网络编码数据部分2包括子头部分2对应的网络编码数据分段2。可以理解的是,各个部分包含的内容仅为举例,子头部分包含内容的排序与网络编码数据部分包含内容的排序可以不同,例如网络编码数据部分1可以包括子头部分2对应的网络编码数据分段2。
可选的,如图9d所示,该PDU包括协议头部分(header)和数据域。其中,该协议头部分包括PDU的序列号、数据域长度(比特/字节长度)指示信息等信息,数据域包含第三网络编码数据分段和该第三网络编码数据分段对应的网络编码参数。其中,网络编码参数的定义请参照前述实施例的描述,在此不再赘述。第三网络编码数据分段可以是对M个添加了第五CRC信息的第三原始数据分段进行网络编码得到的。
示例性的,图9a至图9d的PDU中,也可以对协议头部分(header)或子头部分(subheader)后添加CRC校验位,该CRC校验位覆盖协议头部分(header)或子头部分(subheader),用于接收端检测协议头部分(header)或子头部分(subheader)是否传输正确。
本申请实施例中,若第三数据单元是PDU,则可以将该第三数据单元输出至下一层协议进行处理。例如,RLC层生成第三数据单元,则可以将第三数据单元输出至MAC层进行处理,直至物理层。物理层通过TB将第三数据单元传输至第二设备。可选的,物理层对第三数据单元进行如低密度奇偶校验(low density parity check,LDPC)信道编码、速率匹配后,再进行码块级联、加扰、调制、资源映射等操作后,形成发送信号发送给第二设备。
S204,第二设备获取第四数据单元,所述第四数据单元包括第四网络编码数据分段和所述第四网络编码数据分段对应的网络编码参数。
在一个实施例中,第二设备获取接收信号,并对该接收信号进行解调、解扰以及信道译码等操作后,获得该接收信号中的第四数据单元。可以理解的是,该第二数据单元与步骤S202和步骤S203中的第三数据单元的类型相同,例如,第三数据单元是RLC层的PDU,则第四数据单元也是RLC层的PDU。第三数据单元是物理层数据单元,第四数据单元也是物理层数据单元。在无线信道环境下,由于信道噪声或移动性带来的衰落或者其他用户带来的干扰等因素导致第四数据单元与第三数据单元可能不同。该第四数据单元包括第四网络编码数据分段、该第四网络编码数据分段对应的网络编码参数。
其中,第四网络编码数据分段与第三网络编码数据分段可能相同或者不同。若第四网络编码数据分段与第三网络编码数据分段不同,则说明该第四网络编码数据分段传输错误,若第四网络编码数据分段与第三网络编码数据分段相同,则说明该第四网络编码数据分段传输正确。在本申请实施例中,无论第四网络编码数据分段是否传输正确,均执行步骤S205,即对第四网络编码数据分段进行译码。
其中,第四网络编码数据分段对应的网络编码参数包括该第四网络编码数据分段对应的编码块标识信息(block ID)。第二设备中具有网络编码功能的协议层或协议实体根据各个第四网络编码数据分段对应的编码块标识信息,将各个第四网络编码数据分段保存在对应的接收缓存(reception buffer)中,并根据相应的网络编码参数,对相同编码块对应的所有第四网络编码数据分段进行译码,具体请参照步骤S205的描述,在此暂不赘述。
S205,第二设备根据所述网络编码参数对所述第四网络编码数据分段进行译码,获得第四原始数据分段和第六CRC信息。
在一个实施例中,第二设备对同一组编码块对应的N个第四网络编码数据分段进行译码,例如将该N个第四网络编码数据分段分别对应的编码系数向量组合在一起形成关于未知数X 1,X 2,...,X M的M元一次线性方程组,通过该方程组可以译码得到至少一组结果,一组结果包括M个包含第六CRC信息的第四原始数据分段。
S206,第二设备使用所述第六CRC信息对所述第四原始数据分段进行校验,并根据校验结果确定所述第四原始数据分段是否传输正确。
在一个实施例中,针对一组结果中的M个包含第六CRC信息的第四原始数据分段,第二设备使用第六CRC信息对该第四原始数据分段进行校验,并根据校验结果确定第四原始数据分段是否传输正确,第二设备将传输正确的第四原始数据分段作为要得到的原始数据分段。
结合图10,对图8所示的方法进行更详细的介绍。为便于理解,图8中以在PDCP层和RLC层之间新增加一个协议层(网络编码层)作为举例说明,该网络编码层具有网络编码功能。为方便描述,在图10实施例中,将第一设备称为发送端,将第二设备称为接收端。将第三原始数据分段、第四原始数据分段统称为原始数据分段,将第三网络编码数据分段、第四网络编码数据分段统称为网络编码数据分段,将第五CRC信息以及第六CRC信息统称为CRC信息。
如图10所示,发送端的网络编码层接收上层PDCP发来的PDCP PDU,网络编码层可以将多个PDCP PDU作为一组编码块,也可以将一个PDCP PDU作为一组编码块,或者根据预定义的规则或者半静态配置的规则取出相应大小或长度的PDCP PDU作为一组编码块,一组编码块可能包含非整数个PDCP PDU,对一组编码块的比特序列按照预定义的规则或者半静态配置的规则进行划分获得多个原始数据分段,所述规则可以包含:一组编码块总共包含的比特数目、一组编码块包含的原始数据分段的个数、一个原始数据分段的比特数的大小或大小限制等信息。例如,预定义的规则是一组编码块包含原始数据分段的个数是2、一个原始数据分段的比特数是500bytes。如果网络编码层接收到的PDCP PDU的大小是1000bytes,则一个PDCP PDU组成一组编码块,并对该PDCP PDU进行分割获得两个原始数据分段。
对划分得到的多个原始数据分段中的每个原始数据分段分别添加CRC信息,然后对添加了CRC信息的多个原始数据分段进行网络编码,生成至少一个网络编码数据分段。网络编码规则可以是预定义或者半静态配置的,网络编码规则包含网络编码方式、网络编码GF域大小等信息。网络编码方式可以是随机线性网络编码、或者确定线性网络编码、或者BATS 码、或者纠删码(erasure code)、或者喷泉码(fountain code)、或者卷积网络编码、或者流编码(例如:streaming coding)等等。
例如,预定义的网络编码规则是随机线性网络编码,网络编码GF域大小配置为GF(4),添加了CRC信息的两个原始数据分段分别为X 1、X 2,则对该两个原始数据分段进行随机线性网络编码,生成3个网络编码数据分段,该3个网络编码数据分段分别用Y 1 Y 2 Y 3表示,其中,Y 1 Y 2 Y 3满足公式
Figure PCTCN2021079734-appb-000005
进。可选的,生成该3个网络编码数据分段的随机选取的系数g 1 g 2 g 3可以分别是g 1=[1 0],g 2=[2 3],g 3=[3 1]。
根据该网络编码数据分段,生成网络编码层PDU,该PDU的多种存在形式可以参照前述实施例的描述,在此不再赘述。将生成的网络编码层PDU发送给下一层,即RLC层。最终通过物理层的TB将网络编码数据分段发送给接收端。可以理解的是,相同编码块的网络编码数据分段可以经由一个TB发送,也可经由不同的TB发送。
接收端物理层将接收到的信息比特序列全部发送到上层MAC层。可选的,无论TB的正确与否,MAC层都将解析得到的RLC PDU递交至上层,RLC层将解析得到的网络编码层PDU递交至网络编码层。即MAC层可以不对TB进行CRC校验,或者MAC层对TB进行CRC校验,但是即使发现TB错误,也将PDU递交至上层。
接收端网络编码层会收到发送端网络编码层发送的所有网络编码层PDU,该网络编码层PDU包含网络编码数据分段和该网络编码数据分段对应的网络编码参数。接收端网络编码层根据各个网络编码层PDU中网络编码参数指示的编码块ID,将网络编码层PDU保存在对应的接收缓存(reception buffer)中,并根据相应的网络编码参数对相同编码块中的所有网络编码数据分段进行译码,获得包含CRC信息的原始数据分段。进一步使用CRC信息对该原始数据分段进行CRC校验,获得CRC校验正确的原始数据分段。
下面继续采用上述网络编码过程中利用系数g 1 g 2 g 3生成Y 1 Y 2 Y 3的示例,对译码过程进行示例性的说明,接收端网络编码层接收到底层发送的相同编码块的网络编码数据分段Y 1 Y 2 Y 3。根据该网络编码数据分段各自对应的网络编码参数指示或者根据预定义的网络规则或者根据配置信息的指示,确定该编码块中有两个原始数据分段。因此将Y 1 Y 2 Y 3各自对应的网络编码参数中指示的编码系数向量g 1、g 2和g 3组合在一起,形成关于未知数X 1,X 2的二元一次线性方程组,该二元一次线性方程组满足如下公式:
Y 1=1*X 1+0*X 2
Y 3=2*X 1+3*X 2
Y 3=3*X 1+1*X 2
方程组的系数矩阵满足以下矩阵:
Figure PCTCN2021079734-appb-000006
如果Y 1 Y 2 Y 3全部传输正确,则对Y 1、Y 2和Y 3译码得到一组X 1,X 2,并且对X 1,X 2各自进行CRC校验,获得校验结果,该校验结果指示校验正确。如果由于信道因素的影响,Y 1 Y 2 Y 3中可能会有部分传输错误,对Y 1、Y 2和Y 3译码可能得到不止一组X 1,X 2,对得到的X 1,X 2进行CRC校验,取出CRC校验正确的X 1,X 2,即获得原始数据分段。
以上,结合图2至图10详细说明了本申请实施例提供的方法。以下,结合图11至图14详细说明本申请实施例提供的装置。
图11是本申请实施例提供的通信装置的示意性框图。如图11所示,该通信装置1700可以包括处理单元1710和通信单元1720。处理单元1710和通信单元1720可以是软件,也可以是硬件,或者是软件和硬件结合。
其中,通信单元1720可包括输入单元和/或输出单元,输出单元用于实现数据单元输出功能,输入单元用于实现数据单元输入功能,通信单元1720可以实现输入功能和/或输出功能。通信单元1720也可以描述为输入输出单元。
可选的,通信单元1720可以用于接收其他装置发送的数据单元(或信息),还可以用于向其他装置发送数据单元(或信息)。处理单元1720可以用于进行装置的内部处理。
在一种可能的设计中,该通信装置1700可对应于上述图2至图7方法实施例中的第一设备,该通信装置1700可以是第一设备,也可以是第一设备中的芯片。该通信装置1700可以包括用于执行上述图2至图7方法实施例中由第一设备所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述图2至图7方法实施例中由第一设备所执行的操作。
示例性的,处理单元1710,用于根据第一数据分段进行网络编码,获得第一网络编码数据分段;根据所述第一网络编码数据分段,生成第一循环冗余码校验CRC信息和第一数据单元,所述第一数据单元包括所述第一网络编码数据分段对应的网络编码参数和所述第一CRC信息,所述第一CRC信息用于对所述第一网络编码数据分段进行校验。
通信单元1720,输出所述第一数据单元。
可选的,处理单元1710用于根据所述第一网络编码数据分段和所述网络编码参数,生成所述第一CRC信息。
可选的,所述第一数据分段包括第一原始数据分段;或者所述第一数据分段包括第一原始数据分段和第二CRC信息,所述第二CRC信息用于对所述第一原始数据分段进行校验。
可选的,所述第一数据单元为协议数据单元PDU,所述PDU包括协议头部分、网络编码数据部分和校验位部分;
所述协议头部分包括所述网络编码参数,所述网络编码数据部分包括所述第一网络编码数据分段,所述校验位部分包括所述第一CRC信息。
可选的,所述第一数据单元为PDU,所述PDU包括协议头部分、至少一个网络编码数据部分、至少一个子头部分以及至少一个校验位部分;
所述协议头部分包括个数指示信息,所述个数指示信息用于指示所述PDU包含的所述第一网络编码数据分段的个数;
一个所述网络编码数据部分包括一个所述第一网络编码数据分段,一个所述子头部分包括与一个所述第一网络编码数据分段对应的网络编码参数,一个所述校验位部分包括一个所述第一CRC信息。
可选的,所述第一数据单元为PDU,所述PDU包括协议头部分、数据域部分以及校 验位部分;
所述协议头部分包括长度指示信息,所述长度指示信息用于指示所述数据域部分的长度;
所述数据域部分包括所述网络编码参数和所述第一网络编码数据分段,所述校验位部分包括所述第一CRC信息。
可选的,所述第一数据单元为PDU,所述PDU包括协议头部分和数据域部分;
所述协议头部分包括长度指示信息,所述长度指示信息用于指示所述数据域部分的长度;
所述数据域部分包括所述网络编码参数、所述第一网络编码数据分段和所述第一CRC信息。
可选的,所述第一数据单元包括码块头、码块和校验位部分,所述码块包括至少一个所述第一网络编码数据分段;
所述校验位部分包括所述码块对应的所述第一CRC信息;
所述码块头包括所述至少一个第一网络编码数据分段中的一个第一网络编码数据分段或者多个第一网络编码数据分段对应的网络编码参数。
可选的,所述处理单元1710还用于根据所述至少一个第一网络编码数据分段,生成所述第一CRC信息;或者,
根据所述至少一个第一网络数据分段和所述码块头中包含的数据,生成所述第一CRC信息。
可选的,所述网络编码参数包括以下多种参数中的一种或者多种:所述第一网络编码数据分段对应的编码块的标识信息、所述第一网络编码数据分段对应的系数指示信息、所述第一网络编码数据分段在对应的编码块中的标识信息、或者所述第一网络编码数据分段对应的编码块中包含的所述第一数据分段的个数。
可选的,所述PDU为以下多种PDU中的一种:媒体接入控制MAC层PDU、无线链路控制RLC层PDU、回传适配协议BAP层PDU、分组数据汇聚协议PDCP层PDU、或者具有网络编码功能的协议层的PDU。
在一种可能的设计中,该通信装置1700可对应于上述图2至图7方法实施例中的第二设备,如该通信装置1700可以是第二设备,也可以是第二设备中的芯片。该通信装置1700可以包括用于执行上述图2至图7方法实施例中由第二设备所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述图2至图7方法实施例中由第二设备所执行的操作。
示例性的,通信单元1720,用于获取第二数据单元,所述第二数据单元包括第二网络编码数据分段、所述第二网络编码数据分段对应的网络编码参数和第三CRC信息。
处理单元1710,用于使用所述第三CRC信息对所述第二网络编码数据分段进行校验,根据校验结果确定所述第二网络编码数据分段传输正确;根据所述网络编码参数对所述第二网络编码数据分段进行译码。
可选的,处理单元1710还用于使用所述第三CRC信息对所述第二网络编码数据分段和所述网络编码参数进行校验,根据校验结果确定所述第二网络编码数据分段和所述网络 编码参数传输正确。
可选的,处理单元1710还用于根据所述网络编码参数对所述第二网络编码数据分段进行译码,获得第二数据分段,所述第二数据分段包括第四CRC信息和第二原始数据分段,以及使用所述第四CRC信息对所述第二原始数据分段进行校验,并根据校验结果确定所述第二原始数据分段是否传输正确。
在一种可能的设计中,该通信装置1700可对应于上述图8至图10方法实施例中的第一设备,该通信装置1700可以是第一设备,也可以是第一设备中的芯片。该通信装置1700可以包括用于执行上述图8至图10方法实施例中由第一设备所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述图8至图10方法实施例中由第一设备所执行的操作。
示例性的,处理单元1710,用于根据第三原始数据分段,生成第五CRC信息;根据所述第三原始数据分段和所述第五CRC信息进行网络编码,获得第三网络编码数据分段;根据所述第三网络编码数据分段,生成第三数据单元,所述第三数据单元包括所述第三网络编码数据分段对应的网络编码参数。
通信单元1720,用于输出该第三数据单元。
可选的,所述第三数据单元为PDU,所述PDU包括协议头部分和网络编码数据部分;
所述协议头部分包括所述网络编码参数,所述网络编码数据部分包括所述第三网络编码数据分段。
可选的,所述第三数据单元为PDU,所述PDU包括协议头部分、至少一个网络编码数据部分以及至少一个子头部分;
所述协议头部分包括个数指示信息,所述个数指示信息用于指示所述PDU包含的所述第三网络编码数据分段的个数;
一个所述网络编码数据部分包括一个所述第三网络编码数据分段,一个所述子头部分包括与一个所述第三网络编码数据分段对应的网络编码参数。
可选的,所述第三数据单元为PDU,所述PDU包括协议头部分和数据域部分;
所述协议头部分包括长度指示信息,所述长度指示信息用于指示所述数据域部分的长度;
所述数据域部分包括所述第三网络编码数据分段和所述网络编码参数。
在一种可能的设计中,该通信装置1700可对应于上述图8至图10方法实施例中的第二设备,如该通信装置1700可以是第二设备,也可以是第二设备中的芯片。该通信装置1700可以包括用于执行上述图8至图10方法实施例中由第二设备所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述图8至图10方法实施例中由第二设备所执行的操作。
示例性的,通信单元1720,用于获取第四数据单元,所述第四数据单元包括第四网络编码数据分段和所述第四网络编码数据分段对应的网络编码参数。
处理单元1710,用于根据所述网络编码参数对所述第四网络编码数据分段进行译码,获得第四原始数据分段和第六CRC信息;使用所述第六CRC信息对所述第四原始数据分段进行校验,并根据校验结果确定所述第四原始数据分段是否传输正确。
应理解,该通信装置1700为终端设备时,该通信装置1700中的通信单元1720可对应于图12中示出的终端设备2000中的收发器2020,该通信装置1700中的处理单元1710可对应于图12中示出的终端设备2000中的处理器2010。
还应理解,该通信装置1700为配置于UE中的芯片时,该通信装置1700中的通信单元1720可以为输入/输出接口。
应理解,该通信装置1700对应核心网中的会话管理网元、移动管理网元或其他网元时,该通信装置1700中的通信单元1720可对应于图13中示出的通信接口3010,处理单元1710可对应于图13中示出的处理器3020。
图12是本申请实施例提供的终端设备2000的结构示意图。该终端设备2000可应用于如图1b所示的系统中,执行上述方法实施例中终端设备(或UE)的功能。如图12所示,该终端设备2000包括处理器2010和收发器2020。可选地,该终端设备2000还包括存储器2030。其中,处理器2010、收发器2002和存储器2030之间可以通过内部连接通路互相通信,传递控制或数据信号,该存储器2030用于存储计算机程序,该处理器2010用于从该存储器2030中调用并运行该计算机程序,以控制该收发器2020收发信号。可选地,终端设备2000还可以包括天线2040,用于将收发器2020输出的上行数据或上行控制信令通过无线信号发送出去。
上述处理器2010可以和存储器2030可以合成一个处理装置,处理器2010用于执行存储器2030中存储的程序代码来实现上述功能。具体实现时,该存储器2030也可以集成在处理器2010中,或者独立于处理器2010。该处理器2010可以与图11中的处理单元对应。
上述收发器2020可以与图11中的通信单元对应。收发器2020可以包括接收器(或称接收机、接收电路)和发射器(或称发射机、发射电路)。其中,接收器用于接收信号,发射器用于发射信号。
应理解,图12所示的终端设备2000能够实现上述方法实施例中任一方法实施例中涉及第一设备或第二设备的各个过程。终端设备2000中的各个模块的操作或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
上述处理器2010可以用于执行前面方法实施例中描述的由第一设备或第二设备内部实现的动作,而收发器2020可以用于执行前面方法实施例中描述的第一设备或第二设备输出或者获取数据单元的动作。具体请见前面方法实施例中的描述,此处不再赘述。
可选地,上述终端设备2000还可以包括电源2050,用于给终端设备中的各种器件或电路提供电源。
除此之外,为了使得终端设备的功能更加完善,该终端设备2000还可以包括输入单元2060、显示单元2070、音频电路2080、摄像头2090和传感器2100等中的一个或多个,所述音频电路还可以包括扬声器2082、麦克风2084等。
图13是本申请一个实施例的通信装置的示意性结构图。应理解,图13示出的通信装置3000仅是示例,本申请实施例的通信装置还可包括其他模块或单元,或者包括与图13 中的各个模块的功能相似的模块,或者并非要包括图13中所有模块。
通信装置3000包括通信接口3010和至少一个处理器3020。
该通信装置1900可以对应会话管理网元、移动管理网元、终端设备、接入网设备、网络设备中的任一网元。至少一个处理器3020执行程序指令,使得通信装置1900实现上述方法实施例中由第一设备或第二设备所执行的方法的相应流程。
可选地,通信装置3000还可以包括存储器。该存储器可以存储程序指令,至少一个处理器3020可以读取存储器所存储的程序指令并执行该程序指令。
对于通信装置可以是芯片或芯片系统的情况,可参见图14所示的芯片的结构示意图。图14所示的芯片900包括处理器901和接口902。其中,处理器901的数量可以是一个或多个,接口902的数量可以是多个。需要说明的,处理器901、接口902各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
在一种可能的设计中,对于芯片用于实现本申请实施例中第一设备的功能的情况:处理器901用于根据第一数据分段进行网络编码,获得第一网络编码数据分段;根据所述第一网络编码数据分段,生成第一循环冗余码校验CRC信息和第一数据单元,所述第一数据单元包括所述第一网络编码数据分段对应的网络编码参数和所述第一CRC信息,所述第一CRC信息用于对所述第一网络编码数据分段进行校验。
接口902用于输出所述第一数据单元。
可选的,芯片还包括存储器903,存储器903用于存储第一设备必要的程序指令和数据。
对于芯片用于实现本申请实施例中第二设备的功能的情况:接口902用于获取第二数据单元,所述第二数据单元包括第二网络编码数据分段、所述第二网络编码数据分段对应的网络编码参数和第三CRC信息。
处理器901用于使用所述第三CRC信息对所述第二网络编码数据分段进行校验,根据校验结果确定所述第二网络编码数据分段传输正确;根据所述网络编码参数对所述第二网络编码数据分段进行译码。
可选的,芯片还包括存储器903,存储器903用于存储第二设备必要的程序指令和数据。
本申请实施例中的处理器可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行前述任一方法实施例中第一设备侧的方法或者第二设备侧的方法。
本申请的另一实施例中,还提供一种通信系统,该通信系统包括第一设备和第二设备。 示例性的,第一设备可以为图2至图7或者图8至图10所提供的第一设备,且用于执行图2至图7或者图8至图10所提供的数据传输方法中第一设备的步骤;和/或,第二设备可以为图2至图7或者图8至图10所提供的第二设备,且用于执行图2至图7或者图8至图10所提供的数据传输方法中第二设备的步骤。
本申请实施例还提供了一种处理装置,包括处理器和接口;所述处理器用于执行上述任一方法实施例中的方法。
应理解,上述处理装置可以是一个芯片。例如,该处理装置可以是现场可编程门阵列(field programmable gate array,FPGA),可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中, 或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disc,SSD))等。
上述各个装置实施例中第一设备与第二设备和方法实施例中的第一设备或第二设备完全对应,由相应的模块或单元执行相应的步骤,例如通信单元(收发器)执行方法实施例中接收或发送的步骤,除发送、接收外的其它步骤可以由处理单元(处理器)执行。具体单元的功能可以参考相应的方法实施例。其中,处理器可以为一个或多个。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程或执行线程中,部件可位于一个计算机上或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地或远程进程来通信。
应理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请实施例中,编号“第一”、“第二”…仅仅为了区分不同的对象,比如为了区分不同的网络设备,并不对本申请实施例的范围构成限制,本申请实施例并不限于此。
还应理解,在本申请中,“当…时”、“若”以及“如果”均指在某种客观情况下网元会做出相应的处理,并非是限定时间,且也不要求网元实现时一定要有判断的动作,也不意味着存在其它限定。
还应理解,在本申请各实施例中,“A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中出现的类似于“项目包括如下中的一项或多项:A,B,以及C”表述的含义,如无特别说明,通常是指该项目可以为如下中任一个:A;B;C;A和B;A和C;B和C; A,B和C;A和A;A,A和A;A,A和B;A,A和C,A,B和B;A,C和C;B和B,B,B和B,B,B和C,C和C;C,C和C,以及其他A,B和C的组合。以上是以A,B和C共3个元素进行举例来说明该项目的可选用条目,当表达为“项目包括如下中至少一种:A,B,……,以及X”时,即表达中具有更多元素时,那么该项目可以适用的条目也可以按照前述规则获得。
可以理解的,本申请实施例中,第一设备和/或第二设备可以执行本申请实施例中的部分或全部步骤,这些步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (26)

  1. 一种通信方法,其特征在于,包括:
    根据第一数据分段进行网络编码,获得第一网络编码数据分段;
    根据所述第一网络编码数据分段,生成第一循环冗余码校验CRC信息和第一数据单元,所述第一数据单元包括所述第一网络编码数据分段对应的网络编码参数和所述第一CRC信息,所述第一CRC信息用于对所述第一网络编码数据分段进行校验;
    输出所述第一数据单元。
  2. 如权利要求1所述的方法,其特征在于,所述根据所述第一网络编码数据分段,生成第一循环冗余码校验CRC信息,包括:
    根据所述第一网络编码数据分段和所述网络编码参数,生成所述第一CRC信息。
  3. 如权利要求1或2所述的方法,其特征在于,所述第一数据分段包括第一原始数据分段;或者所述第一数据分段包括第一原始数据分段和第二CRC信息,所述第二CRC信息用于对所述第一原始数据分段进行校验。
  4. 如权利要求1至3中任一项所述的方法,其特征在于,所述第一数据单元为协议数据单元PDU,所述PDU包括协议头部分、网络编码数据部分和校验位部分;
    所述协议头部分包括所述网络编码参数,所述网络编码数据部分包括所述第一网络编码数据分段,所述校验位部分包括所述第一CRC信息。
  5. 如权利要求1至3中任一项所述的方法,其特征在于,所述第一数据单元为PDU,所述PDU包括协议头部分、至少一个网络编码数据部分、至少一个子头部分以及至少一个校验位部分;
    所述协议头部分包括个数指示信息,所述个数指示信息用于指示所述PDU包含的所述第一网络编码数据分段的个数;
    一个所述网络编码数据部分包括一个所述第一网络编码数据分段,一个所述子头部分包括与一个所述第一网络编码数据分段对应的网络编码参数,一个所述校验位部分包括一个所述第一CRC信息。
  6. 如权利要求1至3中任一项所述的方法,其特征在于,所述第一数据单元为PDU,所述PDU包括协议头部分、数据域部分以及校验位部分;
    所述协议头部分包括长度指示信息,所述长度指示信息用于指示所述数据域部分的长度;
    所述数据域部分包括所述网络编码参数和所述第一网络编码数据分段,所述校验位部分包括所述第一CRC信息。
  7. 如权利要求1至3中任一项所述的方法,其特征在于,所述第一数据单元为PDU,所述PDU包括协议头部分和数据域部分;
    所述协议头部分包括长度指示信息,所述长度指示信息用于指示所述数据域部分的长度;
    所述数据域部分包括所述网络编码参数、所述第一网络编码数据分段和所述第一CRC信息。
  8. 如权利要求1至3中任一项所述的方法,其特征在于,所述第一数据单元包括码块头、码块和校验位部分,所述码块包括至少一个所述第一网络编码数据分段;
    所述校验位部分包括所述码块对应的所述第一CRC信息;
    所述码块头包括所述至少一个第一网络编码数据分段中的一个第一网络编码数据分段或者多个第一网络编码数据分段对应的网络编码参数。
  9. 如权利要求8所述的方法,其特征在于,所述根据所述第一网络编码数据分段,生成第一循环冗余码校验CRC信息,包括:
    根据所述至少一个第一网络编码数据分段,生成所述第一CRC信息;或者,
    根据所述至少一个第一网络数据分段和所述码块头中包含的数据,生成所述第一CRC信息。
  10. 如权利要求1至9中任一项所述的方法,其特征在于,所述网络编码参数包括以下多种参数中的一种或者多种:所述第一网络编码数据分段对应的编码块的标识信息、所述第一网络编码数据分段对应的系数指示信息、所述第一网络编码数据分段在对应的编码块中的标识信息、或者所述第一网络编码数据分段对应的编码块中包含的所述第一数据分段的个数。
  11. 如权利要求4至7中任一项所述的方法,其特征在于,所述PDU为以下多种PDU中的一种:媒体接入控制MAC层PDU、无线链路控制RLC层PDU、回传适配协议BAP层PDU、分组数据汇聚协议PDCP层PDU、或者具有网络编码功能的协议层的PDU。
  12. 一种通信方法,其特征在于,包括:
    获取第二数据单元,所述第二数据单元包括第二网络编码数据分段、所述第二网络编码数据分段对应的网络编码参数和第三CRC信息;
    使用所述第三CRC信息对所述第二网络编码数据分段进行校验,根据校验结果确定所述第二网络编码数据分段传输正确;
    根据所述网络编码参数对所述第二网络编码数据分段进行译码。
  13. 如权利要求12所述的方法,其特征在于,使用所述第三CRC信息对所述第二网络编码数据分段进行校验,根据校验结果确定所述第二网络编码数据分段传输正确,包括:
    使用所述第三CRC信息对所述第二网络编码数据分段和所述网络编码参数进行校验,根据校验结果确定所述第二网络编码数据分段和所述网络编码参数传输正确。
  14. 如权利要求12或13所述的方法,其特征在于,所述根据所述网络编码参数对所述第二网络编码数据分段进行译码,包括:
    根据所述网络编码参数对所述第二网络编码数据分段进行译码,获得第二数据分段,所述第二数据分段包括第四CRC信息和第二原始数据分段;
    所述方法还包括:
    使用所述第四CRC信息对所述第二原始数据分段进行校验,并根据校验结果确定所述第二原始数据分段是否传输正确。
  15. 一种通信方法,其特征在于,包括:
    根据第三原始数据分段,生成第五CRC信息;
    根据所述第三原始数据分段和所述第五CRC信息进行网络编码,获得第三网络编码数据分段;
    根据所述第三网络编码数据分段,生成第三数据单元,所述第三数据单元包括所述第三网络编码数据分段对应的网络编码参数。
  16. 如权利要求15所述的方法,其特征在于,所述第三数据单元为PDU,所述PDU包括协议头部分和网络编码数据部分;
    所述协议头部分包括所述网络编码参数,所述网络编码数据部分包括所述第三网络编码数据分段。
  17. 如权利要求15所述的方法,其特征在于,所述第三数据单元为PDU,所述PDU包括协议头部分、至少一个网络编码数据部分以及至少一个子头部分;
    所述协议头部分包括个数指示信息,所述个数指示信息用于指示所述PDU包含的所述第三网络编码数据分段的个数;
    一个所述网络编码数据部分包括一个所述第三网络编码数据分段,一个所述子头部分包括与一个所述第三网络编码数据分段对应的网络编码参数。
  18. 如权利要求15所述的方法,其特征在于,所述第三数据单元为PDU,所述PDU包括协议头部分和数据域部分;
    所述协议头部分包括长度指示信息,所述长度指示信息用于指示所述数据域部分的长度;
    所述数据域部分包括所述第三网络编码数据分段和所述网络编码参数。
  19. 一种通信方法,其特征在于,包括:
    获取第四数据单元,所述第四数据单元包括第四网络编码数据分段和所述第四网络编 码数据分段对应的网络编码参数;
    根据所述网络编码参数对所述第四网络编码数据分段进行译码,获得第四原始数据分段和第六CRC信息;
    使用所述第六CRC信息对所述第四原始数据分段进行校验,并根据校验结果确定所述第四原始数据分段是否传输正确。
  20. 一种通信装置,其特征在于,包括用于执行如权利要求1至11中、或者如权利要求12至14中、或者如权利要求15至18中、或者如权利要求19中任一项所述方法的模块或者单元。
  21. 一种通信装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述装置执行如权利要求1至11中、或者如权利要求12至14中、或者如权利要求15至18中、或者如权利要求19中任一项所述的方法。
  22. 一种计算机可读存储介质,其特征在于,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得计算机执行如权利要求1至11中、或者如权利要求12至14中、或者如权利要求15至18中、或者如权利要求19中任一项所述的方法。
  23. 一种通信装置,其特征在于,包括处理器、存储器和通信接口;
    所述通信接口,用于输出信息或者输入信息;
    所述存储器,用于存储程序代码;
    所述处理器,用于从所述存储器调用所述程序代码,使得所述装置执行如权利要求1至11中、或者如权利要求12至14中、或者如权利要求15至18中、或者如权利要求19中任一项所述的方法。
  24. 一种计算机程序产品,包括代码或指令,当所述代码或指令被执行时,如权利要求1至11中、或者如权利要求12至14中、或者如权利要求15至18中、或者如权利要求19中任一项所述的方法被执行。
  25. 一种计算机程序,包括代码或指令,当所述代码或指令被执行时,如权利要求1至11中、或者如权利要求12至14中、或者如权利要求15至18中、或者如权利要求19中任一项所述的方法被执行。
  26. 一种通信装置,所述装置用于执行如权利要求1至11中、或者如权利要求12至14中、或者如权利要求15至18中、或者如权利要求19中任一项所述的方法。
PCT/CN2021/079734 2020-03-09 2021-03-09 数据传输方法及通信装置 Ceased WO2021180065A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21768287.1A EP4099593A4 (en) 2020-03-09 2021-03-09 DATA TRANSMISSION METHOD AND COMMUNICATION APPARATUS
US17/939,177 US12003322B2 (en) 2020-03-09 2022-09-07 Data transmission method and communication apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010158630.7 2020-03-09
CN202010158630.7A CN113381838A (zh) 2020-03-09 2020-03-09 数据传输方法及通信装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/939,177 Continuation US12003322B2 (en) 2020-03-09 2022-09-07 Data transmission method and communication apparatus

Publications (1)

Publication Number Publication Date
WO2021180065A1 true WO2021180065A1 (zh) 2021-09-16

Family

ID=77568531

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/079734 Ceased WO2021180065A1 (zh) 2020-03-09 2021-03-09 数据传输方法及通信装置

Country Status (4)

Country Link
US (1) US12003322B2 (zh)
EP (1) EP4099593A4 (zh)
CN (1) CN113381838A (zh)
WO (1) WO2021180065A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114637634A (zh) * 2022-03-04 2022-06-17 珠海海奇半导体有限公司 一种进入芯片测试模式的方法、系统及电子设备
CN116685952A (zh) * 2021-12-31 2023-09-01 华为技术有限公司 一种数据传输方法和装置
WO2023185758A1 (zh) * 2022-03-31 2023-10-05 华为技术有限公司 数据的传输方法和通信装置
EP4395208A4 (en) * 2021-09-26 2025-01-01 Huawei Technologies Co., Ltd. DATA TRANSMISSION METHOD AND DEVICE AS WELL AS READABLE STORAGE MEDIUM

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4147393A1 (en) * 2020-05-07 2023-03-15 Telefonaktiebolaget LM ERICSSON (PUBL) Transport block (tb) determination for tb transmission over multiple slots
CN116418452A (zh) * 2021-12-30 2023-07-11 华为技术有限公司 一种通信方法及装置
CN114362887B (zh) * 2022-01-11 2024-11-22 北京梧桐车联科技有限责任公司 数据发送、数据接收方法、装置、设备及存储介质
CN117318882A (zh) * 2022-06-21 2023-12-29 华为技术有限公司 一种通信方法及装置
CN115695024A (zh) * 2022-11-04 2023-02-03 内江金鸿曲轴有限公司 一种用于plc信号的冗余检测方法及系统
EP4625855A4 (en) * 2022-12-27 2026-01-14 Huawei Tech Co Ltd DATA TRANSMISSION METHOD AND ASSOCIATED DEVICE
US20240430887A1 (en) * 2023-06-22 2024-12-26 Qualcomm Incorporated Enhanced signaling for distributed video coding
CN121970282A (zh) * 2023-09-18 2026-05-01 高通股份有限公司 用于分组数据汇聚协议通信的网络译码
KR20250046855A (ko) * 2023-09-27 2025-04-03 삼성전자주식회사 무선 통신 시스템에서 이중 코딩 방법 및 장치
CN119011074B (zh) * 2024-07-02 2025-10-14 裕太微(上海)电子有限公司 一种通用输入输出接口的过采样电路及方法
CN118445088B (zh) * 2024-07-05 2024-10-29 浪潮电子信息产业股份有限公司 一种网络报文的处理方法、系统、装置、设备以及介质
CN119011090B (zh) * 2024-10-24 2025-04-22 南京信息工程大学 一种基于RaptorQ喷泉码的网络流信标编解码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007045141A1 (en) * 2005-10-17 2007-04-26 Huawei Technologies Co., Ltd. A method for supporting multimedia data transmission with error resilience
WO2007051425A1 (en) * 2005-11-03 2007-05-10 Huawei Technologies Co., Ltd. A multimedia communication method and the terminal thereof
CN102438207A (zh) * 2011-12-12 2012-05-02 河海大学 一种无线多跳网中的实时多播方法
US20190245561A1 (en) * 2011-10-13 2019-08-08 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6593181B2 (en) * 2001-04-20 2003-07-15 International Business Machines Corporation Tailored insulator properties for devices
JP2009005146A (ja) * 2007-06-22 2009-01-08 Panasonic Corp データ伝送装置
WO2009096658A1 (en) * 2008-01-31 2009-08-06 Lg Electronics Inc. Method for determining transport block size and signal transmission method using the same
US8111619B2 (en) * 2008-02-08 2012-02-07 Honeywell International Inc. Apparatus and method for routing data in wireless networks
US8473821B2 (en) * 2010-11-09 2013-06-25 Qualcomm, Incorporated Packet-level erasure protection coding in aggregated packet transmissions
US9515775B2 (en) * 2012-11-08 2016-12-06 Instart Logic, Inc. Method and apparatus for improving the performance of TCP and other network protocols in a communication network
US9602235B2 (en) * 2014-06-27 2017-03-21 Texas Instruments Incorporated Code block segmentation and configuration for concatenated turbo and RS coding
WO2016129256A1 (ja) * 2015-02-10 2016-08-18 パナソニックIpマネジメント株式会社 送信方法、送信装置、受信方法、受信装置
US10219118B2 (en) * 2015-12-29 2019-02-26 Koninklijke Kpn N.V. Method and transmission node for providing data packets to a plurality of receivers using network coding
US10367530B2 (en) * 2016-01-14 2019-07-30 Qualcomm Incorporated Unified code block segmentation providing a cyclic redundancy check for low density parity check code codewords
CN108307527B (zh) * 2016-08-10 2021-06-04 华为技术有限公司 一种承载标识信息的方法及装置
CN108574560B (zh) * 2017-03-13 2020-07-24 华为技术有限公司 一种编码方法、译码方法、装置和设备
CN108574561B (zh) * 2017-03-14 2020-11-17 华为技术有限公司 极化码编码的方法和装置
CN108631930B (zh) * 2017-03-24 2023-08-22 华为技术有限公司 Polar编码方法和编码装置、译码方法和译码装置
US11197291B2 (en) * 2017-05-05 2021-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Polar coding for beam sweeping broadcast channel
CN109327226B (zh) * 2017-08-04 2023-10-20 华为技术有限公司 极化码的编译码方法、装置及设备
ES3046545T3 (en) * 2017-08-11 2025-12-02 Ericsson Telefon Ab L M Transport block size determination for equal size code blocks
CN109600201B (zh) * 2017-10-01 2024-04-26 大唐移动通信设备有限公司 一种极化编码方法、装置、电子设备及存储介质
WO2019095190A1 (en) * 2017-11-16 2019-05-23 Qualcomm Incorporated Reduced overhead error detection code design for decoding a codeword
CN111557077B (zh) * 2017-11-29 2023-10-27 株式会社Ntt都科摩 通信装置以及通信方法
WO2019160863A1 (en) * 2018-02-14 2019-08-22 Idac Holdings, Inc. Data transmission associated with nr v2x
WO2020166230A1 (ja) * 2019-02-13 2020-08-20 ソニー株式会社 通信装置及び通信方法
WO2020210682A1 (en) * 2019-04-12 2020-10-15 Apple Inc. Network coding at the packet data convergence protocol (pdcp) layer to increase communication reliability
US11595943B2 (en) * 2020-02-11 2023-02-28 Qualcomm Incorporated Outer coding schemes in downlink control information
EP4057533A1 (de) * 2021-03-12 2022-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kommunikationsverfahren und kommunikationsteilnehmer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007045141A1 (en) * 2005-10-17 2007-04-26 Huawei Technologies Co., Ltd. A method for supporting multimedia data transmission with error resilience
WO2007051425A1 (en) * 2005-11-03 2007-05-10 Huawei Technologies Co., Ltd. A multimedia communication method and the terminal thereof
US20190245561A1 (en) * 2011-10-13 2019-08-08 Samsung Electronics Co., Ltd. Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
CN102438207A (zh) * 2011-12-12 2012-05-02 河海大学 一种无线多跳网中的实时多播方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4099593A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4395208A4 (en) * 2021-09-26 2025-01-01 Huawei Technologies Co., Ltd. DATA TRANSMISSION METHOD AND DEVICE AS WELL AS READABLE STORAGE MEDIUM
CN116685952A (zh) * 2021-12-31 2023-09-01 华为技术有限公司 一种数据传输方法和装置
CN114637634A (zh) * 2022-03-04 2022-06-17 珠海海奇半导体有限公司 一种进入芯片测试模式的方法、系统及电子设备
WO2023185758A1 (zh) * 2022-03-31 2023-10-05 华为技术有限公司 数据的传输方法和通信装置

Also Published As

Publication number Publication date
US20220416939A1 (en) 2022-12-29
EP4099593A4 (en) 2023-07-12
CN113381838A (zh) 2021-09-10
US12003322B2 (en) 2024-06-04
EP4099593A1 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
US12003322B2 (en) Data transmission method and communication apparatus
CN110572245B (zh) 通信方法和装置
US12519515B2 (en) Data processing method and apparatus
US12335034B2 (en) Coding method and apparatus
WO2018202057A1 (zh) 传输数据的方法、基站和终端设备
WO2021169522A1 (zh) 数据处理方法及装置
CN115696435A (zh) 网络编码场景下的超时丢包方法、装置及可读存储介质
US20240235762A1 (en) Data transmission method and apparatus, and readable storage medium
CN115412969A (zh) 发送和接收数据的方法以及通信装置
US20250323987A1 (en) Data transmission method and related apparatus
WO2022117061A1 (zh) 一种极化码辅助比特的确定方法和装置
US20180212630A1 (en) Encoder device, decoder device, and methods thereof
WO2022094897A1 (zh) 信道编码方法及装置
CN110034851B (zh) 编码方法、编码设备以及系统
WO2022171019A1 (zh) 一种编码和译码方法及相关装置
US20250119235A1 (en) Encoding and decoding methods and related apparatus
WO2022111575A1 (zh) 传输数据的方法以及装置
WO2018184493A1 (zh) 数据编码和译码的方法和装置
WO2022027661A1 (zh) 通信方法、装置及系统
US20260135640A1 (en) Data transmission method and communication apparatus
WO2023011145A1 (zh) 一种通信方法及装置
WO2026025939A1 (zh) 信道编码和信道译码的方法及装置
WO2026031871A1 (zh) 一种通信方法及装置
WO2025162036A1 (zh) 编码方法和装置
WO2025180230A1 (zh) 信号传输方法及装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021768287

Country of ref document: EP

Effective date: 20220830

NENP Non-entry into the national phase

Ref country code: DE