Data transmission method and device

By configuring network coding methods and parameters between network devices and terminal devices, the data transmission process is optimized, which solves the problem of long transmission delay in existing communication systems and achieves efficient data transmission and real-time requirements.

CN113746592BActive Publication Date: 2025-10-03HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010463451.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-05-27
Publication Date
2025-10-03
Estimated Expiration
2040-05-27

AI Technical Summary

Technical Problem

Existing communication systems cannot meet real-time requirements, especially in scenarios such as remote surgery. The transmission delay of video information is too long and cannot meet the requirements of real-time and large data volumes.

Method used

By using network coding to transmit data between network devices and terminal devices, configuring network coding methods and parameters, and optimizing the data transmission process, including the number of parallel network coding and network decoding processes and memory size, uplink resources and target timing of feedback information are accurately allocated to improve transmission efficiency and reduce latency.

Benefits of technology

It achieves efficient data transmission between network devices and terminal devices, reduces transmission delay, meets the real-time requirements of the communication system, and improves the efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113746592B_ABST
    Figure CN113746592B_ABST
Patent Text Reader

Abstract

This application provides a data transmission method and apparatus. The data transmission method may include: a network device determining a first network coding method and network coding parameters corresponding to the first network coding method; the network device sending configuration information to a terminal device, the configuration information including the first network coding method and the network coding parameters; and the network device and the terminal device transmitting data based on the network coding parameters and the first network coding method. The technical solution of this application can reduce transmission latency and improve transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a data transmission method and device. Background Art

[0002] With the continuous development of mobile communication network technology, data transmission latency continues to decrease, and transmission capacity is increasing. Applications with strong real-time requirements and high data capacity are gradually infiltrating mobile communication networks, such as large-scale real-life games and remote surgery. These scenarios share the characteristics of strong interactivity, large data volumes, and high real-time requirements. For example, in a remote surgery scenario, a doctor remotely observes the surgical site using a helmet or other device and issues corresponding instructions using gloves or other devices. These instructions are transmitted to the surgical site and then executed by a robotic operator on-site. The video information of the operator's actions is then converted into signals via cameras and other specialized medical equipment and transmitted to the doctor's helmet. Based on the video information, the doctor determines further instructions to execute. In this remote surgery scenario, the doctor relies on the video information to determine the appropriate surgical actions. Therefore, the communication system must have the shortest possible latency in transmitting video information and high real-time requirements. However, current communication systems cannot meet these real-time requirements. Summary of the Invention

[0003] The embodiments of the present application provide a data transmission method and apparatus that can support the use of network coding to transmit data between network devices and terminal devices, thereby reducing transmission delay, improving transmission efficiency, and meeting the real-time requirements of the communication system.

[0004] In a first aspect, an embodiment of the present application provides a data transmission method, wherein the method can be performed by a network device or by a component of the network device (e.g., a processor, a chip, or a chip system). The data transmission method may include: the network device determining a first network coding mode and network coding parameters corresponding to the first network coding mode. The network device may determine the first network coding mode for a terminal device based on the terminal device's network coding capability information and / or at least one network coding mode recommended by a core network device. The network device may determine the network coding parameters corresponding to the first network coding mode based on the terminal device's network coding capability information. The network device sends configuration information to the terminal device, the configuration information including the first network coding mode and the network coding parameters. Optionally, the first network coding mode and the network coding parameters may be configured by the network device for a data radio bearer (DRB) of the terminal device. Exemplarily, the configuration information may be DRB configuration information, which may also include DRB parameters configured by the network device. Accordingly, the terminal device receives the configuration information. The network device and the terminal device may transmit data using the first network coding mode based on the network coding parameters.

[0005] By implementing the method described in the first aspect, corresponding network coding methods can be used to transmit data between network devices and terminal devices, thereby improving transmission efficiency and reducing transmission delay.

[0006] In a possible implementation of the first aspect, the network coding parameters include one or more of the following parameters: the number of parallel network coding or network decoding processes, the memory size required for network coding or network decoding, the number of original data packets contained in a data unit in uplink transmission or downlink transmission, the total number of bits of the original data packets contained in a data unit, the size of the network coded data packets after the original data packets are network coded, the number of network coded data packets after the original data packets are network coded, the feedback parameters of the network decoding, the redundancy rate or redundancy rate range of the network coding, the calculation method of the buffer status report (BSR), the logical channel priority process LCP parameters of the wireless bearer using rateless network coding, and the like.

[0007] By implementing this method, the network device can configure various network coding parameters for the terminal device, so as to facilitate the terminal device to perform network coding or network decoding.

[0008] In a possible implementation of the first aspect, the network device may perform network encoding on the data using a first network coding method according to network coding parameters, and send the network-coded data to the terminal device; or, the network device may receive the network-coded data sent by the terminal device, and perform network decoding on the network-coded data using the first network coding method according to the network coding parameters to obtain data before network coding.

[0009] In a possible implementation of the first aspect, a method for a network device to determine a first network coding method may be to receive a first message from a core network device, where the first message includes at least one network coding method recommended by the core network device, and determine the first network coding method based on the at least one network coding method.

[0010] By implementing this method, the network device can determine the first network coding method for the terminal device based on at least one network coding method recommended by the core network device, thereby reducing the load of the network device.

[0011] In a possible implementation manner of the first aspect, the network device may further obtain network coding capability information of the terminal device, and determine network coding parameters corresponding to the first network coding method based on the network coding capability information of the terminal device.

[0012] By implementing this method, the network device configures network coding parameters corresponding to the first network coding method for the terminal device based on the network coding capability information of the terminal device, so that the configured network coding parameters match the network coding capability of the terminal device.

[0013] In one possible implementation of the first aspect, the network device may send a capability reporting request to the terminal device to obtain network coding capability information of the terminal device. It is understood that the network device may not send a capability reporting request to the terminal device, and the terminal device may proactively report the network coding capability information, which is not limited in this embodiment of the present application.

[0014] Accordingly, the terminal device sends capability information to the network device, including its network coding capability information. The network device receives this capability information and sends it to the core network device. The core network device stores the capability information so that the access network can obtain the capability information from the core network device when needed.

[0015] By implementing this method, the network coding capability information of the terminal device is carried through the capability information of the terminal device, so that the network device can subsequently configure network coding parameters for the terminal device according to the network coding capability information of the terminal device.

[0016] In a possible implementation of the first aspect, the first network coding mode and the network coding parameters may be configured for a radio bearer of the terminal device. The network device may transmit data of the radio bearer to the terminal device using the first network coding mode according to the network coding parameters.

[0017] By implementing this method, the network coding mode and network coding parameters are configured for the terminal device with the radio bearer as the granularity, thereby being compatible with the existing data transmission via the radio bearer.

[0018] In a possible implementation of the first aspect, if data of the same session is transmitted through multiple radio bearers, the network device may configure the same network coding method for the multiple radio bearers, or the network device may configure different network coding methods for different radio bearers.

[0019] It is understood that the network device may also determine that a particular radio bearer or multiple radio bearers do not use the network coding method. For example, if data of the same session is transmitted via three radio bearers, the network device may determine that two of the three radio bearers do not use the network coding method, while one of the three radio bearers does. The network device may also determine that different network coding methods are used for uplink and downlink transmission of a radio bearer.

[0020] By implementing this method, network coding modes can be configured for radio bearers in a variety of ways, thereby meeting the network coding mode configuration requirements of radio bearers.

[0021] In a possible implementation of the first aspect, the network coding capability information includes one or more of the following information: at least one network coding mode supported by the terminal device; the number of wireless bearers on which the terminal device performs network coding simultaneously; the sum of the data rates of the wireless bearers on which the terminal device performs network coding simultaneously; when two MAC entities are used simultaneously, the number of wireless bearers on which the terminal device performs network coding simultaneously for one MAC entity; for each network coding mode for each wireless bearer, the maximum number of parallel network coding or network decoding processes that the terminal device can support simultaneously; the memory size that the terminal device can use for network coding and network decoding; for each network coding mode for each wireless bearer, the maximum memory size that the terminal device can use for network coding and network decoding.

[0022] By implementing this method, network coding parameters can be configured for the terminal device through the network coding capability information, so that the configured network coding parameters match the network coding capability of the terminal device.

[0023] In a possible implementation of the first aspect, before the terminal device sends the network-coded data, the network device may allocate uplink resources for the terminal device for transmitting the network-coded data. Optionally, the network device receives a BSR from the terminal device, where the BSR includes a first data amount, wherein the first data amount may be the original data amount before network coding is performed on the data to be sent, or the actual data amount after network coding is performed on the data to be sent. The network device may allocate uplink resources for transmitting the network-coded data to the terminal device based on the first data amount reported by the terminal device. If the first data amount is the actual data amount after network coding is performed on the data to be sent, the network device may allocate uplink resources for transmitting the network-coded data to the terminal device based on the actual data amount. If the first data amount is the original data amount before network coding is performed on the data to be sent, the network device may determine the actual data amount after network coding is performed on the data to be sent based on network coding parameters and / or channel status information, and allocate uplink resources for transmitting the network-coded data to the terminal device based on the actual data amount.

[0024] By implementing this method, the network device can accurately allocate uplink resources to the terminal device.

[0025] In a possible implementation of the first aspect, if the first data amount is the original data amount before network coding is performed on the data to be transmitted, the network device may determine, based on the network coding parameters and / or channel condition information, and the first data amount, an actual data amount after network coding is performed on the data to be transmitted, and the network device allocates, to the terminal device, uplink resources for transmitting the network-coded data based on the actual data amount.

[0026] By implementing this method, the terminal device can report the original data volume before network coding, and the network device can calculate the actual data volume after network coding based on the network coding parameters and / or channel status information, thereby being compatible with the existing BSR reporting process.

[0027] In a possible implementation of the first aspect, when the network coding mode configured by the network device for the radio bearer corresponding to the logical channel is rateless network coding, the network device may configure multiple priorities for the logical channel. Exemplarily, the network device may configure two priorities for the logical channel, where the two priorities may be a first priority in a first round of LCP resource allocation and a second priority in a second round of LCP resource allocation, respectively.

[0028] Optionally, the second priority in the second round of LCP resource allocation may indicate that the logical channel has the lowest priority in the second round of LCP resource allocation.

[0029] By implementing this method, the network device can configure two priorities for the logical channel that performs rateless network coding, thereby ensuring that in the second round of LCP resource allocation, the logical channel with a lower priority than the logical channel that performs rateless network coding can be allocated uplink resources.

[0030] In a possible implementation of the first aspect, when the network coding mode configured by the network device for the radio bearer corresponding to the logical channel is rateless network coding, the network device may configure multiple GBRs for the logical channel. Exemplarily, the network device may configure two GBRs for the logical channel, where the two GBRs may be a first guaranteed bit rate GBR in a first round of LCP resource allocation and a second guaranteed bit rate GBR in a second round of LCP resource allocation, respectively.

[0031] By implementing this method, the network device can configure two GBRs for the logical channel that performs rateless network coding, thereby ensuring that in the second round of LCP resource allocation, the logical channel with a lower priority than the logical channel that performs rateless network coding can be allocated uplink resources.

[0032] In a possible implementation of the first aspect, after the network device receives the network-coded data sent by the terminal device using the first network coding method according to the network coding parameters, it can also determine to send feedback information to the terminal device based on the target timing of sending the feedback information. The feedback information is used to indicate the situation in which the network device performs network decoding on the network-coded data.

[0033] By implementing this method, the network device can send feedback information to the terminal device, so that the terminal device can optimize subsequent network coding according to the feedback information and improve the success rate of network decoding.

[0034] In a possible implementation of the first aspect, the target timing includes one or more of the following timings:

[0035] receiving a first network coding data packet corresponding to the data unit, starting a timer, and sending feedback information when the timer reaches a target value;

[0036] For a data unit, when the number of successfully decoded original data packets is greater than a threshold, feedback information is sent;

[0037] For a data unit, when the ratio between the number of successfully decoded original data packets and the total number of original data packets contained in the data unit reaches a ratio threshold, sending feedback information;

[0038] Feedback information is sent periodically according to a target period, where the target period is preset or configured by the network device.

[0039] By implementing this method, the target timing for sending feedback information can be configured, thereby improving the success rate of receiving feedback information.

[0040] In a possible implementation manner of the first aspect, the feedback information includes one or more of the following information:

[0041] Used to indicate whether the original data packet contained in the data unit is successfully decoded;

[0042] An identifier for indicating successfully decoded and / or unsuccessfully decoded original data packets among a plurality of original data packets included in the data unit;

[0043] An identifier for indicating a data unit that is successfully decoded and / or unsuccessfully decoded among a plurality of data units;

[0044] Used to indicate the identifiers of successfully decoded and / or unsuccessfully decoded original data packets among multiple original data packets contained in the data unit and the identifier of the data unit.

[0045] By implementing this method, accurate feedback can be provided on the decoding status of the original data packet contained in the data unit by the network device, which facilitates the terminal device to optimize subsequent network coding and improve the success rate of network decoding.

[0046] In a second aspect, embodiments of the present application provide a data transmission method, wherein the method can be performed by a terminal device or by a component of the terminal device (e.g., a processor, a chip, or a chip system). The data transmission method may include: the terminal device receiving configuration information from a network device, wherein the configuration information includes a first network coding mode and network coding parameters corresponding to the first network coding mode.

[0047] The terminal device can use the first network coding method to transmit data with the network device according to the network coding parameters.

[0048] By implementing the method described in the second aspect, corresponding network coding methods can be used to transmit data between network devices and terminal devices, thereby improving transmission efficiency and reducing transmission delay.

[0049] In a possible implementation manner of the second aspect, the network coding parameters include one or more of the following parameters: the number of parallel network coding or network decoding processes, the memory size required for network coding or network decoding, the number of original data packets contained in a data unit in uplink transmission or downlink transmission, the total number of bits of the original data packets contained in a data unit, the size of the network coded data packets after the original data packets are network coded, the number of network coded data packets after the original data packets are network coded, the feedback parameters of network decoding, the redundancy rate or redundancy rate range of network coding, the calculation method of the cache status report BSR, the logical channel priority process LCP parameters of the wireless bearer using rateless network coding, and the like.

[0050] In a possible implementation of the second aspect, the terminal device can use a first network coding method to perform network encoding on the data according to the network coding parameters, and send the network-coded data to the network device; or, the terminal device can receive the network-coded data sent by the network device, and use the first network coding method to perform network decoding on the network-coded data according to the network coding parameters to obtain the data before network coding.

[0051] In a possible implementation of the second aspect, before receiving configuration information, the terminal device may report network coding capability information to the network device. Optionally, the terminal device may receive a capability reporting request from the network device and, in response to the capability reporting request, send capability information to the network device, where the capability information includes the network coding capability information of the terminal device. Optionally, the network device may send the capability information to a core network device for storage. If the access network needs the network coding capability information of the terminal device, it may obtain the capability information of the terminal device from the core network device.

[0052] By implementing this method, the network coding capability information of the terminal device is carried through the capability information of the terminal device, so that the network device can subsequently configure network coding parameters for the terminal device according to the network coding capability information of the terminal device.

[0053] In a possible implementation of the second aspect, the first network coding mode and the network coding parameters are configured for a radio bearer of the terminal device. The terminal device may transmit data of the radio bearer with the network device using the first network coding mode according to the network coding parameters.

[0054] By implementing this method, the network coding mode and network coding parameters are configured for the terminal device with the radio bearer as the granularity, thereby being compatible with the existing data transmission via the radio bearer.

[0055] In a possible implementation of the second aspect, before the terminal device sends the data after network coding, the terminal device sends a BSR to the network device. The BSR includes a first data amount. The first data amount can be the original data amount before network coding is performed on the data to be sent, or it can be the actual data amount after network coding is performed on the data to be sent. Accordingly, after receiving the BSR, the network device can allocate uplink resources for transmitting the data after network coding to the terminal device based on the first data amount. If the first data amount is the actual data amount after network coding is performed on the data to be sent, the terminal device can determine the actual data amount after network coding is performed on the data to be sent based on the network coding parameters and / or channel status information before sending the BSR to the network device.

[0056] By implementing this method, network equipment can accurately allocate uplink resources to terminal devices.

[0057] In a possible implementation of the second aspect, after a network device configures uplink resources for a terminal device, the terminal device may allocate the uplink resources to a logical channel. Optionally, the terminal device may allocate uplink resources to the logical channel based on a first priority of the logical channel in a first round of LCP resource allocation and a second priority of the logical channel in a second round of LCP resource allocation, where the logical channel corresponds to a radio bearer and may be a logical channel that performs rateless network coding; optionally, the second priority in the second round of LCP resource allocation may indicate that the logical channel has the lowest priority in the second round of LCP resource allocation.

[0058] The data of the logical channel may include data of the corresponding radio bearer, and the data of the radio bearer may be data obtained after network coding using a rateless network coding method. Wherein, the data of the logical channel includes the data of the corresponding radio bearer, which can be understood as including the data mapped to the corresponding radio bearer.

[0059] By implementing this method, the terminal device can allocate uplink resources to the logical channel that performs rateless network coding according to the two priorities of the logical channel, thereby ensuring that in the second round of LCP resource allocation, the logical channel with a lower priority than the logical channel that performs rateless network coding can be allocated uplink resources.

[0060] In a possible implementation of the second aspect, the terminal device can allocate uplink resources to the logical channel based on the first guaranteed bit rate GBR of the logical channel in the first round of LCP resource allocation and the second guaranteed bit rate GBR in the second round of LCP resource allocation. The logical channel corresponds to the wireless bearer and can be a logical channel that performs rateless network coding.

[0061] The data of the logical channel may include data of a corresponding radio bearer, and the data of the radio bearer may be data obtained by performing network coding using a rateless network coding method.

[0062] By implementing this method, the terminal device can allocate uplink resources to the logical channel that performs rateless network coding based on the two GBRs of the logical channel, thereby ensuring that in the second round of LCP resource allocation, the logical channel with a lower priority than the logical channel that performs rateless network coding can be allocated uplink resources.

[0063] In a possible implementation of the second aspect, after the terminal device receives the network-coded data sent by the network device using the first network coding method according to the network coding parameters, it can also determine to send feedback information to the network device according to the target timing of sending the feedback information. The feedback information is used to indicate the situation in which the terminal device performs network decoding on the network-coded data.

[0064] By implementing this method, the terminal device can send feedback information to the network device, so that the network device can optimize subsequent network coding according to the feedback information and improve the success rate of network decoding.

[0065] In a possible implementation manner of the second aspect, the target opportunity includes one or more of the following opportunities:

[0066] receiving a first network coding data packet corresponding to the data unit, starting a timer, and sending feedback information when the timer reaches a target value;

[0067] For a data unit, when the number of successfully decoded original data packets is greater than a threshold, feedback information is sent;

[0068] For a data unit, when the ratio between the number of successfully decoded original data packets and the total number of original data packets contained in the data unit reaches a ratio threshold, sending feedback information;

[0069] Feedback information is sent periodically according to a target period, where the target period is preset or configured by the network device.

[0070] By implementing this method, the target timing for sending feedback information can be configured, thereby improving the success rate of receiving feedback information.

[0071] In a possible implementation manner of the second aspect, the feedback information includes one or more of the following information:

[0072] Used to indicate whether the original data packet contained in the data unit is successfully decoded;

[0073] An identifier for indicating successfully decoded and / or unsuccessfully decoded original data packets among a plurality of original data packets included in the data unit;

[0074] An identifier for indicating a data unit that is successfully decoded and / or unsuccessfully decoded among a plurality of data units;

[0075] Used to indicate the identifiers of successfully decoded and / or unsuccessfully decoded original data packets among multiple original data packets contained in the data unit and the identifier of the data unit.

[0076] By implementing this method, accurate feedback can be provided on the decoding status of the original data packet contained in the data unit by the terminal device, which facilitates the network device to optimize subsequent network coding and improve the success rate of network decoding.

[0077] In a third aspect, an embodiment of the present application provides a communication device, comprising modules or units for executing the method of the first aspect or the second aspect.

[0078] In a fourth aspect, embodiments of the present application provide a communication device comprising a processor. The processor is coupled to a memory and can be configured to execute instructions in the memory to implement the method of the first or second aspect described above. Optionally, the communication device further comprises a memory. Optionally, the communication device further comprises a communication interface, the processor being coupled to the communication interface.

[0079] In a fifth aspect, an embodiment of the present application provides a processor, comprising: 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 of the first aspect or the second aspect.

[0080] In a specific implementation, the processor may be one or more chips, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a trigger, or various logic circuits. The input signal received by the input circuit may be, for example, but not limited to, received and input by a receiver, and the signal output by the output circuit may be, for example, but not limited to, output to and transmitted by a transmitter. The input circuit and the output circuit may be the same circuit, which functions as an input circuit and an output circuit at different times. The embodiments of the present application do not limit the specific implementation of the processor and various circuits.

[0081] In a sixth aspect, an embodiment of the present application provides a processing device, comprising a processor and a memory. The processor is configured to read instructions stored in the memory and receive signals via a receiver and transmit signals via a transmitter to execute the method of the first aspect or the second aspect.

[0082] Optionally, there are one or more processors and one or more memories.

[0083] Optionally, the memory may be integrated with the processor, or the memory may be provided separately from the processor.

[0084] In the specific implementation process, the memory can be a 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 on different chips. The embodiments of the present application do not limit the type of memory and the setting method of the memory and the processor.

[0085] It should be understood that related data interaction processes, such as sending configuration information, can be the process of outputting configuration information from the processor, and receiving configuration information can be the process of the processor receiving configuration information. Specifically, the data output by the processor can be output to the transmitter, and the input data received by the processor can be from the receiver. The transmitter and receiver can be collectively referred to as a transceiver.

[0086] The processing device in the sixth aspect described above may be one or more chips. The processor in the processing device may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like; when implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory, which may be integrated into the processor or located independently of the processor.

[0087] In the seventh aspect, an embodiment of the present application provides a computer program product, which includes: a computer program (also referred to as code, or instructions), which, when executed, enables the computer to execute the method of the first or second aspect above.

[0088] In an eighth aspect, an embodiment of the present application provides a readable storage medium, which stores a computer program (also referred to as code, or instructions). When the computer program is run on a computer, the method of the first or second aspect is implemented.

[0089] In a ninth aspect, an embodiment of the present application provides a communication system, comprising the aforementioned network device and / or terminal device.

[0090] Optionally, the communication system may also include core network equipment.

[0091] In a tenth aspect, a chip system is provided, comprising a processor and an interface circuit. The processor is configured to retrieve and execute a computer program (also referred to as code or instructions) stored in a memory to implement the functions described in the first or second aspects. In one possible design, the chip system further comprises a memory configured to store necessary program instructions and data. The chip system may consist of a chip alone or may include a chip and other discrete components. BRIEF DESCRIPTION OF THE DRAWINGS

[0092] Figure 1 This is a schematic diagram of the architecture of the communication system used in the embodiments of the present application;

[0093] Figure 2 This is a schematic diagram of the LCP process provided in the embodiment of the present application;

[0094] Figure 3 This is a flow chart of a data transmission method provided in an embodiment of the present application;

[0095] Figure 4 This is a schematic diagram of sending feedback information provided by an embodiment of the present application;

[0096] Figure 5 This is a flow chart of a data transmission method provided in an embodiment of the present application;

[0097] Figure 6 This is a schematic diagram of resource allocation for a logical channel provided in an embodiment of the present application;

[0098] Figure 7 This is a schematic diagram of resource allocation for another logical channel provided in an embodiment of the present application;

[0099] Figure 8 and Figure 9 It is a schematic diagram of the structure of a possible communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0100] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as: long term evolution (LTE) system, universal mobile telecommunication system (UMTS), fifth generation (5G) system, new radio (NR) and other new systems emerging with the development of technology.

[0101] Figure 1 FIG1 shows a schematic diagram of a 5G system that can be applied to the present application. Figure 1As shown, the system can be divided into two parts: access network and core network. The access network is used to implement functions related to wireless access, and mainly includes access network (AN) equipment 102. The access network equipment includes radio access network (RAN) equipment and other equipment accessed through the air interface (such as WiFi). The core network mainly includes the following key logical network elements: user plane function 103, access and mobility management function (AMF) 105, session management function 106, policy control function (PCF) 107, unified data management function 109. The system 100 can also include user equipment (UE) 101, data network (DN) 104 and application function (AF) 108. The interfaces between the network elements are as follows: Figure 1 It should be understood that network elements can also communicate using service-oriented interfaces.

[0102] UE, also known as terminal equipment. The terminal equipment can communicate with one or more core networks (CN) via AN equipment. The terminal equipment can be called an access terminal, terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, wireless network equipment, user agent or user device. The terminal can be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other device connected to a wireless modem, an in-vehicle device, a wearable device or an Internet of Things, a terminal device in a vehicle network, and any form of terminal device in future networks.

[0103] An AN device is a device that connects a terminal device to a wireless network, specifically a base station. Base stations can include various types of base stations, such as macro base stations, micro base stations (also known as small stations), relay stations, and access points. Specifically, it can be an access point (AP) in a wireless local area network (WLAN), a base transceiver station (BTS) in a global system for mobile communications (GSM) or code division multiple access (CDMA), a base station (NodeB, NB) in wideband code division multiple access (WCDMA), an evolved Node B (eNB or eNodeB) in LTE, a relay station or access point, or a vehicle-mounted device, wearable device, the next generation Node B (gNB) in a 5G system, or a base station in a future evolved public land mobile network (PLMN) network.

[0104] UDM has the functions of managing user contract data and generating user authentication information.

[0105] The AMF is primarily responsible for UE registration management, UE connection management, UE reachability management, UE access authorization and authentication, UE security, UE mobility management, network slice selection, and SMF selection. The AMF serves as the anchor point for N1 / N2 signaling connections and routes N1 / N2 session management (SM) messages for the SMF, maintaining and managing UE status information. The AMF is a mobility management network element in the 5G system.

[0106] The SMF is responsible for all control plane functions related to UE session management, including selection and control of the UPF, allocation and management of Internet Protocol (IP) addresses, session Quality of Service (QoS) management, and obtaining policy and charging control (PCC) policies from the PCF. The SMF also serves as the termination point for the SM portion of non-access stratum (NAS) messages.

[0107] PCF has the function of providing policy rules to the control plane functional entity.

[0108] AF may be an application server, which may belong to an operator or a third party.

[0109] The UPF is primarily responsible for processing user messages, such as forwarding and billing. It can serve as the anchor point for protocol data unit (PDU) session connections, namely the PDU session anchor (PSA). It is responsible for UE data message filtering, data transmission / forwarding, rate control, billing information generation, user plane QoS processing, uplink transmission authentication, transmission level verification, downlink data packet caching, and downlink data notification triggering. The UPF can also serve as a branch point for multi-homed PDU sessions.

[0110] A DN is a network that provides data transmission services to users, such as IP Multimedia Service (IMS) and the Internet. A DN can include an application server (AS). An AS is a software framework that provides an environment for application execution and offers services such as security, data and transaction support, and load balancing for large-scale distributed system management. UEs communicate with the AS to obtain application messages. It should be noted that the AF mentioned above is the control plane of the AS.

[0111] It should be understood that the embodiments of the present application are not limited to application only in Figure 1 For example, a communication system to which the data transmission method according to the embodiment of the present application can be applied may include more or fewer network elements or devices. Figure 1 The equipment or network element in the network can be hardware, functionally divided software, or a combination of the two. Figure 1 Devices or network elements in a network can communicate through other devices or network elements.

[0112] For the convenience of description, in the embodiment of the present application, the access network devices that provide wireless access functions for terminal devices may be collectively referred to as network devices. Figure 1 The AN device in the embodiment may specifically be various forms of base stations, etc.

[0113] The communication between the network device and the terminal device in the embodiment of the present application follows a certain protocol layer structure. For example, the control plane protocol layer structure may include the functions of the radio resource control (RRC) layer, the packet data convergence protocol (PDCP) layer, the radio link control (RLC) layer, the media access control (MAC) layer, and the physical layer. The user plane protocol layer structure may include the functions of the PDCP layer, the RLC layer, the MAC layer, and the physical layer. In one implementation, a service data adaptation protocol (SDAP) layer may also be included above the PDCP layer.

[0114] The wireless channel between network equipment and end devices inherently fluctuates. If a transport block (TB) transmission happens to encounter a low channel quality, it can result in transmission errors, preventing the receiver from successfully decoding the received data. Existing communication systems address this issue through retransmission, where the receiver sends a negative acknowledgment (NACK) to the sender, prompting the sender to retransmit the TB. Retransmission introduces additional latency, and real-time multimedia services typically use large TBs, with errors typically occurring in only a small portion. Retransmitting the entire TB due to errors in a small portion of the TB wastes wireless resources and reduces efficiency.

[0115] Using the technical solution of the present application, network coding can be applied to data transmission between a terminal device and a network device. The network device can configure a first network coding method and network coding parameters corresponding to the first network coding method. The network device and the terminal device can use the first network coding method for data transmission based on the network coding parameters.

[0116] Specifically and optionally, the sender may perform network coding on the original data packet contained in the data unit using a first network coding method according to the network coding parameters to obtain multiple network coded data packets corresponding to the data unit. The sender may be a network device or a terminal device. The "data unit" in the embodiment of the present application may also be referred to as a "data packet" or "coding group" or "coding block" or "coding batch" or "coding unit" and so on. A data unit may include at least one original data packet, and network coding may be performed on the at least one original data packet included in the data unit to obtain multiple network coded data packets corresponding to the data unit.

[0117] To improve transmission efficiency, the sender can, without waiting for network coding of the original data packet contained in the data unit to be completed before sending the network coded data packet to the receiver, perform network coding while simultaneously sending the portion of the network coded data packet corresponding to the data unit. After receiving the network coded data packet, the receiver uses the first network transmission method to perform network decoding on the network coded data packet based on the network coding parameters to obtain the original data packet. If the sender is a network device, the receiver can be a terminal device; if the sender is a terminal device, the receiver can be a network device.

[0118] Furthermore, the receiving direction sends feedback information to the sending direction, and the feedback information can be used to indicate the identifier of the original data packet that was successfully decoded in the data unit. Further optionally, the feedback information can also include the identifier of the data unit. Among them, a data unit can be uniquely identified by the identifier of the data unit. Optionally, if the data unit is replaced by a data packet, the data packet can be uniquely identified by a group identifier (group ID); or, if the data unit is replaced by a coding batch, the coding batch can be uniquely identified by a batch identifier (batch ID); or, if the data unit is replaced by a coding block, the coding block can be uniquely identified by a block identifier.

[0119] During the process of network coding the original data packets contained in the data unit, the sender can optimize the network coding based on the feedback information. For example, the sender can add more redundant information to the original data packets contained in the data unit other than the successfully decoded original data packets, and perform network coding to improve the decoding success rate of the other original data packets. By adopting the technical solution of the embodiment of the present application, the receiver does not need to retransmit the TB, but can improve the network decoding success rate of the original data packets by optimizing the network coding, thereby reducing transmission delay, improving data transmission efficiency, and meeting the real-time requirements of the communication system.

[0120] First, before describing the embodiments of the present application, the names or terms involved in the embodiments of the present application are introduced.

[0121] 1. Network Coding

[0122] The network coding methods that can be used in the embodiments of the present application include, but are not limited to: traditional algebraic coding, narrow rateless network coding, and network coding. Among them, traditional algebraic coding can include distributed algebraic coding, such as maximum distance separable code (MDS) codes represented by Hamming code and RS code, Local Repairable codes, etc.; narrow rateless coding can include Luby Transform Code (LT), Raptor, RaptorQ, etc. Network coding can include Random Linear Network Coding (RLNC), batch sparse code (BATS) code combined with multivariate LT code, etc.

[0123] In the embodiments of the present application, network coding may refer to network coding performed by an upper layer, which is different from channel coding at the physical layer. The upper layer may be a protocol layer with a network coding function, which may include but is not limited to a radio link control (RLC) layer, a packet data convergence protocol (PDCP) layer, a backhaul adaptation protocol (BAP) layer, or a media access control (MAC) layer, etc., and is not limited in the embodiments of the present application.

[0124] The sender (also known as the encoder) divides multiple original data packets into multiple data units. One data unit contains at least one original data packet. The sender performs network coding on the original data packets contained in the data unit to obtain multiple network coded data packets corresponding to the data unit. Usually, the number of network coded data packets corresponding to the obtained data unit is greater than the number of original data packets contained in the data unit.

[0125] According to the transmission resource conditions between the sender and the receiver (which may also be referred to as a decoder), the sender may transmit multiple network coding data packets corresponding to the obtained data units to the receiver in batches.

[0126] The original data packet in the embodiment of the present application can be replaced by an original data segment or an original data block, etc., and the network coded data packet can be replaced by one of a network coded data segment, a network coded packet, a coded data packet, a network coded data block, or a network coded data unit, etc. In the embodiment of the present application, the encoded data may include service data and / or a control information element generated by the access layer. The control information element generated by the access layer may include but is not limited to an SDAP control PDU, a PDCP control PDU, an RLC control PDU, a MAC control PDU, etc.

[0127] 2. Buffer Status Report (BSR)

[0128] Before sending data, the terminal device can report the amount of data to be sent to the network device through the BSR. The network device allocates uplink resources to the terminal device for transmitting uplink data based on the amount of data reported by the terminal device.

[0129] 3. Logical channel priority (LCP) process

[0130] After the network device configures uplink resources for the terminal device, the terminal device will further allocate the uplink resources to each logical channel (LCH) through the LCP process. Figure 2 As shown, the LCP process can be divided into the first round of LCP resource allocation and the second round of LCP resource allocation. It can be understood that if the uplink resources allocated by the network device to the terminal device in the first round of LCP resource allocation have been allocated, the second round of LCP resource allocation may not be performed.

[0131] Optional, such as Figure 2 As shown, the amount of data to be sent by LCH A is 300 bytes, the amount of data to be sent by LCH B is 700 bytes, and the amount of data to be sent by LCH C is 200 bytes.

[0132] The network equipment configures the logical channels in the following order: LCH A takes precedence over LCH C, which takes precedence over LCH B. In the first round of LCP resource allocation, the network equipment configures a guaranteed bit rate (GBR) of 100 for LCH A, 150 for LCH C, and 50 for LCH B. The GBR is the minimum bit rate guaranteed by the system for the bearer, which is maintained even when transmission resources are limited.

[0133] In the first round of LCP resource allocation, the terminal device allocates uplink resources to each LCH according to the priority order of each LCH and the GBR of each LCH. Figure 2 As shown, according to the GBR of LCH A with the highest priority, LCH A is allocated uplink resources for transmitting 100 bytes, according to the GBR of LCH C with the second highest priority, LCH C is allocated uplink resources for transmitting 150 bytes, and according to the GBR of LCH B with the lowest priority, LCH B is allocated uplink resources for transmitting 50 bytes.

[0134] It is understandable that during the first round of LCP resource allocation, if the network device has already allocated all the uplink resources configured for the terminal device, no uplink resources will be allocated for the LCH with a lower priority. For example, if the network device has configured uplink resources for the terminal device to transmit 250 bytes, then during the first round of LCP resource allocation, LCH B will not be able to obtain uplink resources. Alternatively, if the network device has configured uplink resources for the terminal device to transmit 300 bytes, then after the first round of LCP resource allocation, no second round of LCP resource allocation will be performed.

[0135] If there are still uplink resources left after the first round of LCP resource allocation, a second round of LCP resource allocation is performed. In the second round of LCP resource allocation, uplink resources are allocated to each LCH in order of priority, that is, the transmission requirements of high-priority LCHs are always met first in the second round of LCP resource allocation.

[0136] As shown in the figure, in the second round of LCP resource allocation, LCH A, which has the highest priority, is allocated uplink resources for transmitting 200 bytes. (Since the total amount of data to be transmitted by LCH A is 300 bytes, and uplink resources for transmitting 100 bytes have already been allocated in the first round of LCP resource allocation, uplink resources for transmitting 300-100=200 bytes are allocated in the second round of LCP resource allocation.) LCH C, which has the second highest priority, is allocated uplink resources for transmitting 50 bytes. (Since the total amount of data to be transmitted by LCH C is 200 bytes, and uplink resources for transmitting 150 bytes have already been allocated in the first round of LCP resource allocation, uplink resources for transmitting 200-150=50 bytes are required in the second round of LCP resource allocation.) LCH B, which has the lowest priority, is allocated uplink resources for transmitting 650 bytes. (Since the total amount of data to be sent by LCH B is 700 bytes, and uplink resources for transmitting 50 bytes have been allocated in the first round of LCP resource allocation, uplink resources for transmitting 700-50=650 bytes need to be allocated in the second round of LCP resource allocation.)

[0137] Figure 3This is a flow chart of a data transmission method provided in an embodiment of the present application. This embodiment involves the specific process of data transmission between access network equipment, core network equipment and terminal equipment. Figure 3 As shown, the method may include: S100, S101, S102 and S103, wherein the execution order of S100, S101, S102 and S103 is not limited in the embodiment of the present application.

[0138] S100: A network device determines a first network coding mode and network coding parameters corresponding to the first network coding mode.

[0139] Specifically, the network device may configure the first network coding mode and network coding parameters corresponding to the first network coding mode for the terminal device. The network coding parameters may include one or more of the following parameters A to J:

[0140] A. The number of parallel network coding or network decoding processes. The number of parallel network coding processes may indicate that network coding is performed in parallel on the original data packets respectively contained in several data units. The number of parallel network decoding processes may indicate that network decoding is performed in parallel on the network coded data packets respectively corresponding to several data units. For example, the original data packets numbered 1-10 belong to a data unit 1, and the original data packets numbered 11-20 belong to data unit 2. If network coding is performed on the original data packets contained in data unit 1 and the original data packets contained in data unit 2 at the same time, the number of parallel network coding processes is 2. If network decoding is performed on the network coded data packets corresponding to data unit 1 and the network coded data packets corresponding to data unit 2 at the same time, the number of parallel network decoding processes is 2.

[0141] B. The memory size required for network encoding or network decoding.

[0142] C. The number of original data packets contained in a data unit in uplink or downlink transmission.

[0143] D. The total number of bits of the original data packet contained in a data unit.

[0144] E. The size of the network coded data packets after network coding the original data packets. The network device may configure the size of each network coded data packet corresponding to the data unit, and / or the network device may configure the size distribution of each network coded data packet among the multiple network coded data packets obtained after network coding the original data packet contained in the data unit. This size distribution may also be referred to as a distribution pattern. This size distribution may represent a distribution pattern of the sizes of the network coded data packets, for example, the sizes of the network coded data packets conform to a normal distribution.

[0145] F. The number of multiple network coded data packets obtained after network coding the original data packet contained in the data unit.

[0146] G. Feedback parameters for network decoding.

[0147] H. Redundancy rate or redundancy rate range of network coding.

[0148] I. Calculation method of cache status reporting BSR.

[0149] J. Logical Channel Priority Procedure LCP parameters for radio bearers using rateless network coding.

[0150] The explanation of the contents of some parameters from Parameters A to J can be found in the description of the subsequent embodiments.

[0151] Optionally, the network device may determine the first network coding method based on at least one network coding method recommended by a core network device, which may be an AMF or an SMF. The network device determining the first network coding method may include steps 1 and 2, which are described below:

[0152] Step 1: The network device receives a first message from the core network device, where the first message includes at least one network coding method recommended by the core network device.

[0153] For example, a session request sent by a terminal device to a core network device may trigger the core network device to send a first message to a network device associated with the terminal device, wherein the session request sent by the terminal device to the core network device may include a network coding method recommended by the terminal device. It can be understood that the terminal device may not recommend a network coding method, and this is not limited in the embodiments of the present application.

[0154] Optionally, the first message may be a service establishment message or a PDU session setup message. The first message may include a network coding method list recommended by the core network device, wherein the network coding method list includes at least one network coding method recommended by the core network device.

[0155] The core network device can determine at least one recommended network coding method based on one or more of the following information: the session's quality of service (QoS) requirements, the service type of data to be sent by the terminal device, the network coding capability information of the terminal device, or the network coding method recommended by the terminal device.

[0156] The network coding capability information of the terminal device may be obtained by the core network device through the capability reporting process of the terminal device. Specifically, when the terminal device registers with the network, the network device may send a capability reporting request to the terminal device, and after receiving the capability reporting request, the terminal device may send the capability information to the network device. Alternatively, the terminal device may proactively send the capability information to the network device. The capability information includes network coding capability information used to indicate the network coding capability of the terminal device.

[0157] Correspondingly, the network device sends the capability information reported by the terminal device to the core network device, and the core network device stores the capability information. It is understandable that the capability information includes the network coding capability information of the terminal device.

[0158] Exemplarily, the network coding capability information may include one or more of the following information a to g:

[0159] a. At least one network coding scheme supported by the terminal device. The at least one network coding scheme supported by the terminal device includes: traditional algebraic coding, narrow rateless network coding, and network coding. Traditional algebraic coding may include distributed algebraic coding, such as Hamming codes, MDS codes represented by RS codes, and Local Repairable codes. Narrow rateless network coding may include LT, Raptor, and RaptorQ. Network coding may include RLNC and BATS codes combined with multivariate LT codes.

[0160] b. The number of radio bearers that the terminal device performs network coding on simultaneously.

[0161] c. The sum of the data rates of the wireless bearers that perform network coding simultaneously on the terminal device.

[0162] d. When two MAC entities are used simultaneously, the number of radio bearers that the terminal device performs network coding on simultaneously for one MAC entity.

[0163] e. For each network coding mode of each radio bearer, the maximum number of parallel network coding or network decoding processes that the terminal device can support simultaneously.

[0164] f. The amount of memory that the terminal device can use for network encoding and decoding.

[0165] g. For each network coding mode of each radio bearer, the maximum memory size of the terminal device used for network coding and network decoding.

[0166] In some optional methods, in addition to recommending at least one network coding method, the core network device may also specify a network coding method to be used for each data flow in the session.

[0167] Step 2: The network device determines a first network coding method based on at least one network coding method recommended by the core network device.

[0168] Specifically, if the network coding method recommended by the core network device includes only one network coding method, the network device configures the network coding method as the first network coding method to the terminal device. If the network coding method recommended by the core network device includes multiple network coding methods, the network device may select one network coding method from the multiple network coding methods as the first network coding method to configure to the terminal device. It is understandable that the first network coding method configured by the network device for the terminal device may also be different from the at least one network coding method recommended by the core network device. For example, the network device determines the first network coding method based on the network coding capability information of the terminal device, and the first network coding method is different from the at least one network coding method recommended by the core network device.

[0169] After implementing steps 1 and 2, the network device determines the first network coding method and can further configure network coding parameters corresponding to the first network coding method for the terminal device based on the terminal device's network coding capability information. The terminal device's network coding capability information can be obtained from the core network device, i.e., the terminal device can obtain the terminal device's network coding capability information from the core network device. Alternatively, the network device can locally store the terminal device's network coding capability information.

[0170] Optionally, if the terminal device obtains network coding capability information from a core network device, and the core network device does not store the network coding capability information of the terminal device, the core network device may request the capability information from the terminal device. For example, the core network device sends capability indication information to a network device associated with the terminal device. After receiving the capability indication information, the network device sends a capability reporting request to the terminal device, requesting the terminal device to report capability information including the network coding capability information. The network device then sends the received capability information to the core network device for storage.

[0171] In some optional implementations, the first network coding mode and the network coding parameters may be configured by the network device for a radio bearer (RB) of the terminal device, where the RB may be a data radio bearer (DRB).

[0172] For example, if the data of the same session is transmitted over the air interface through multiple DRBs, the network device may configure the same network coding method for the multiple DRBs, or the network device may configure different network coding methods for different DRBs. For example, if the data of the same session is transmitted over the air interface through three DRBs, the network device may configure the same network coding method for two or three of the DRBs, or the network device may configure a different network coding method for each of the three DRBs, which is not limited in the embodiments of the present application.

[0173] It is understandable that the network device may also determine that a certain DRB or multiple DRBs do not use the network coding method. For example, if the data of the same session is transmitted over the air interface through three DRBs, the network device may determine that two of the three DRBs do not use the network coding method, while one of the DRBs does. The network device may also determine that the uplink transmission and downlink transmission of a DRB use different network coding methods.

[0174] Optionally, if the core network device indicates different network coding methods for multiple data streams within a session, the network device will not map data streams using different network coding methods to the same DRB, nor will the network device map data streams using network coding methods and data streams not using network coding methods to the same DRB.

[0175] The network device may configure network coding parameters corresponding to the network coding method for the DRB that determines the network coding method. It is understandable that if the uplink transmission and downlink transmission of the same DRB use different network coding methods, different network coding parameters may be configured for the uplink transmission and downlink transmission respectively.

[0176] S101: A network device sends configuration information to a terminal device, where the configuration information includes the first network coding mode and the network coding parameters.

[0177] In one embodiment, if the first network coding mode and network coding parameters are configured by the network device for the DRB of the terminal device, the configuration information may further include DRB identification information. Optionally, the configuration information may be DRB configuration information, which may further include parameters of the DRB configured by the network device for the terminal device.

[0178] S102: The terminal device receives configuration information.

[0179] S103: The network device and the terminal device transmit data using a first network coding method according to network coding parameters.

[0180] Specifically, after the network device configures the first network coding method and network coding parameters, the network device and the terminal device may transmit data using the first network coding method based on the network coding parameters. Optionally, if the first network coding method and network coding parameters are configured by the network device for a DRB of the terminal device, the network device and the terminal device may transmit data of the DRB using the first network coding method based on the network coding parameters. Transmitting the data of the DRB may also be understood as transmitting data mapped to the DRB.

[0181] Exemplarily, during data transmission, the network device may also reconfigure the network coding mode and / or network coding parameters. Optionally, during cell handover of the terminal device, the network device may also reconfigure the network coding mode and / or network coding parameters, which is not limited in the embodiments of the present application.

[0182] The network device can act as a data sender, performing network coding on the data to be sent by the network device and sending the coded data to the terminal device. Alternatively, the terminal device can act as a data sender, performing network coding on the data to be sent by the terminal device and sending the coded data to the network device. The following describes the scenarios where the sender is a network device or a terminal device.

[0183] In a first optional implementation, the network device acts as the data sender. Specifically, the network device may perform network coding on the data to be sent by the network device using a first network coding method based on network coding parameters, and then transmit the network-coded data to the terminal device. Using the first network coding method to perform network coding on the data can be understood as using a network coding algorithm corresponding to the first network coding method to perform network coding on the data.

[0184] Accordingly, the terminal device can receive the network-coded data sent by the network device and, based on the network coding parameters, perform network decoding on the network-coded data using the first network coding method to obtain the data sent by the network device. Using the first network coding method to perform network decoding on the network-coded data can be understood as using a network decoding algorithm corresponding to the first network coding method to perform network decoding on the network-coded data.

[0185] Optionally, the terminal device may determine whether to send feedback information to the network device based on a target timing for sending feedback information. The feedback information is used to indicate whether the terminal device performs network decoding on the network-encoded data. If the current timing meets the target timing for sending feedback information, the terminal device sends feedback information to the network device.

[0186] In a second optional implementation, the terminal device acts as the data sender. Specifically, the terminal device may perform network coding on the data to be sent by the terminal device using the first network coding method according to the network coding parameters, and send the network-coded data to the network device. It should be noted that before sending the network-coded data to the network device, the terminal device may report via BSR to request the network device to allocate uplink resources for the terminal device to transmit the network-coded data. For details, please refer to the subsequent Figure 5 The description of the embodiments is omitted for now.

[0187] Correspondingly, the network device can receive the network-coded data sent by the terminal device, and perform network decoding on the network-coded data using the first network coding method according to the network coding parameters to obtain the data sent by the terminal device.

[0188] Optionally, the network device may determine whether to send feedback information to the terminal device based on a target timing for sending feedback information, where the feedback information indicates whether the network device has performed network decoding on the network-encoded data. If the network device determines to send feedback information to the terminal device, for example, if the current timing meets the target timing for sending feedback information, the network device sends the feedback information to the terminal device.

[0189] It should be noted that, in the first optional implementation and the second optional implementation, the redundancy rate used by the sender when performing network coding on the data can be determined in the following three ways:

[0190] Method 1: If the network device is configured with a network coding redundancy rate, for example, by using parameter H in the network coding parameters, the sender can use the configured network coding redundancy rate for network coding. Correspondingly, the receiver can also use the configured network coding redundancy rate for network decoding.

[0191] Method 2: If the network device is configured with a redundancy rate range for network coding, for example, using parameter H in the network coding parameters, the sender can select a redundancy rate within this range for network coding and indicate the redundancy rate to be used in the packet header of the network coding data packet. Accordingly, the receiver can parse the packet header to obtain the redundancy rate and use it for network decoding.

[0192] In mode 2, in addition to indicating the above-mentioned redundancy rate in the packet header information of the network coding data packet, the sender may also indicate the above-mentioned redundancy rate in the subheader corresponding to the MAC service data unit (SDU) where the data packet is located; or, the sender may also add a MAC CE to the MAC PDU where the data packet is located, and indicate the above-mentioned redundancy rate in the MAC CE; or, the sender may also indicate the above-mentioned redundancy rate in the downlink control information (DCI).

[0193] Method 3: If the network device is not configured with a redundancy rate and a redundancy rate range for network coding, the sender can select a redundancy rate from the full set of redundancy rates (e.g., 1% to 100%) for network coding and indicate the redundancy rate used in the packet header of the network coding data packet. Accordingly, the receiver can obtain the redundancy rate by parsing the packet header information and use the obtained redundancy rate for network decoding. In this embodiment of the present application, the redundancy rate can also be referred to as the code rate.

[0194] Optionally, in the first optional embodiment and the second optional embodiment, the target timing for sending feedback information can be pre-set in the terminal device or the network device, or can be configured by the network device. For example, the network device can configure the target timing for sending feedback information through parameter G (i.e., feedback parameter) in the aforementioned network coding parameters.

[0195] Optionally, the target timing for sending the feedback information may include one or more of the following timings:

[0196] Upon receiving a first network coding data packet corresponding to the data unit, a timer is started, and feedback information is sent when the timer reaches a target value, wherein the target value may be configured by the network device through radio resource control (RRC) signaling;

[0197] For a data unit, when the number of successfully decoded original data packets is greater than a threshold value, feedback information is sent, wherein the threshold value may be configured by the network device through RRC signaling;

[0198] For a data unit, when the ratio between the number of successfully decoded original data packets and the total number of original data packets contained in the data unit reaches a ratio threshold, feedback information is sent, wherein the ratio threshold may be configured by the network device via RRC signaling. Optionally, the total number of original data packets contained in the data unit may be notified to the terminal device via RRC signaling by the network device, or the total number of original data packets contained in the data unit may be transmitted to the receiver via packet header information of the network coded data packet;

[0199] Feedback information is sent periodically according to a target period, where the target period may be preset or may be configured by the network device through RRC signaling.

[0200] In some optional implementations, the sender may perform network coding on the original data packets contained in multiple data units in parallel, i.e., multiple parallel network coding processes are performed. The receiver may also perform network decoding on the network coded data packets corresponding to the multiple data units in parallel, i.e., multiple parallel network decoding processes are performed. For a description of parallel network coding and decoding, refer to the description of parameter A in the network coding parameters above and are not repeated here.

[0201] Depending on whether network coding or network decoding is performed on multiple data units in parallel, the content of the feedback information may be different, which is explained below. It can be understood that the content of the feedback information can be configured by parameter G (i.e., feedback parameter) in the aforementioned network coding parameters.

[0202] When the sender and receiver perform network encoding and network decoding on only one data unit at the same time, the receiver can provide overall feedback on the decoding status of the data unit. Specifically, the feedback information may include a Boolean information indicating whether the original data packet contained in the sender's current data unit is successfully decoded; alternatively, the receiver may also provide feedback on the identifiers of the original data packets in the data unit that were successfully decoded and / or unsuccessfully decoded.

[0203] When the sender and receiver simultaneously perform network coding and network decoding on only one data unit, the sender may transmit the network-coded data packet corresponding to the next data unit after the receiver successfully decodes all the original data packets contained in the current data unit. Alternatively, the sender may not transmit the network-coded data packet corresponding to the next data unit until all the original data packets contained in the current data unit are successfully decoded.

[0204] When the sender and receiver perform network encoding or network decoding on multiple data units in parallel, the receiver can provide overall feedback on the decoding status of each data unit, or can provide specific feedback on the identification information of the original data packets that were successfully and / or unsuccessfully decoded in each data unit.

[0205] Exemplarily, if the receiver provides overall feedback on the decoding status of each data unit, the receiver may send feedback information to the sender, and the feedback information may be used to indicate identifiers of successfully decoded and / or unsuccessfully decoded data units.

[0206] For example, if the receiver specifically provides feedback on the identification information of successfully and / or unsuccessfully decoded original data packets in each data unit, the receiver may send feedback information to the sender, where the feedback information indicates the identification of the successfully and / or unsuccessfully decoded original data packets contained in each data unit and the identification of the data unit. For example, the feedback information may indicate that original data packets 1 and 2 in data unit 1 were successfully decoded, and that original data packets 2 and 3 in data unit 2 were successfully decoded.

[0207] The following is combined with Figure 4 The feedback information sending process of the embodiment of the present application is described with an example. Figure 4 In this embodiment, the data unit is a data packet, and the protocol layer performing network coding is the RLC layer. It is understood that the protocol layer performing network coding may also be another protocol layer. Data packets numbered 1-10 belong to the same data packet, for example, data packet A. The sender may be a terminal device or a network device. If the sender is a terminal device, the corresponding receiver is a network device; if the sender is a network device, the corresponding receiver is a terminal device.

[0208] The sender's RLC layer receives the PDCP PDU from the upper PDCP layer. The RLC layer further generates a corresponding RLC PDU based on the PDCP PDU. The RLC layer can treat the 10 RLC PDUs corresponding to the data packets numbered 1-10 as a data packet. Based on the network coding parameters and network coding method configured on the network device, the RLC layer performs network coding on the 10 RLC PDUs in the data packet to obtain multiple network coded data packets. The sender then sends the network coded data packets to the receiver for network decoding. Optionally, the sender can send the network coded data packets in batches based on the air interface resources between the sender and the receiver.

[0209] Accordingly, the receiver can also perform network decoding on the network-coded data packets based on the network coding parameters and network coding method configured on the network device to obtain the data packets sent by the sender. For example, if the receiver performs network decoding on the received network-coded data packets and obtains data packets 1 and 2, the receiver will send feedback information to the sender. The feedback information may indicate that data packets 1 and 2 of data packet A have been received, that is, data packets 1 and 2 of data packet A have been successfully decoded. Based on the feedback information sent by the receiver, the sender can add more redundant information to data packets numbered 3-10 during the network coding process to facilitate the receiver's successful decoding and obtain data packets 3-10.

[0210] Figure 5 This is a flow chart of a data transmission method provided by an embodiment of the present application. This embodiment involves the specific process of transmitting uplink data between access network equipment, core network equipment and terminal equipment. Figure 3 As shown, the method may include: S500, S501, S502, S503, S504 and S505, wherein the execution order of S500, S501, S502, S503, S504 and S505 is not limited in the embodiment of the present application.

[0211] S500: A network device determines a first network coding mode and network coding parameters corresponding to the first network coding mode.

[0212] S501: A network device sends configuration information to a terminal device, where the configuration information includes the first network coding mode and the network coding parameters.

[0213] S502: The terminal device receives configuration information.

[0214] Among them, please refer to the steps S500 to S502 of the embodiment of the present application. Figure 3 Steps S100 to S102 of the embodiment are not described in detail here.

[0215] S503, the terminal device sends a BSR to the network device, where the BSR includes a first data amount, where the first data amount is the original data amount before network coding is performed on the data to be sent, or the actual data amount after network coding is performed on the data to be sent.

[0216] In some optional embodiments, the first data amount included in the BSR may be an actual data amount after network coding is performed on the data to be transmitted. The actual data amount may be obtained by the terminal device based on network coding parameters and / or channel condition information and the original data amount before network coding is performed on the data to be transmitted.

[0217] The following example illustrates the calculation of the actual data amount using the network coding parameter as the network coding redundancy rate or the network coding redundancy rate range, and the channel state information as the signal to interference plus noise ratio (SINR). Of course, the actual data amount can also be calculated based on other parameters, which is not limited in the embodiments of the present application.

[0218] For example, the actual data volume can be calculated based on the network coding redundancy rate. For example, if the network device configures a DRB with a network coding redundancy rate of 50%, and the original data volume of the data to be sent before network coding is 100 bytes, the actual data volume transmitted over the air interface after network coding can be calculated to be 150 bytes.

[0219] Exemplarily, the actual data volume can be calculated based on a network coding redundancy rate range. For example, a network device can configure a network coding redundancy rate range of 30%-80% for a DRB, and the original data volume before network coding of the data to be transmitted is 100 bytes. The network coding redundancy rate used for the transport block (TB) most recently transmitted before the current moment is 60%. If the time difference between the time of the most recent transmission and the current moment is less than a preset time threshold, the actual data volume transmitted over the air interface after network coding can be calculated to be 160 bytes based on the redundancy rate of 60%. If the time difference between the time of the most recent transmission and the current moment is greater than or equal to a preset time threshold, the redundancy rate can be re-determined based on the current channel status information. It can be understood that the redundancy rate re-determined based on the channel status information falls within the network coding redundancy rate range. For example, the redundancy rate corresponding to each SINR can be pre-defined. When the time difference between the time of the most recent transmission and the current moment is greater than or equal to the preset time threshold, the redundancy rate corresponding to the current channel SINR can be queried based on the current channel SINR, and the actual data volume transmitted over the air interface after network coding can be calculated based on the redundancy rate.

[0220] Exemplarily, the actual data volume can be calculated based on the network coding redundancy rate and channel status information. For example, the network device can configure the network coding redundancy rate of a DRB to be 50%, and indicate to the terminal device that "the 50% network coding redundancy rate applies to a channel SINR of 15dB. If the channel has a different SINR, the redundancy rate corresponding to the other SINR can be obtained based on the correspondence between the offset value and the redundancy rate correction value of each SINR."

[0221] Among them, the correspondence between the offset value of each SINR and the redundancy rate correction value can be defined by the protocol. For example, the correspondence between the offset value of each SINR and the redundancy rate correction value can be defined in a table. The offset value of SINR can be the difference between the SINR of the channel and the standard SINR (for example, the standard SINR is 15dB). The redundancy rate correction value can be the size of the redundancy rate corresponding to the offset value of SINR. Or the redundancy rate correction value can also be the difference between the redundancy rate corresponding to the offset value of SINR and the standard redundancy rate (for example, the standard redundancy rate is 50%). The definition of the offset value of SINR and the redundancy rate correction value is not limited in the embodiments of this application.

[0222] For example, if the current channel's SINR is 10dB and the standard SINR is 15dB, the calculated SINR offset for the current channel is 5dB. Based on the correspondence between the SINR offsets and the redundancy rate correction values, the redundancy rate can be corrected to 70%, meaning the current channel's SINR corresponds to a redundancy rate of 70%. If the original data size before network coding is 100 bytes, the actual data size transmitted over the air interface after network coding is calculated to be 130 bytes.

[0223] Exemplarily, the actual data volume can be calculated based on the network coding redundancy rate range and channel condition information. For example, the network device can configure the network coding redundancy rate range of a certain DRB to be 30%-80%, and the corresponding SINR range is -10dB-30dB. Optionally, the correspondence between the redundancy rate range and the SINR range can be defined through a table. For example, the correspondence between each redundancy rate within the redundancy rate range and each SINR within the SINR range can be defined through a table. For another example, the SINR range can be divided into multiple SINR sub-ranges, and the correspondence between each SINR sub-range and each redundancy rate within the redundancy rate range can be defined through a table.

[0224] It can be understood that if the correspondence between each redundancy rate within the redundancy rate range and each SINR within the SINR range is defined, the redundancy rate corresponding to the SINR of the current channel can be determined based on the redundancy rate corresponding to the SINR close to the SINR of the current channel, and the actual data volume can be calculated based on the redundancy rate. If the correspondence between each SINR sub-range and each redundancy rate within the redundancy rate range is defined, the SINR sub-range to which the SINR of the current channel belongs can be determined, and the redundancy rate corresponding to the SINR sub-range is determined as the redundancy rate corresponding to the SINR of the current channel, and the actual data volume can be calculated based on the redundancy rate.

[0225] Optionally, when the terminal device sends a BSR, it may not have performed network coding on the data to be sent, and the terminal device can infer the actual data amount after network coding; if the terminal device has completed network coding for the data to be sent when the terminal device sends a BSR, the terminal device can use the data amount after network coding as the actual data amount; if the terminal device has completed network coding for part of the data to be sent when the terminal device sends a BSR, but there is still part of the data that has not yet been network coded, the terminal device can infer the data amount after network coding of "this part of the data that has not yet been network coded", plus the data amount after network coding of "this part of the data that has completed network coding", and thus take the sum of these two parts of data as the actual data amount.

[0226] For example, the original data size of the data to be sent by the terminal device before network coding may be 100 bytes. The terminal device determines, based on the channel condition information and / or the network coding parameters, that the actual data size after network coding is 200 bytes. The terminal device may send a BSR indicating that the actual data size after network coding is 200 bytes, that is, the first data size is 200 bytes.

[0227] In other optional embodiments, the first data amount included in the BSR may be the original data amount before network coding is performed on the data to be transmitted. It is understood that if the first data amount is the original data amount, the network device may calculate the actual data amount after network coding of the data to be transmitted based on the network coding parameters and / or channel condition information and the original data amount. The method for calculating the actual data amount by the network device may refer to the method for calculating the actual data amount by the terminal device and is not further described here.

[0228] In some further optional embodiments, the first data amount included in the BSR may also be an intermediate data amount used to calculate the actual data amount. That is, the terminal device may calculate the intermediate data amount based on the original data amount. The network device further calculates the actual data amount based on the intermediate data amount. For example, the terminal device may calculate the intermediate data amount based on the network coding parameters and the original data amount. The network device corrects the intermediate data amount based on the channel status information to determine the actual data amount. For example, if the original data amount of the data to be transmitted before network coding is 100 bytes, the terminal device may determine that the intermediate data amount is 150 bytes based on the redundancy rate of 50% in the network coding parameters, and report the first data amount of 150 bytes via the BSR. After receiving the BSR, the network device corrects the intermediate data amount based on the channel status information, etc., and ultimately determines that the actual data amount transmitted over the air interface after network coding is 200 bytes.

[0229] It can be understood that if the first data amount included in the BSR is the actual data amount, it can be considered that the actual data amount is determined by the terminal device. If the first data amount included in the BSR is the original data amount, it can be considered that the actual data amount is determined by the network device. If the first data amount included in the BSR is the intermediate data amount, it can be considered that the actual data amount is jointly determined by the terminal device and the network device. In the embodiment of the present application, the actual data amount is determined by the terminal device, or determined by the network device, or jointly determined by the terminal device and the network device, and can be configured by the network device. Optionally, the network device can configure the method for determining the actual data amount through parameter I (i.e., the calculation method of the BSR) in the aforementioned network coding parameters.

[0230] It should be noted that in scenarios where the terminal device performs network coding and the network device performs network decoding, the actual data volume can be determined by the terminal device, the network device, or both. In scenarios where the terminal device performs network coding and the UPF performs network decoding, the actual data volume is determined by the terminal device.

[0231] S504: The network device allocates uplink resources for transmitting network-coded data to the terminal device according to the first data volume.

[0232] Specifically, the network device receives the BSR sent by the terminal device and determines the actual data volume of the data to be transmitted after network coding based on the first data volume included in the BSR. The network device allocates uplink resources to the terminal device for transmitting the network-coded data based on the actual data volume. For example, if the actual data volume after network coding is 200 bytes, the network device allocates uplink resources to the terminal device for transmitting 200 bytes.

[0233] S505, the terminal device sends the network-coded data to the network device in the uplink resource.

[0234] In one embodiment, the terminal device performs network coding on the data to be sent, and sends the network-coded data on the uplink resources allocated by the network device. Accordingly, the network device receives the network-coded data and performs network decoding on the network-coded data. Furthermore, the network device sends the decoded data to the core network device. For example, the network device sends the decoded data to the UPF. It is understandable that the amount of data decoded by the network device can be the same as the original amount of data to be sent by the terminal device. For example, the original amount of data to be sent by the terminal device is 100 bytes, and the actual amount of data after network coding is 200 bytes. The amount of data decoded by the network device can also be 100 bytes.

[0235] Exemplarily, the network-coded data may be mapped to a DRB, and the data mapped to the DRB may be sent through a corresponding logical channel. Before sending the data of the logical channel, the terminal device may allocate uplink resources for the logical channel through an LCP process. The data of the logical channel may include data in the DRB corresponding to the logical channel.

[0236] In the embodiment of the present application, the following two optional implementations can be provided to solve the problem that LCHs with a lower priority than those performing rateless network coding cannot be allocated uplink resources in the second round of LCP resource allocation. Among them, rateless network coding refers to generating endless network coding data based on limited input data.

[0237] In a first optional implementation, when the network coding method configured by the network device for the radio bearer corresponding to the logical channel is rateless network coding, that is, the logical channel performs rateless network coding, the network device can configure multiple priorities for the logical channel. Exemplarily, the network device can configure two priorities for the logical channel, and the two priorities can be the first priority in the first round of LCP resource allocation and the second priority in the second round of LCP resource allocation. Optionally, the network device can configure the first priority and the second priority through parameter J (i.e., LCP parameter) in the aforementioned network coding parameters.

[0238] Specifically, optionally, when allocating uplink resources to the logical channel, the terminal device may allocate uplink resources to the logical channel based on the first priority of the logical channel in the first round of LCP resource allocation and the second priority of the logical channel in the second round of LCP resource allocation. Optionally, the second priority in the second round of LCP resource allocation may indicate that the logical channel has the lowest priority in the second round of LCP resource allocation.

[0239] Optionally, if the network coding mode configured by the network device for the radio bearer corresponding to the logical channel is not rateless network coding, the network device may configure a priority for the logical channel.

[0240] The following combination Figure 6 An example is given for allocating uplink resources to logical channels. As shown in the figure, the three logical channels are LCH A, LCH B, and LCH C. LCH C performs rateless network coding. Therefore, LCH C can be configured with the first priority in the first round of LCP resource allocation (i.e., the first priority of LCH C is after LCH A and before LCH B) and the second priority in the second round of LCP resource allocation (i.e., the second priority of LCH C is after all LCHs).

[0241] The network coded data amounts in LCH A, LCH C, and LCH B are 300 bytes, infinity, and 700 bytes, respectively. The priorities of these three LCHs in the first round of LCP resource allocation are, from high to low, LCH A, LCH C, and LCH B. In the first round of LCP resource allocation, based on the priority order of these three LCHs in the first round of LCP resource allocation and the GBRs of these LCHs, LCH A is allocated uplink resources for transmitting 100 bytes, LCH C is allocated uplink resources for transmitting 150 bytes, and LCH B is allocated uplink resources for transmitting 50 bytes. The priorities of these three LCHs in the second round of LCP resource allocation are, from high to low, LCH A, LCH B, and LCH C. In the second round of LCP resource allocation, based on the priority order of these three LCHs in the second round of LCP resource allocation, LCH A is allocated uplink resources for transmitting 200 bytes, LCH B is allocated uplink resources for transmitting 650 bytes, and LCH C is allocated all the remaining uplink resources.

[0242] In a second optional implementation, when the network coding method configured by the network device for the radio bearer corresponding to the logical channel is rateless network coding, that is, the logical channel performs rateless network coding, the network device can configure multiple GBRs for the logical channel. Exemplarily, the network device can configure two GBRs for the logical channel, and the two GBRs can be the first guaranteed bit rate GBR in the first round of LCP resource allocation and the second guaranteed bit rate GBR in the second round of LCP resource allocation. Optionally, the network device can configure the first guaranteed bit rate GBR and the second guaranteed bit rate GBR by using parameter J (i.e., LCP parameter) in the aforementioned network coding parameters.

[0243] Specifically, optionally, when allocating uplink resources to the logical channel, the terminal device may allocate uplink resources to the logical channel based on the first guaranteed bit rate GBR of the logical channel in the first round of LCP resource allocation and the second guaranteed bit rate GBR in the second round of LCP resource allocation.

[0244] Exemplarily, if there are multiple logical channels that perform rateless network coding, the proportional relationship between the second guaranteed bit rates GBR of each logical channel that performs rateless network coding in the second round of LCP resource allocation can be configured, that is, in the second round of LCP resource allocation, uplink resources are allocated proportionally to the multiple logical channels that perform rateless network coding.

[0245] Optionally, if the network coding mode configured by the network device for the radio bearer corresponding to the logical channel is not rateless network coding, the network device may configure a GBR for the logical channel, that is, the GBR in the first round of LCP resource allocation.

[0246] The following combination Figure 7 An example is given for allocating uplink resources to logical channels. As shown in the figure, the three logical channels are LCH A, LCH B, and LCH C. LCH C performs rateless network coding. Therefore, LCH C can be configured with a first guaranteed bit rate GBR in the first round of LCP resource allocation (as shown in the figure, the first guaranteed bit rate GBR of LCH C is 150) and a second guaranteed bit rate GBR in the second round of LCP resource allocation (i.e., the second guaranteed bit rate GBR of LCH C is 200).

[0247] The data sizes of LCH A, LCH C, and LCH B after network coding are 300 bytes, infinity, and 700 bytes, respectively. The priorities of the three LCHs are LCH A, LCH C, and LCH B, from high to low. In the first round of LCP resource allocation, based on the priority order of the three LCHs and the GBR of each LCH, uplink resources for transmitting 100 bytes are allocated to LCH A, uplink resources for transmitting 150 bytes are allocated to LCH C, and uplink resources for transmitting 50 bytes are allocated to LCH B. In the second round of LCP resource allocation, based on the priority order of the three LCHs and the second guaranteed bit rate (GBR) of LCH C, uplink resources for transmitting 200 bytes are allocated to LCH A, uplink resources for transmitting 650 bytes are allocated to LCH B, and uplink resources for transmitting 200 bytes are allocated to LCH C. It is understandable that after the second round of LCP resource allocation is completed, if the network device still has remaining uplink resources allocated to the terminal device, all remaining resources will be allocated to LCH C in the third round of LCP resource allocation.

[0248] It is understandable that in order to implement the functions in the above embodiments, the network devices and terminal devices include hardware structures and / or software modules corresponding to the execution of each function. It should be readily apparent to those skilled in the art that, in combination with the units and method steps of each example described in the embodiments disclosed in this application, the present application can be implemented in the form of hardware, software, or a combination of hardware and software. Whether a function is executed in the form of hardware, software, or computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.

[0249] Figure 8 and Figure 9Schematic diagram of the structure of possible communication devices provided for embodiments of the present application. These communication devices can be used to implement the functions of the terminal device or network device in the above method embodiments, thereby also achieving the beneficial effects of the above method embodiments. In the embodiments of the present application, the communication device can be a network device, a terminal device, or a module (such as a chip) applied to a network device or a terminal device.

[0250] like Figure 8 As shown, the communication device 800 includes a processing unit 810 and a transceiver unit 820. The communication device 800 is used to implement the above Figure 3 The functions of the network device or terminal device in the method embodiment shown in FIG.

[0251] When the communication device 800 is used to implement Figure 3 In the illustrated method embodiment, when the network device functions, the processing unit 810 is configured to determine a first network coding method and network coding parameters corresponding to the first network coding method. The transceiver unit 820 is configured to send configuration information to the terminal device, the configuration information including the first network coding method and the network coding parameters. The transceiver unit 820 is further configured to transmit data to the terminal device using the first network coding method based on the network coding parameters.

[0252] When the communication device 800 is used to implement Figure 3 When the terminal device functions in the method embodiment shown, the transceiver unit 820 is used to receive configuration information from the network device, and the configuration information includes a first network coding method and network coding parameters corresponding to the first network coding method; the transceiver unit 820 is also used to transmit data with the network device using the above-mentioned first network coding method according to the above-mentioned network coding parameters.

[0253] For more detailed description of the processing unit 810 and the transceiver unit 820, please refer to Figure 3 The relevant description in the method embodiment shown is directly obtained and will not be repeated here.

[0254] like Figure 9 As shown, communication device 900 includes a processor 910 and an interface circuit 920. Processor 910 and interface circuit 920 are coupled to each other. It will be appreciated that interface circuit 920 may be a transceiver or an input / output interface. Optionally, communication device 900 may further include a memory 930 for storing instructions executed by processor 910, input data required by processor 910 to execute instructions, or data generated after processor 910 executes instructions.

[0255] When the communication device 900 is used to implement Figure 3When the method is shown, the processor 910 is used to implement the functions of the processing unit 810, and the interface circuit 920 is used to implement the functions of the transceiver unit 820.

[0256] When the communication device is a chip used in a terminal device, the terminal device chip implements the functions of the terminal device in the above method embodiments. The terminal device chip receives information from other modules in the terminal device (such as a radio frequency module or antenna), and the information is sent by the network device to the terminal device; or the terminal device chip sends information to other modules in the terminal device (such as a radio frequency module or antenna), and the information is sent by the terminal device to the network device.

[0257] When the communication device is a chip used in a network device, the network device chip implements the network device functions of the above method embodiments. The network device chip receives information from other modules in the network device (such as a radio frequency module or antenna), and the information is sent by the terminal device to the network device; or the network device chip sends information to other modules in the network device (such as a radio frequency module or antenna), and the information is sent by the network device to the terminal device.

[0258] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0259] In the embodiments of the present application, the processor can be a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a mobile hard disk, a CD-ROM, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a network device or a terminal device. Of course, the processor and the storage medium can also exist in a network device or a terminal device as discrete components.

[0260] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instruction is loaded and executed on a computer, the process or function described in the embodiment of the present application is executed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a terminal device, or other programmable device. The computer program or instruction may be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, a hard disk, or a tape; it may also be an optical medium, such as a DVD; it may also be a semiconductor medium, such as a solid state disk (SSD).

[0261] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

[0262] It is understood that the various numbers used in the embodiments of this application are merely for ease of description and are not intended to limit the scope of the embodiments of this application. The order of the sequence numbers of the above-mentioned processes does not necessarily imply a specific order of execution; the order of execution of the processes should be determined by their functions and inherent logic.

Claims

1. A data transmission method, characterized in that: include: Determining a first network coding mode and network coding parameters corresponding to the first network coding mode; Sending configuration information to a terminal device, the configuration information including the first network coding mode and the network coding parameters; transmitting data to the terminal device using the first network coding method according to the network coding parameters; The transmitting data with the terminal device using the first network coding method according to the network coding parameter specifically includes: sending the network-coded data to the terminal device using the first network coding method according to the network coding parameters; or receiving, according to the network coding parameters, network-coded data sent by the terminal device using the first network coding method; The network-coded data includes a plurality of network-coded data packets obtained by performing network coding on the original data packet contained in the data unit.

2. The method according to claim 1, wherein The network coding parameters include one or more of the following parameters: the number of parallel network coding or network decoding processes, the memory size required for network coding or network decoding, the number of original data packets contained in a data unit in uplink transmission or downlink transmission, the total number of bits of the original data packets contained in a data unit, the size of the network coded data packet after network coding the original data packet, the number of network coded data packets after network coding the original data packet, the feedback parameter of network decoding, the redundancy rate or redundancy rate range of network coding, the calculation method of the cache status report BSR, and the logical channel priority process LCP parameter of the wireless bearer using rateless network coding.

3. The method according to claim 1 or 2, wherein: The determining of the first network coding mode specifically includes: receiving a first message from a core network device, where the first message includes at least one network coding method recommended by the core network device; A first network coding mode is determined according to the at least one network coding mode.

4. The method according to claim 1, wherein The determining of the network coding parameters corresponding to the first network coding mode specifically includes: Obtain network coding capability information of terminal devices; Determine network coding parameters corresponding to the first network coding method based on the network coding capability information of the terminal device.

5. The method according to claim 4, wherein The method further comprises: Sending a capability reporting request to the terminal device; receiving capability information from the terminal device, the capability information including the network coding capability information; The capability information is sent to the core network device.

6. The method according to claim 1 or 2, wherein: The first network coding mode and the network coding parameters are configured for a radio bearer of the terminal device; The transmitting data with the terminal device using the first network coding method according to the network coding parameter specifically includes: According to the network coding parameters, the first network coding method is used to transmit the wireless bearer data to the terminal device.

7. The method according to claim 6, wherein The network coding modes of different radio bearers among the multiple radio bearers belonging to the same session are different; or the network coding modes of the multiple radio bearers belonging to the same session are the same.

8. The method according to claim 4 or 5, characterized in that The network coding capability information includes one or more of the following information: at least one network coding mode supported by the terminal device; the number of radio bearers for which the terminal device performs network coding simultaneously; the sum of the data rates of the radio bearers for which the terminal device performs network coding simultaneously; When two MAC entities are used simultaneously, the number of wireless bearers that the terminal device can simultaneously perform network coding on for one MAC entity; for each network coding mode of each wireless bearer, the maximum number of parallel network coding or network decoding processes that the terminal device can simultaneously support; the memory size that the terminal device can use for network coding and network decoding; for each network coding mode of each wireless bearer, the maximum memory size that the terminal device can use for network coding and network decoding.

9. The method according to claim 1, wherein Before receiving the network-coded data sent by the terminal device using the first network coding method according to the network coding parameters, the method further includes: receiving a BSR from the terminal device, where the BSR includes a first data amount, where the first data amount is an original data amount before network coding is performed on the data to be sent, or an actual data amount after network coding is performed on the data to be sent; Based on the first data volume, uplink resources for transmitting the network-coded data are allocated to the terminal device.

10. The method according to claim 9, wherein The first data amount is the original data amount before network coding is performed on the data to be sent; The allocating, for the terminal device, uplink resources for transmitting the network-coded data according to the first data amount specifically includes: determining, according to the network coding parameter and / or channel condition information and the first data amount, an actual data amount after network coding is performed on the data to be sent; Based on the actual data volume, uplink resources for transmitting the network-coded data are allocated to the terminal device.

11. The method according to claim 6, wherein The method further comprises: A first priority in a first round of LCP resource allocation and a second priority in a second round of LCP resource allocation are configured for a logical channel of the terminal device, the logical channel corresponding to the radio bearer.

12. The method according to claim 6, wherein The method further comprises: A first guaranteed bit rate GBR in a first round of LCP resource allocation and a second guaranteed bit rate GBR in a second round of LCP resource allocation are configured for a logical channel of the terminal device, the logical channel corresponding to the radio bearer.

13. A data transmission method, characterized in that: include: receiving configuration information from a network device, the configuration information including a first network coding mode and network coding parameters corresponding to the first network coding mode; transmitting data with the network device using the first network coding method according to the network coding parameters; The transmitting data with the network device using the first network coding method according to the network coding parameter specifically includes: sending the network-coded data to the network device using the first network coding method according to the network coding parameters; or receiving, according to the network coding parameters, network-coded data sent by the network device using the first network coding method; The network-coded data includes a plurality of network-coded data packets obtained by performing network coding on the original data packet contained in the data unit.

14. The method according to claim 13, wherein The network coding parameters include one or more of the following parameters: the number of parallel network coding or network decoding processes, the memory size required for network coding or network decoding, the number of original data packets contained in a data unit in uplink transmission or downlink transmission, the total number of bits of the original data packets contained in a data unit, the size of the network coded data packet after network coding the original data packet, the number of network coded data packets after network coding the original data packet, the feedback parameter of network decoding, the redundancy rate or redundancy rate range of network coding, the calculation method of the cache status report BSR, and the logical channel priority process LCP parameter of the wireless bearer using rateless network coding.

15. The method according to claim 13 or 14, characterized in that Before receiving the configuration information from the network device, the method further includes: receiving a capability reporting request from the network device; According to the capability reporting request, capability information is sent to the network device, where the capability information includes network coding capability information of the terminal device.

16. The method according to claim 13 or 14, wherein: The first network coding mode and the network coding parameters are configured for a radio bearer of a terminal device; The transmitting data with the network device using the first network coding method according to the network coding parameter specifically includes: According to the network coding parameters, the first network coding method is used to transmit the data of the radio bearer to the network device.

17. The method according to claim 13, wherein Before sending the network-coded data to the network device using the first network coding method according to the network coding parameters, the method further includes: A BSR is sent to the network device, where the BSR includes a first data amount, where the first data amount is an original data amount before network coding is performed on the data to be sent, or an actual data amount after network coding is performed on the data to be sent.

18. The method according to claim 17, wherein The first data amount is the actual data amount after network coding is performed on the data to be sent; before sending the BSR to the network device, the method further includes: The first data amount is obtained according to the network coding parameter and / or channel status information and the original data amount before network coding is performed on the data to be sent.

19. The method according to claim 16, wherein The method further comprises: Allocate uplink resources to the logical channel according to a first priority of the logical channel in the first round of LCP resource allocation and a second priority of the logical channel in the second round of LCP resource allocation, where the logical channel corresponds to the radio bearer; The transmitting, according to the network coding parameter, the data mapped on the radio bearer with the network device using the first network coding mode specifically includes: The data of the logical channel is transmitted on the uplink resource using the first network coding mode according to the network coding parameters, where the data of the logical channel includes the data of the radio bearer.

20. The method of claim 16, wherein: The method further comprises: Allocate uplink resources to the logical channel according to a first guaranteed bit rate (GBR) of the logical channel in the first round of LCP resource allocation and a second guaranteed bit rate (GBR) of the logical channel in the second round of LCP resource allocation, where the logical channel corresponds to the radio bearer; The transmitting, according to the network coding parameter, the data mapped on the radio bearer with the network device using the first network coding mode specifically includes: The data of the logical channel is transmitted on the uplink resource using the first network coding mode according to the network coding parameters, where the data of the logical channel includes the data of the radio bearer.

21. The method according to claim 13, wherein After receiving the network-coded data sent by the network device using the first network coding method according to the network coding parameters, the method further includes: According to a target timing for sending feedback information, it is determined to send feedback information to the network device, where the feedback information is used to instruct the terminal device to perform network decoding on the network-encoded data.

22. The method according to claim 21, wherein The target opportunity includes one or more of the following opportunities: receiving a first network coding data packet corresponding to the data unit, starting a timer, and sending feedback information when the timer reaches a target value; For a data unit, when the number of successfully decoded original data packets is greater than a threshold, feedback information is sent; For a data unit, when the ratio between the number of successfully decoded original data packets and the total number of original data packets contained in the data unit reaches a ratio threshold, sending feedback information; Feedback information is sent periodically according to a target period, where the target period is preset or configured by the network device.

23. The method according to claim 21 or 22, wherein: The feedback information includes one or more of the following information: Used to indicate whether the original data packet contained in the data unit is successfully decoded; An identifier for indicating successfully decoded and / or unsuccessfully decoded original data packets among a plurality of original data packets included in the data unit; An identifier for indicating a data unit that is successfully decoded and / or unsuccessfully decoded among a plurality of data units; Used to indicate the identifiers of successfully decoded and / or unsuccessfully decoded original data packets among multiple original data packets contained in the data unit and the identifier of the data unit.

24. A communication device, characterized in that: The communication device comprises: a processing unit, configured to determine a first network coding mode and network coding parameters corresponding to the first network coding mode; a transceiver unit, configured to send configuration information to a terminal device, the configuration information including the first network coding mode and the network coding parameters; The transceiver unit is further configured to transmit data with the terminal device using the first network coding method according to the network coding parameters; The transmitting and receiving unit transmitting data with the terminal device using the first network coding method according to the network coding parameter specifically includes: The transceiver unit sends the network-coded data to the terminal device using the first network coding method according to the network coding parameters; or The transceiver unit receives the network-coded data sent by the terminal device using the first network coding method according to the network coding parameters; The network-coded data includes a plurality of network-coded data packets obtained by performing network coding on the original data packet contained in the data unit.

25. A communication device, characterized in that: The communication device comprises: a transceiver unit, configured to receive configuration information from a network device, the configuration information including a first network coding mode and network coding parameters corresponding to the first network coding mode; The transceiver unit is further configured to transmit data with the network device using the first network coding method according to the network coding parameters; The transmitting and receiving unit transmits data with the network device using the first network coding method according to the network coding parameter, specifically including: The transceiver unit sends the network-coded data to the network device using the first network coding method according to the network coding parameters; or The transceiver unit receives the network-coded data sent by the network device using the first network coding method according to the network coding parameters; The network-coded data includes a plurality of network-coded data packets obtained by performing network coding on the original data packet contained in the data unit.

26. A communication device, characterized in that: The apparatus comprises a processor and a memory, wherein the processor and the memory are coupled, and the processor is configured to implement the method according to any one of claims 1 to 12 or 13 to 23.

27. A communication device, characterized in that: include: processor and interface circuits; The interface circuit is used to receive code instructions and transmit them to the processor; The processor is configured to run the code instructions to perform the method according to any one of claims 1 to 12 or 13 to 23.

28. A computer-readable storage medium, characterized in that The storage medium stores a computer program or instruction. When the computer program or instruction is executed by the communication device, the method according to any one of claims 1 to 12 is implemented, or the method according to any one of claims 13 to 23 is implemented.

Citation Information

Patent Citations

  • Data transmission method and device

    CN109217990A

  • Improved uplink resource allocation among different OFDM numerology schemes

    CN109565494A