Data transmission method and apparatus
By grouping the N data points with the smallest remaining time in the new air interface system into packets, the problem of low data transmission efficiency caused by TB-level packetization is solved, achieving data transmission flexibility and efficient resource utilization.
Patent Information
- Application Number
- PCT/CN2025/110628
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-31
- Filing Date
- 2025-07-25
- Publication Date
- 2026-02-05
AI Technical Summary
In the new air interface system, data transmission efficiency is low, especially because the TB-level packet grouping makes it impossible to differentiate data packets with different remaining time, resulting in unreliable latency and wasted resources.
By identifying the N data points with the smallest remaining time as the first transmission unit, and grouping data packets according to their remaining time from smallest to largest, the network side can perform differentiated scheduling, thereby improving the flexibility and efficiency of resource transmission.
This approach establishes a time-remaining correlation between the transmission unit and the data, improving data transmission efficiency, reducing resource waste, and enhancing the reliability of retransmissions.
Smart Images

Figure CN2025110628_05022026_PF_FP_ABST
Abstract
Description
A data transmission method and apparatus
[0001] Cross-references to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411053917.8, filed on July 31, 2024, entitled "A Data Transmission Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of communication technology, and in particular to a data transmission method and apparatus. Background Technology
[0004] In New Radio (NR) systems, data is transmitted over the air in transport blocks (TBs). The size of a TB is determined by the resources allocated by the network, and a TB may contain one or more data packets. During uplink data transmission, terminal devices encapsulate multiple data packets into a single TB according to the priority of the logical channel (LCH) and the order in which the data arrives. However, this method can reduce data transmission efficiency. For example, in TB-level packet assembly and transmission, a TB may contain data packets with different remaining times. Since base stations manage and schedule data in TB units, they cannot differentiate between data packets with different remaining times. For instance, if a TB contains two data packets, with packet 1 having 10ms remaining time and packet 2 having 40ms remaining time, even though packet 1 has a smaller remaining time, it still needs to wait for the entire TB to be correctly transmitted before it can be parsed, potentially leading to unreliable latency for packet 1. Furthermore, if packet 1 times out before the TB is correctly transmitted (i.e., its remaining time becomes 0), it still needs to be retransmitted as part of the TB, resulting in wasted resources.
[0005] Therefore, improving data transmission efficiency is an urgent problem to be solved. Summary of the Invention
[0006] This application provides a data transmission method and apparatus to improve data transmission efficiency.
[0007] Firstly, this application provides a data transmission method, wherein the execution subject of the method is a terminal device or a module or chip within the terminal device; the method is described here using a terminal device as the execution subject as an example. The method includes: determining a first transmission unit based on N data; where N is an integer greater than 0, and the N data are the N data with the smallest remaining time among a plurality of data to be transmitted; and transmitting the first transmission unit.
[0008] Using the above method, the data in the first transmission unit is determined from smallest to largest based on the remaining time. Since the remaining times of the data in the first transmission unit are similar, it is possible to associate the transmission unit with the remaining time of the data. This allows the network side to perform differentiated scheduling processing based on the remaining time when scheduling and retransmitting the transmission unit, thereby improving the flexibility of resource transmission and the efficiency of data transmission.
[0009] In one possible implementation, the first transmission unit is a transmission block TB, a code block CB, or a code block group CBG.
[0010] In one possible implementation, the first transmission unit further includes first information, which is used to indicate at least one of the following:
[0011] The minimum remaining time among the N remaining times of the N data; the maximum remaining time among the N remaining times; the N remaining times; a third remaining time, which is determined based on one or more remaining times among the N remaining times, for example, the third remaining time is one of the N remaining times, or the third remaining time is the average of the N remaining times; and a time interval including the minimum remaining time and the maximum remaining time among the N remaining times.
[0012] The first information allows the network to determine information such as the minimum or maximum remaining time of data in the first transmission unit. This enables the network to perform differentiated scheduling based on the remaining time indicated by the first information. For example, if the minimum or maximum remaining time indicated by the first information is close to 0, meaning the first transmission unit contains data that is about to time out, the network can improve the reliability of retransmissions of the first transmission unit. If the minimum or maximum remaining time indicated by the first information is equal to 0, meaning the first transmission unit contains data that has already timed out, the network can stop retransmissions of the first transmission unit.
[0013] In one possible implementation, the N remaining times of the N data are located within a remaining time interval, which is preset or indicated by the network device.
[0014] In one possible implementation, the method further includes: receiving scheduling information from a network device, the scheduling information indicating a first resource for transmitting the first transmission unit; wherein the data size of the first transmission unit or the total data size of N data items is determined based on the size of the first resource. The value of N can be determined based on the data size of the first transmission unit and the data size of each data item.
[0015] In this method, the amount of data in the first transmission unit or the total amount of data in N data units is determined according to the size of the first resource. That is, the amount of data in the first transmission unit or the total amount of data in N data units is specified by the network side, which can improve data transmission efficiency.
[0016] In one possible implementation, the N data points are all or part of the data whose remaining time falls within the remaining time interval; or the N data points are part or all of the M data points whose remaining time falls within the remaining time interval, where N is less than or equal to M. The remaining time interval is preset or indicated by the network device.
[0017] In this method, the amount of data in the first transmission unit or the total amount of data of N data are determined based on the data within the remaining time interval. This can be understood as the data size of the first transmission unit being adaptive, which can avoid the situation of transmitting filler data in the first transmission unit and reduce resource waste.
[0018] In one possible implementation, the total amount of the N data is less than or equal to a first data amount, which is preset or indicated by the network device.
[0019] This method avoids an excessive number of data points within the same remaining time interval, which would lead to an excessively large data volume in the first transmission unit and excessive resource consumption for retransmitting the first transmission unit. This reduces resource consumption and improves data transmission efficiency.
[0020] In one possible implementation, the first transmission unit further includes second information, which is used to indicate the amount of data in the first transmission unit.
[0021] By using this method, the second information indicates the actual amount of data in the first transmission unit, or the amount and / or location of the resources actually occupied, which enables the network side to accurately receive the first transmission unit and improves data transmission efficiency.
[0022] In one possible implementation, the remaining time for the N data is greater than a threshold, which is used to determine whether the data should be sent.
[0023] In one possible implementation, the method further includes: receiving configuration information for instructing the determination of transmission units based on the remaining time.
[0024] Secondly, this application provides a data transmission method, wherein the execution subject of the method is a network device or a module or chip in a network device, and the method is described here using a network device as an example. The method includes: receiving a first transmission unit from a terminal device; the first transmission unit determining, based on N data, where N is an integer greater than 0, and the N data are the N data with the smallest remaining time among a plurality of data to be transmitted; and determining the N data according to the first transmission unit.
[0025] In one possible implementation, the first transmission unit is a transmission block TB, a code block CB, or a code block group CBG.
[0026] In one possible implementation, the first transmission unit further includes first information, which is used to indicate at least one of the following:
[0027] The minimum remaining time among the N remaining times of the N data; the maximum remaining time among the N remaining times; the N remaining times; a third remaining time, which is determined based on one or more remaining times among the N remaining times, for example, the third remaining time is one of the N remaining times, or the third remaining time is the average of the N remaining times; and a time interval including the minimum remaining time and the maximum remaining time among the N remaining times.
[0028] In one possible implementation, the N remaining times of the N data are located within a remaining time interval, which is preset or indicated by the network device.
[0029] In one possible implementation, the method further includes: sending scheduling information, the scheduling information being used to indicate a first resource, the first resource being used to transmit the first transmission unit; wherein the total data volume of the N data is determined according to the size of the first resource.
[0030] In one possible implementation, the N data points are all or part of the data whose remaining time falls within the remaining time interval; or the N data points are part or all of the M data points whose remaining time falls within the remaining time interval, where N is less than or equal to M. The remaining time interval is preset or indicated by the network device.
[0031] In one possible implementation, the total amount of the N data is less than or equal to a first data amount, which is preset or indicated by the network device.
[0032] In one possible implementation, the first transmission unit further includes second information, which is used to indicate the amount of data in the first transmission unit.
[0033] In one possible implementation, the remaining time for the N data is greater than a threshold, which is used to determine whether the data should be sent.
[0034] In one possible implementation, the method further includes sending configuration information for instructing the determination of transmission units based on the remaining time.
[0035] Thirdly, this application also provides a communication device capable of implementing any of the methods provided in any of the first to second aspects described above. This communication device can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more units or modules corresponding to the aforementioned functions.
[0036] In one possible implementation, the communication device includes a processor configured to support the communication device in performing corresponding functions of the network device, terminal device, or core network device described above. The communication device may also include a memory coupled to the processor, which stores necessary program instructions and data for the communication device. Optionally, the communication device further includes interface circuitry for supporting communication between the communication device and devices such as terminal devices.
[0037] In one possible implementation, the communication device includes corresponding functional modules, each used to implement the steps in the above method. The functions can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions described above.
[0038] In one possible implementation, the communication device includes a processing unit and a communication unit, which can perform the corresponding functions in the above method examples, as described in the methods provided in any of the first or second aspects, and will not be repeated here.
[0039] Fourthly, a communication device is provided, including a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices outside the communication device and transmit them to the processor, or to send signals from the processor to other communication devices outside the communication device. The processor implements the functional modules of the methods in any possible implementation of any of the first to second aspects through logic circuits or by executing computer programs or instructions. Optionally, the communication device further includes a memory for storing computer programs or instructions.
[0040] Fifthly, a computer-readable storage medium is provided that stores a computer program or instructions which, when executed by a processor, implement the method in any possible implementation of any of the first to second aspects described above.
[0041] In a sixth aspect, a computer program product storing instructions is provided, which, when read and executed by a computer, implements the method in any possible implementation of any of the first to second aspects described above.
[0042] In a seventh aspect, a circuit is provided for performing the methods in any possible implementation of any of the first to second aspects described above. The circuit may include chip circuitry. Optionally, the circuit may also be coupled to a memory.
[0043] Eighthly, a chip is provided, comprising a processor, which, when executing a computer program or instructions, implements the methods in any possible implementation of any of the first to second aspects described above. Optionally, the chip may further include a memory, and the chip may be composed of chips or may include chips and other discrete devices.
[0044] A ninth aspect provides a communication device including a processor that implements the method in any possible implementation of any of the first to second aspects by means of logic circuits or by executing computer programs or instructions.
[0045] In a tenth aspect, a communication apparatus is provided, comprising a unit or module for performing a method in any possible implementation of any of the first to second aspects described above.
[0046] Eleventhly, embodiments of this application also provide a communication system. The communication system includes: a terminal device for implementing the methods of the first aspect and any possible implementation thereof; and a network device for implementing the methods of the second aspect and any possible implementation thereof. Attached Figure Description
[0047] Figure 1 is a schematic diagram of a network device architecture provided in an embodiment of this application;
[0048] Figure 2 is a schematic diagram of a network device architecture provided in an embodiment of this application;
[0049] Figure 3 is a schematic diagram of a data packet provided in an embodiment of this application;
[0050] Figure 4 is a schematic diagram of a CB partitioning provided in an embodiment of this application;
[0051] Figure 5 is a schematic diagram of a CB partitioning provided in an embodiment of this application;
[0052] Figure 6 is a schematic flowchart of a data transmission method provided in an embodiment of this application;
[0053] Figure 7 is a schematic diagram of a TB provided in an embodiment of this application;
[0054] Figure 8 is a schematic diagram of a TB provided in an embodiment of this application;
[0055] Figure 9 is a schematic diagram of a CBG provided in an embodiment of this application;
[0056] Figure 10 is a schematic diagram of a CBG provided in an embodiment of this application;
[0057] Figure 11 is a schematic diagram of a TB provided in an embodiment of this application;
[0058] Figure 12 is a schematic diagram of a CBG provided in an embodiment of this application;
[0059] Figure 13 is a schematic flowchart of a data transmission method provided in an embodiment of this application;
[0060] Figure 14 is a schematic diagram of a data packet provided in an embodiment of this application;
[0061] Figure 15 is a schematic diagram of a communication device structure provided in an embodiment of this application;
[0062] Figure 16 is a schematic diagram of a communication device structure provided in an embodiment of this application;
[0063] Figure 17 is a schematic diagram of a communication device structure provided in an embodiment of this application. Detailed Implementation
[0064] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them.
[0065] In the description of the embodiments of this application, "and / or" describes the relationship between associated objects, indicating that there can be three relationships. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after it are in an "or" relationship.
[0066] It should be understood that in this application, "at least one" means one or more. "More" means two or more. "At least two" means two or three or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0067] The terms "first," "second," and corresponding designations used in this application are for distinguishing similar objects and are not necessarily for describing a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. The methods and apparatuses provided in the embodiments of this application are based on the same or similar technical concepts. Since the principles by which the methods and apparatuses solve problems are similar, the implementations of the apparatus and methods can refer to each other, and repeated details will not be repeated.
[0068] The method provided in this application can be applied to various mobile communication systems, such as the Internet of Things (IoT), narrowband Internet of Things (NB-IoT), fourth-generation (4G) communication systems (e.g., Long Term Evolution (LTE)), fifth-generation (5G) communication systems (e.g., 5G New Radio (NR)), LTE and NR hybrid architectures, or new communication systems emerging in future communication developments. The communication system can also include machine-to-machine (M2M) networks, machine-type communication (MTC) networks, or other networks.
[0069] To facilitate understanding of the embodiments of this application, the application scenario used in this application will be described using the architecture of the communication system shown in Figure 1 as an example. As shown in Figure 1, the communication system includes a data network (DN), a core network, and an access network. The access network includes at least one access network device, and may also include at least one terminal device, such as the XR device shown in Figure 1. The downlink data transmission path is as follows: data generated by the application server is forwarded through the data network, sent to the core network via the N6 interface, and then the core network transmits the data to the access network device via the N3 interface. The access network device then sends the data to the XR device via the Uu air interface. The uplink data transmission path is the reverse of the downlink data transmission path; the specific process will not be described further. Terminal devices can also communicate with each other via a sidelink (SL).
[0070] It is understood that Figure 1 only shows one possible communication system architecture that can be applied to the embodiments of this application, and other devices may also be included in the communication system architecture in other possible scenarios.
[0071] In this embodiment, the network device can be a device in a wireless network, and can also be referred to as a network apparatus, a radio access network device, or an access network device. For example, the network device can be a radio access network (RAN) node that connects a terminal device to a wireless network, and can also be referred to as an access network device. The network device includes, but is not limited to: base station, evolved NodeB (eNodeB), transmission reception point (TRP), next-generation NodeB (gNB) in a 5th generation (5G) mobile communication system, access network device in an open radio access network (O-RAN), base station in a future mobile communication system, or access node in a wireless fidelity (WiFi) system; or it can be a module or unit that performs some functions of a base station, such as a central unit (CU), a distributed unit (DU), a central unit control plane (CU-CP) module, or a central unit user plane (CU-UP) module. Access network equipment can be macro base stations, micro base stations, indoor stations, relay nodes, or donor nodes, etc. This application does not limit the specific technologies or equipment forms used in the network equipment.
[0072] As shown in Figure 2, in some implementations, network devices can include centralized units (CUs) and distributed units (DUs). This includes RAN devices with CU and DU nodes that separate the protocol layers of the gNB in the NR system. Some protocol layer functions are centrally controlled by the CU, while the remaining partial or complete protocol layer functions are distributed across the DUs, which are centrally controlled by the CU. One CU can be associated with one or more DUs. In a typical protocol stack partitioning, the CU includes radio resource control (RRC) and the corresponding packet data convergence protocol (PDCP). The DU includes the radio link control (RLC) layer, media access control (MAC) layer, and physical (PHY) layer. Furthermore, the CU can be divided into a control plane (CU-CP) and a user plane (CU-UP). The CU-CP is responsible for control plane functions, mainly including RRC and the corresponding PDCP (PDCP-C). PDCP-C is mainly responsible for control plane data encryption / decryption, integrity protection, and data transmission. CU-UP is responsible for user plane functions, mainly including the Service Data Adaptation Protocol (SDAP) and the corresponding PDCP (PDCP-U). SDAP is primarily responsible for processing core network data and mapping flows to bearers. PDCP-U is mainly responsible for data plane encryption / decryption, integrity protection, header compression, sequence number maintenance, and data transmission. CU-CP and CU-UP are connected via the E1 interface. CU-CP represents the gNB connecting to the core network via the NG interface and to the DU via the F1 interface control plane (F1-C). CU-UP connects to the DU via the F1 interface user plane (F1-U). Alternatively, PDCP-C may also be located within CU-UP.
[0073] It is understood that CU (including CU-CP or CU-UP) or DU may have different names in different systems, but those skilled in the art will understand their meaning. For example, in an open radio access network (O-RAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, and CU-UP can also be called O-CU-UP. For ease of description, this application uses CU, CU-CP, CU-UP, and DU as examples. Network devices may also include active antenna units (AAUs). CU implements some of the functions of the gNB, and DU implements some of the functions of the gNB. For example, CU is responsible for handling non-real-time protocols and services, implementing the functions of the RRC layer. DU is responsible for handling physical layer protocols and real-time services, implementing the functions of the RLC layer, MAC layer, and physical layer.
[0074] When applied to O-RAN, network devices can also possess artificial intelligence (AI) capabilities. For example, O-RAN includes an intelligent controller. This intelligent controller can be a non-real-time RAN intelligent controller (RIC / non-RT RIC / NRT RIC) or a near-real-time RAN intelligent controller (RIC / near-RT RIC / nRT RIC). A non-real-time RIC can be used to implement non-real-time intelligent management of RAN functions, enabling workflows including model training and updates, and guiding applications / functions within the nRT RIC based on policies. A near-real-time RIC can be used to implement near-real-time intelligent management of the RAN. Through data collection and related operations on the E2 interface, it achieves near-real-time control and optimization of O-RAN modules and resources.
[0075] The terminal device involved in the embodiments of this application can be a wireless terminal device capable of receiving network device scheduling and instruction information. The terminal device can be referred to as a terminal device, or it can also be called user equipment (UE), terminal, mobile station (MS), mobile terminal (MT), etc. The terminal device can be a device that includes wireless communication functions (providing voice / data connectivity to the user). For example, a handheld device with wireless connectivity, or an in-vehicle device, in-vehicle module, etc. Currently, examples of terminal devices include: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in vehicle-to-everything (V2X) communication, wireless terminals in vehicle-to-everything (V2X) communication, intelligent vehicles, in-vehicle infotainment systems (or onboard transmitters) (T-boxes), machine-to-machine / machine-type communications (M2M / MTC) terminal devices, and the Internet of Things (IoT). Wireless terminals in industrial control systems can include devices such as IoT (Internet of Things) terminals. For example, terminal devices can be in-vehicle equipment, vehicle-mounted modules, vehicles, on-board units (OBUs), roadside units (RSUs), T-boxes, chips, or systems-on-chips (SoCs), which can be installed in vehicles, OBUs, RSUs, or T-boxes. Wireless terminals in industrial control systems can be cameras, robots, etc. Wireless terminals in smart homes can be televisions, air conditioners, robot vacuums, speakers, set-top boxes, etc.Terminal devices can also be V2X devices, such as smart cars, digital cars, unmanned cars, driverless cars, pilotless cars, autonomous cars, pure electric vehicles, hybrid electric vehicles (HEVs), range-extended electric vehicles (REEVs), plug-in hybrid electric vehicles (PHEVs), new energy vehicles, and roadside units (RSUs).
[0076] In this application, extended reality (XR) refers to various environments that combine reality and virtuality generated by computing technology and wearable devices, as well as human-computer interaction, specifically including the following typical forms:
[0077] Augmented Reality (AR);
[0078] - Mixed Reality (MR);
[0079] - Virtual Reality (VR).
[0080] XR is one of the key 5G multimedia applications currently being considered in the industrial sector. XR services typically generate data frames periodically at a certain frame rate. Frame rate can also be called frame generation rate. The unit of frame rate is frames per second (fps). Taking an AR service with a frame rate of 60fps as an example, 60 frames of video images are generated per second, with approximately one video frame appearing every 16.66ms. A single video frame may be transmitted by multiple data packets, which may be divided into one or more sets of protocol data units (PDUs).
[0081] XR data / services typically have high transmission latency requirements, necessitating the introduction of the concept of remaining time and a reporting mechanism. Remaining time refers to the remaining time that data can be used for air interface transmission. This data can be a single data packet or a set of multiple data packets, such as a PDU set. Taking uplink AR services as an example, its typical packet delay budget (PDB) is 30ms, meaning the maximum transmission latency between the data packet arriving at the access layer of the terminal device and arriving at the N6 interface of the user plane function (UPF) is 30ms. If a data packet is not successfully transmitted within this PDB requirement time, it is considered to have timed out and become useless. In this case, remaining time can refer to the remaining PDB of data.
[0082] Alternatively, XR services may consider a PDU Set Delay Budget (PSDB), which, similar in meaning to PDB, defines the upper limit of transmission delay for a PDU set (i.e., a group of data packets). For uplink XR services, PSDB refers to the upper limit of time from the arrival of the first data packet in the PDU set at the terminal device's access layer to the arrival of the last data packet at the UPF's N6 interface; the opposite applies to downlink. In this case, the remaining time can refer to the remaining PSDB of the data.
[0083] Assuming the data packet's PDB is 20ms, and the packet arrives at the terminal device's buffer but hasn't been transmitted after 5ms, then the packet only has 15ms remaining. The network device needs to schedule the packet within these 15ms to ensure its transmission. Alternatively, the remaining time can be determined based on the remaining duration of a data discard timer. When data arrives at the terminal device's buffer, the terminal device starts a discard timer. After this timer expires, the terminal device will discard the corresponding data. In other words, data transmission must be completed before the discard timer expires. Typically, the discard timer's duration is equal to the data's PDB / PSDB, therefore its remaining time is equivalent to the remaining PDB / PSDB.
[0084] In LTE and NR systems, data is transmitted over the air in terabyte (TB) increments. The size of a TB is determined by the resources allocated by the network, and a TB may contain one or more data packets.
[0085] As shown in Figure 3, taking the 5G protocol stack as an example, an Internet Protocol (IP) data packet first becomes an SDAP Service Data Unit (SDU). After processing at the SDAP layer, such as adding an SDAP header (H), it becomes an SDAP PDU. The SDAP PDU is then delivered to the corresponding PDCP entity, with one SDAP PDU corresponding to one PDCP SDU. The PDCP SDU is compressed and has a PDCP header (H) added at the PDCP layer, becoming a PDCP PDU. The PDCP PDU is then delivered to the RLC layer as an RLC SDU. When the network allocates resources for data transmission, the size in TB (TB) is first determined based on the resource size, which corresponds to the size of the MAC PDU. The MAC layer sequentially retrieves RLC PDUs (obtained from RLC SDUs after header processing) from the RLC layer. One RLC PDU corresponds to one MAC SDU. A MAC SDU with a MAC header added is called a MAC subPDU. Multiple MAC subPDUs are assembled into one MAC PDU. During assembly, the remaining space in the MAC PDU may not be enough to accommodate a complete RLC SDU. In this case, the RLC SDU will be segmented, and each segmented RLC SDU will be encapsulated into an RLC PDU and submitted to the MAC layer as a MAC subPDU for MAC PDU assembly. After the MAC PDU is assembled, it is submitted to the physical layer to become a TB.
[0086] After receiving a Data Block (TB), the physical layer at the transmitting end may divide the TB into multiple code blocks (CBs) for encoding. This can be understood as the TB being evenly divided into multiple CBs. A TB consisting of one or more CBs is transmitted as a whole over radio resources. If a data transmission error occurs within a TB, the entire TB needs to be retransmitted. Only after the receiving end correctly receives the complete TB can it successfully parse the corresponding data packets.
[0087] The NR system supports retransmission technology based on code block groups (CBGs). Specifically, the network pre-configures the number of CBGs, and the CBs in a TB are evenly divided into multiple CBGs. For example, if a TB includes 12 CBs, and it is divided into 3 CBGs, then each CBG contains 4 CBs. The division of CBGs does not affect the preceding TB assembly and encoding processes; CBGs can be considered merely a logical concept of CB grouping.
[0088] When CBG transmission is supported, if a TB is not transmitted correctly, it is not necessary to retransmit the entire TB; instead, only the CBG containing the erroneous portion needs to be retransmitted, thus saving resources. However, the receiving side still needs to wait until the complete TB is correctly received before it can parse the corresponding data packets from it.
[0089] Transmitting data at the TB (Block Byte) granularity may cause the boundaries of CB (Block Container) or CBG (Block Container Group) to not coincide with the boundaries of upper-layer data packets (e.g., MAC subPDUs). This is why the receiving side must correctly receive the complete TB to successfully parse the data. For example, as shown in Figure 4, a TB contains MAC subPDUs #1 to #3, a total of three MAC subPDUs, divided into two CBs. CB#1 includes MAC subPDU #1 and a portion of MAC subPDU #2; CB#2 includes MAC subPDU #3 and the remaining portion of MAC subPDU #2. If the receiving side correctly receives CB#2 but not CB#1, because the receiving side does not know the starting position of MAC subPDU #3 in CB#2, even though MAC subPDU #3 has been correctly received, the receiving side cannot directly parse it.
[0090] To accelerate data parsing at the receiving side, another implementation method involves packet assembly at the CB / CBG granularity. This ensures that the boundaries of a CB or CBG always coincide with the boundaries of a MAC subPDU. Once the receiving side correctly receives a CB or CBG, it can directly parse the MAC subPDUs contained within it. For example, as shown in Figure 5, TB contains MAC subPDUs #1 to #4, a total of four MAC subPDUs, divided into two CBs. CB#1 includes MAC subPDU #1 and MAC subPDU #2; CB#2 includes MAC subPDU #3 and MAC subPDU #4. Therefore, even if the receiving side only correctly receives CB#2, because the starting position of CB#2 is the starting position of MAC subPDU #3, the receiving side can successfully parse MAC subPDU #3 and MAC subPDU #4.
[0091] Based on the preceding description, this application can associate data transmission with remaining time. When assembling data packets, the remaining time of the data can be considered, and data with similar remaining times can be placed in the same transmission unit. The network can then perform different scheduling processes based on the remaining time corresponding to each transmission unit.
[0092] When the method provided in this application is applied to the network architecture shown in Figure 1, the functions of the network devices can be executed by modules (such as chips) within the network devices, or by a control subsystem that includes network device functions. Similarly, the functions of the terminal devices can be executed by modules (such as chips or modems) within the terminal devices, or by a device that includes terminal device functions.
[0093] It is understood that this application does not specifically limit the structure of the execution subject of the method provided in the embodiments of this application. It can be applied to modules in terminal devices or network devices, as long as they can communicate according to the method provided in the embodiments of this application by running a program that records the code of the method provided in the embodiments of this application. The following description takes the interaction between terminal devices and network devices as an example.
[0094] Figure 6 shows a schematic flowchart of a data transmission method provided in an embodiment of this application. The method includes:
[0095] Step 601: The terminal device determines the first transmission unit.
[0096] The first transmission unit can be determined based on N data points. For example, the first transmission unit includes N data points, where N is an integer greater than 0. A transmission unit can also be called a data unit, etc. A transmission unit refers to a transmission unit that can independently perform air interface transmission or retransmission; for example, a transmission unit can be TB, CB, or CBG, etc.
[0097] In this application, one of the N data items can be a data packet, a set of PDUs, or a data burst; this application does not impose any restrictions on this. The data packet can be an IP data packet, an SDAP SDU, an SDAP PDU, a PDCP SDU, a PDCP PDU, an RLC SDU, an RLC PDU, or a MAC subPDU; a PDU set can include multiple data packets, and a data burst can include at least one PDU set.
[0098] One data point can correspond to one remaining time. The remaining time can also have other names, such as: remaining delay, remaining PDB, remaining PSDB, time / duration until expiration, time / duration until deadline, time / duration until discard, time / duration until discard timer expires. This application does not restrict the name, calculation process, or acquisition process of the remaining time.
[0099] For example, if a piece of data is a data packet, the remaining time for that data can be the remaining PDB of the data packet or the remaining duration of the discard timer corresponding to the data packet. As another example, if a piece of data is a set of PDUs, the remaining time for that data can be the remaining PSDB of the PDU set or the remaining duration of the discard timer corresponding to the PDU set.
[0100] In this application, the N data items can be determined by the terminal device from a plurality of data items to be transmitted based on the remaining time. None of the data items to be transmitted are encapsulated in the second transmission unit, or none of the data items to be transmitted are determined to be used for encapsulating the second transmission unit. The plurality of data items to be transmitted can belong to the same LCH or to multiple different LCHs.
[0101] Optionally, for each of the N data points with N remaining times, the remaining time is greater than a threshold. The threshold is used to determine whether the data needs to be sent. The threshold can be preset or indicated by the network device, for example, the threshold can be equal to 0. For example, if the remaining time of a data point is greater than the threshold, then the data needs to be sent; if the remaining time of a data point is less than or equal to the threshold, then the data does not need to be sent.
[0102] Optionally, the network device can send configuration information; correspondingly, the terminal device receives the configuration information, which instructs the determination of the transmission unit based on the remaining time. In this way, the terminal device can determine the first transmission unit based on the configuration information and the remaining time.
[0103] In this application, there may be multiple ways to determine N data points from multiple data points to be sent based on the remaining time. Several possible examples are given below.
[0104] In the first implementation, the N data points are the N data points with the smallest remaining time among the multiple data points to be sent.
[0105] In this implementation, the N data points with the smallest remaining time can be determined from multiple data points in ascending order of remaining time.
[0106] In the second implementation, N data points are some or all of the data whose remaining time is within the remaining time interval from among multiple data points.
[0107] In this implementation, N data points whose remaining time falls within a remaining time interval can be determined from multiple data points. The N remaining times of these N data points all fall within the same remaining time interval. This remaining time interval is preset or indicated by the network device. The remaining time interval can be understood as a time range; for example, it can be represented as the time interval from remaining time 1 to remaining time 2, where remaining time 1 is the lower limit and remaining time 2 is the upper limit. Each of the N data points corresponds one-to-one with each of the N remaining times.
[0108] In this implementation, N data points whose remaining time falls within the remaining time interval can be determined from multiple data points in ascending order of remaining time. That is, the N remaining times of the N data points are within the remaining time interval, and the N data points are the N data points with the smallest remaining time among the multiple data points to be sent.
[0109] In this implementation, the remaining time interval can be associated with the first transmission unit, and the remaining time of the N data contained in the first transmission unit is within the remaining time interval associated with the first transmission unit. The remaining time intervals associated with different transmission units can be different.
[0110] For example, the network is configured with multiple remaining time intervals: [0,10), [10,20), [20,+∞), where the time unit can be milliseconds (ms). The remaining time interval [0,10) can be associated with the first transmission unit, the remaining time interval [10,20) can be associated with the second transmission unit, and the remaining time interval [20,+∞) can be associated with the third transmission unit.
[0111] In this implementation, the difference between the maximum and minimum values within the remaining time interval can also be understood as the remaining time deviation. Specifically, the N data points are those where the difference in remaining time among multiple data points is less than or equal to the remaining time deviation. Alternatively, the difference between the maximum and minimum remaining times among the N remaining times of the N data points can be less than or equal to the remaining time deviation, or the absolute value of the difference between any two remaining times among the N remaining times can be less than or equal to the remaining time deviation. This remaining time deviation is preset or indicated by the network device.
[0112] In this implementation, the remaining time deviation can be associated with the first transmission unit, and the remaining time deviation associated with different transmission units can be different.
[0113] For example, the network is configured with multiple remaining time offsets: 5ms, 8ms, and 6ms. A remaining time offset of 5ms can be associated with the first transmission unit, a remaining time offset of 8ms can be associated with the second transmission unit, and a remaining time offset of 6ms can be associated with the third transmission unit.
[0114] Based on the preceding description, the following examples, using TB, CB, and CBG as transmission units, provide several possible scenarios.
[0115] Example 1: The first transmission unit is TB, meaning the terminal device assembles data into packets at the TB level, and the network side schedules uplink transmission at the TB level. The size of the first transmission unit is indicated by the network device.
[0116] In this example, the network device can send scheduling information; correspondingly, the terminal device receives the scheduling information from the network device. This scheduling information can be used to indicate a first resource, which is used to transmit a first transmission unit. The scheduling information can be downlink control information (DCI), which can indicate the size of the first resource and the coding rate of the first transmission unit, among other information. In this case, the size of the first transmission unit, i.e., the amount of data in the first transmission unit, is determined based on the size of the first resource. The total amount of data for N data items is less than the size of the first transmission unit, which can be understood as the total amount of data for N data items being determined based on the size of the first resource. For example, if the size of the first transmission unit is 2100 bytes, and the data sizes of multiple data items are: data #1: 500 bytes, data #2: 500 bytes, data #3: 1000 bytes, and data #4: 500 bytes, then the N data items can be data #1, data #2, and data #3, and the total amount of data for N data items is less than 2100 bytes.
[0117] The scheduling information can schedule one or more transmission units. For example, the scheduling information can also schedule a second resource, which is used to transmit the second transmission unit. In this example, the size of the second resource can be the same as or different from the size of the first resource. This can also be understood as the data size of the first transmission unit and the data size of the second transmission unit can be the same as or different.
[0118] In this example, in one implementation, the terminal device determines the N data points with the smallest remaining time from multiple data points, in ascending order of remaining time. That is, the N data points included in a TB are the N data points with the smallest remaining time among multiple data points. Using this method, the N data points in the first transmission unit have similar remaining times. When the network schedules data in TB units, since the remaining times of the data in a TB are similar, the TB can be scheduled according to the same strategy.
[0119] In this example, in another implementation, the terminal device determines N data points whose remaining time falls within the remaining time interval from multiple data points. That is, the N data points are the data points whose remaining time falls within the remaining time interval from the multiple data points. In other words, the N data points included in TB are the N data points that fall within the remaining time interval from the multiple data points.
[0120] If the total amount of data whose remaining time falls within the remaining time interval among multiple data sets is greater than the amount of data in the first transmission unit (for example, if the number of data sets with remaining time within the remaining time interval is M, and the total amount of these M data sets is greater than the amount of data in the first transmission unit), then N data sets can be selected from these M data sets. The total amount of these N data sets is less than or equal to the amount of data in the first transmission unit. For example, TB includes the N data sets with the smallest remaining time among the M data sets. In this case, the terminal device can determine the N data sets from the multiple data sets in ascending order of remaining time. That is, the N data sets included in TB are the N data sets with the smallest remaining time within the remaining time interval among the multiple data sets, i.e., TB includes the N data sets with the smallest remaining time among the M data sets.
[0121] Alternatively, the terminal device determines N data points from multiple data points whose remaining time difference is less than or equal to the remaining time deviation. In other words, the N data points included in TB are N data points from multiple data points whose remaining time difference is less than or equal to the remaining time deviation.
[0122] If the total amount of data whose remaining time difference is less than or equal to the remaining time deviation is greater than the amount of data in the first transmission unit (e.g., the number of data whose remaining time is within the remaining time interval is M), then N data can be selected from the M data. For example, TB includes the N data with the smallest remaining time among the M data. In this case, the terminal device can determine the N data from the multiple data in ascending order of remaining time; that is, the N data included in TB are the N data whose remaining time difference is less than or equal to the remaining time deviation and has the smallest remaining time among the multiple data.
[0123] In this example, the first transmission unit may further include first information, which indicates at least one of the following:
[0124] The remaining time among N data points is: the minimum remaining time; the maximum remaining time among N remaining times; N remaining times; a third remaining time, determined based on one or more remaining times among the N remaining times, for example, the third remaining time is one of the N remaining times, or the third remaining time is the average of the N remaining times; a time interval, which includes the minimum and maximum remaining times among the N remaining times, for example, the start point of the time interval is the minimum remaining time among the N remaining times, and the end point of the time interval is the maximum remaining time among the N remaining times. Optionally, the terminal device can carry uplink control information (UCI) in the first transmission unit. The first information can be UCI, or the first information can be located in the UCI of the first transmission unit.
[0125] In this application, the minimum remaining time, maximum remaining time, or third remaining time indicated by the first information can also be used as the remaining time corresponding to or associated with the first transmission unit. The time interval indicated by the first information can also be used as the time interval corresponding to or associated with the first transmission unit. In the following description, the remaining time corresponding to or associated with the first transmission unit can be referred to as the first remaining time.
[0126] If the first information indicates a minimum or maximum remaining time, it can be explicitly stated, for example, by including a value for the minimum or maximum remaining time in milliseconds. Alternatively, it can implicitly indicate the minimum or maximum remaining time, for example, by including an index for the minimum or maximum remaining time, where the correspondence between the index and the remaining time can be predefined or configured by the network device. Similarly, if the first information indicates N remaining times, it can include N possible values for the remaining time, or it can include N indices corresponding to the N remaining times. If the first information indicates a time interval, it can include a range of values for the time interval, or it can include an index corresponding to the time interval.
[0127] Network devices can determine the first remaining time or time interval associated with the first transmission unit based on the first information, and thus schedule the retransmission of the first transmission unit according to the first remaining time. Through the first information, network devices can determine information such as the minimum or maximum remaining time of the data in the first transmission unit, allowing the network to perform differentiated scheduling based on the remaining time indicated by the first information. For example, if the minimum or maximum remaining time indicated by the first information is close to 0, meaning the first transmission unit contains data that is about to time out, the network can improve the reliability of the retransmission of the first transmission unit; if the minimum or maximum remaining time indicated by the first information is equal to 0, meaning the first transmission unit contains data that has already timed out, the network can stop the retransmission of the first transmission unit.
[0128] Based on the preceding description, for example, as shown in Figure 7, the data to be transmitted consists of data 1 to data 8. The remaining time for data 1 to data 4 is 10ms each, and the remaining time for data 5 to data 8 is 20ms each. Each data item is 500 bytes. The scheduling information sent by the network device indicates a first resource and a second resource. The first resource is used to transmit TB1, and the second resource is used to transmit TB2. The size of TB1, determined by the first resource, is 2000 bytes, and the size of TB2, determined by the second resource, is 2000 bytes. Therefore, each TB can contain a maximum of 4 data items.
[0129] For TB1, the terminal device can select the four data items with the shortest remaining time from data 1 to data 8 in ascending order of remaining time, i.e., data 1 to data 4. Therefore, TB1 includes data 1 to data 4. For TB2, the terminal device selects the four data items with the shortest remaining time from data 5 to data 8 in the same way, i.e., selecting data 5 to data 8. Thus, TB2 includes the remaining data 5 to data 8. The UCI in TB1 can also indicate the maximum remaining time for data 1 to data 4, i.e., 10ms. Similarly, the UCI in TB2 can also indicate the maximum remaining time for data 5 to data 8, i.e., 20ms.
[0130] Based on the preceding description, for example, as shown in Figure 8, the data to be transmitted consists of data 1 to data 7. The remaining time for data 1 to data 3 is 8ms each, and the remaining time for data 4 to data 7 is 19ms each. Each data item is 500 bytes. The scheduling information sent by the network device indicates a first resource and a second resource. The first resource is used to transmit TB1, and the second resource is used to transmit TB2. The size of TB1, determined by the first resource, is 2000 bytes, and the size of TB2, determined by the second resource, is 2000 bytes. Therefore, each TB can contain a maximum of 4 data items. Optionally, the network can also configure the remaining time interval for TB1 to be [0, 10)ms and the remaining time interval for TB2 to be [10, 20)ms; or the network can configure the remaining time offset of the data included in each TB to be 10ms.
[0131] If the configuration specifies a remaining time interval, for TB1, the terminal device can select data from data 1 to data 7 with remaining times within [0, 10) ms, in ascending order of remaining time. That is, it selects data 1 to data 3, so TB1 includes data 1 to data 3. For TB2, the terminal device selects data 4 to data 7 with remaining times within [10, 20) ms, so TB2 includes data 4 to data 7. Since TB1 only includes 3 data items, the remaining space in TB1 can use padding bits and not transmit valid data.
[0132] Similarly, if the remaining time offset is configured, for TB1, the terminal device can select data with a remaining time offset of less than or equal to 10ms from data 1 to data 7 in ascending order of remaining time, that is, select data 1 to data 3, then TB1 includes data 1 to data 3; for TB2, the terminal device selects data 4 to data 7 in the same way, then TB2 includes data 4 to data 7.
[0133] Example 2: The first transmission unit is either a CB or a CBG. This means the terminal device assembles data into packets according to the CB or CBG granularity, and the network side schedules uplink transmission according to the CB or CBG granularity. The size of the data in the first transmission unit is indicated or preset by the network device. For example, the network device indicates a TB size, and the terminal device determines the size of each CB according to a preset encoding method. Alternatively, the network device indicates the TB size and the number of CBGs, and the terminal device determines the size of each CB according to the preset encoding method and divides all CBs into one or more CBGs according to the protocol definition, thereby determining the size of each CBG.
[0134] In this example, the network device can send scheduling information, which can be used to indicate a first resource used to transmit a data unit (TB). The TB includes one or more transmission units, each containing a first transmission unit. The scheduling information can be a data entry code (DCI), which can indicate the size of the first resource and information such as the encoding rate of the first transmission unit. In this case, the size of the TB is determined by the size of the first resource. Once the TB size is determined, the size of the data unit within the first transmission unit (CB) or data group (CBG) can also be determined. Correspondingly, the total amount of data included in the CB or CBG is determined based on the size of the first resource.
[0135] In one implementation of this example, the terminal device determines the N data points with the smallest remaining time from multiple data points in ascending order of remaining time. That is, the N data points included in CB or CBG are the N data points with the smallest remaining time among multiple data points.
[0136] In another implementation of this example, the terminal device determines N data points whose remaining time falls within the remaining time interval from multiple data points. That is, the N data points are those whose remaining time falls within the remaining time interval from the multiple data points. Specifically, the N data points included in TB are the N data points whose remaining time falls within the remaining time interval from the multiple data points. If the amount of data points whose remaining time falls within the remaining time interval from the multiple data points is greater than the amount of data in the first transmission unit (e.g., the number of data points is M), then N data points can be selected from the M data points. For example, the terminal device can determine N data points from the multiple data points in ascending order of remaining time; that is, the N data points included in CB or CBG are the N data points with the smallest remaining time within the remaining time interval from the multiple data points.
[0137] Alternatively, the terminal device determines N data points from multiple data sets whose remaining time difference is less than or equal to the remaining time deviation. That is, the N data points included in CB or CBG are the N data points from multiple data sets whose remaining time difference is less than or equal to the remaining time deviation. If the number of data points whose remaining time difference is less than or equal to the remaining time deviation is greater than the number of data points in the first transmission unit (e.g., M data points), then N data points can be selected from the M data points. For example, TB includes the N data points with the smallest remaining time among the M data points. In this case, the terminal device can determine the N data points from the multiple data points in ascending order of remaining time; that is, the N data points included in CB or CBG are the N data points from multiple data points whose remaining time difference is less than or equal to the remaining time deviation and who have the smallest remaining time among the multiple data points.
[0138] In this example, the first transmission unit or TB may also include first information, which can be referred to in the previous description and will not be repeated here.
[0139] Based on the preceding description, for example, as shown in Figure 9, the data to be transmitted consists of data 1 to data 8. The remaining time for data 1 to data 4 is 10ms each, and the remaining time for data 5 to data 8 is 20ms each. Each data item is 500 bytes. The scheduling information sent by the network device indicates the first resource, which is used to transmit TB1. TB1 can be divided into two CBGs. Based on the first resource, the size of TB1 is 4000 bytes, and the size of each CBG is 2000 bytes. Therefore, each CBG can contain a maximum of 4 data items.
[0140] For CBG1, the terminal device can select the four data points with the smallest remaining time from data 1 to data 8 in ascending order of remaining time, i.e., data 1 to data 4. Therefore, CBG1 includes data 1 to data 4. Similarly, for CBG2, the terminal device selects data 5 to data 8, meaning CBG2 includes the remaining data 5 to data 8. The terminal device combines CBG1 and CBG2 into a TB. This TB1 can also carry first information, taking UCI as an example. UCI can indicate the remaining time or remaining time interval corresponding to CBG1 and / or CBG2. For example, the remaining time corresponding to CBG1 can be the maximum remaining time for data 1 to data 4, i.e., UCI indicates 10ms. Similarly, the remaining time corresponding to CBG2 can be the maximum remaining time for data 5 to data 8, i.e., UCI indicates 20ms. For example, the remaining time interval corresponding to CBG1 can be the remaining time interval of data 1 to data 4, i.e., the UCI indicator is [10,10]ms. Similarly, the remaining time interval corresponding to CBG2 can be the remaining time interval of data 5 to data 8, i.e., the UCI indicator is [20,20]ms.
[0141] Based on the preceding description, for example, as shown in Figure 10, the data to be transmitted consists of data 1 to data 7. The remaining time for data 1 to data 3 is 8ms each, and the remaining time for data 4 to data 7 is 19ms each. Each data item is 500 bytes. The scheduling information sent by the network device indicates the first resource, which is used to transmit TB1. TB1 can be divided into two CBGs. Based on the first resource, the size of TB1 is 4000 bytes, and the size of each CBG is 2000 bytes. Therefore, each CBG includes a maximum of 4 data items. Optionally, the network can also configure the remaining time interval of CBG1 as [0, 10)ms and the remaining time interval of CBG2 as [10, 20)ms; or the network can configure the remaining time deviation of the data included in each CBG to be 10ms.
[0142] If the configuration specifies a remaining time interval, for CBG1, the terminal device can select data from data 1 to data 7 with remaining times in ascending order (0, 10 ms), i.e., selecting data 1 to data 3. Therefore, CBG1 includes data 1 to data 3. Similarly, for CBG2, the terminal device selects data 4 to data 7 with remaining times in ascending order (10, 20 ms). Therefore, CBG2 includes data 4 to data 7. The terminal device combines CBG1 and CBG2 into a single TB. Since CBG1 only contains 3 data items, the remaining space in CBG1 can use padding bits and not transmit valid data.
[0143] Similarly, if the remaining time offset is configured, for TB1, the terminal device can select data with a remaining time offset of less than or equal to 10ms from data 1 to data 7 in ascending order of remaining time, that is, select data 1 to data 3, then TB1 includes data 1 to data 3; for TB2, the terminal device selects data 4 to data 7 in the same way, then TB2 includes data 4 to data 7.
[0144] Example 3: The first transmission unit is TB, meaning the terminal device assembles data into packets at the TB granularity, and the network side schedules uplink transmission at the TB granularity. The data size of the first transmission unit is determined by the terminal device; it can be understood as the data size of the first transmission unit being adaptive.
[0145] In this example, the amount of data included in the first transmission unit is determined by the terminal device.
[0146] In this example, the terminal device can divide multiple data points into multiple sets according to their remaining time, in ascending order, based on at least one remaining time interval or remaining time deviation. Each set corresponds to a remaining time interval or remaining time deviation. Data within a set must have remaining times within the same remaining time interval, or the absolute value of the difference between the remaining times of any two data points within a set must be less than or equal to the remaining time deviation. Each set can be encapsulated as a transmission unit, for example, a TB. This method allows the terminal device to flexibly divide multiple data points into multiple TBs based on their remaining time intervals or remaining time deviations. The size of each TB can be flexibly adjusted according to the corresponding data volume, avoiding resource waste and enabling the network side to flexibly schedule retransmissions based on the remaining time of different TBs.
[0147] In this example, the first transmission unit corresponds to a remaining time interval or a remaining time deviation. Taking the remaining time interval as an example, the terminal device determines N data points whose remaining time falls within the remaining time interval from multiple data points. That is, the N data points included in the first transmission unit are data points whose remaining time falls within the remaining time interval from multiple data points. These N data points can be all or some of the data points whose remaining time falls within the remaining time interval from multiple data points. Taking the remaining time deviation as an example, the terminal device determines N data points whose absolute value of the difference in remaining time is less than or equal to the remaining time deviation from multiple data points, in ascending order of the remaining time from multiple data points. These N data points can be all or some of the data points whose absolute value of the difference in remaining time is less than or equal to the remaining time deviation from multiple data points.
[0148] In this way, the data contained in each transmission unit is located in the same remaining time interval, and the size of each transmission unit is adaptive, determined according to the amount of data in the remaining time interval. This can avoid the transmission of filler data and reduce resource waste.
[0149] In this example, the first transmission unit may include first information, which can be referred to in the previous description and will not be repeated here.
[0150] In this example, the first transmission unit may include second information, which indicates the amount of data in the first transmission unit, or the amount and / or location of resources occupied by the first transmission unit. Optionally, the second information may be located in the UCI of the first transmission unit.
[0151] In this example, the network device can send scheduling information, which can be used to indicate a first resource. This first resource is used to transmit at least two transmission units, including the first transmission unit. Since the amount of data in the first transmission unit is variable, the size of the resources occupied by the first transmission unit is also variable. By indicating the actual amount of data in the first transmission unit, or the actual amount and / or location of the resources occupied, through second information, the network side can accurately receive the first transmission unit, improving data transmission efficiency.
[0152] For example, as shown in Figure 11, the data to be transmitted consists of data 1 to data 9. The remaining time for data 1 to data 2 is 3ms, the remaining time for data 3 to data 5 is 15ms, and the remaining time for data 6 to data 9 is 26ms. The scheduling information sent by the network device indicates a first resource, which can be used to transmit 3 TBs. The first resource includes 18 resource blocks (RBs). The network also configures the remaining time interval for TB1 as [0, 10)ms, the remaining time interval for TB2 as [10, 20)ms, and the remaining time interval for TB3 as [20, 30)ms; or the network configures the remaining time offset of the data included in each TB to be 10ms.
[0153] If the configuration specifies a remaining time interval, for TB1, the terminal device can select data from data 1 to data 9 with remaining times within [0, 10) ms, in ascending order of remaining time. That is, it selects data 1 to data 2, so TB1 includes data 1 to data 2. For TB2, following the same method, the terminal device selects data 3 to data 5 with remaining times within [10, 20) ms, so TB2 includes data 3 to data 5. For TB3, following the same method, it can be determined that TB3 includes data 6 to data 9.
[0154] Similarly, if the remaining time offset is configured, for TB1, the terminal device can select data with a remaining time offset of less than or equal to 10ms from data 1 to data 9 in ascending order of remaining time, that is, select data 1 to data 2. Then TB1 includes data 1 to data 2. Following the same method, it can be determined that TB2 includes data 3 to data 5, and TB3 includes data 6 to data 9.
[0155] The UCI in TB1 can indicate the amount of data in TB1. The UCI in TB1 can also indicate that TB1 occupies 4 RBs, or that the starting index of the RBs occupied by TB1 is RB0, or that the index range of the RBs occupied by TB1 is 0 to 3.
[0156] Similarly, the UCI in TB2 can indicate the amount of data in TB2. The UCI in TB2 can also indicate that TB2 occupies 6 RBs, or that the starting index of the RBs occupied by TB2 is RB4, or that the index range of the RBs occupied by TB2 is 4 to 9. The UCI in TB3 can indicate the amount of data in TB3. The UCI in TB3 can also indicate that TB3 occupies 8 RBs, or that the starting index of the RBs occupied by TB3 is RB10, or that the index range of the RBs occupied by TB3 is 10 to 17.
[0157] Optionally, in this example, the total data volume of the N data items included in the first transmission unit can be less than or equal to the first data volume, or the data volume of the first transmission unit can be less than or equal to the first data volume. The first data volume is preset or indicated by the network device. For example, the unit of the first data volume can be bytes or bits, such as 9000 bytes. In this case, if the total data volume of all data items whose remaining time is within the remaining time interval is greater than the first data volume, all data items whose remaining time is within the remaining time interval can be transmitted through multiple transmission units, such as through a first transmission unit and a second transmission unit. The first transmission unit includes a portion of all data items, and the second transmission unit includes the other portion. This avoids an excessive number of data items within the same remaining time interval, which would make the data volume of the first transmission unit too large, leading to excessive resource consumption for retransmitting the first transmission unit. This reduces resource consumption and improves data transmission efficiency.
[0158] Optionally, in this example, the total data volume of the N data items included in the first transmission unit may be greater than or equal to the second data volume, or the data volume of the first transmission unit may be greater than or equal to the second data volume. The second data volume is preset or indicated by the network device; for example, the unit of the second data volume may be bytes or bits, such as 2000 bytes. The second data volume may be less than the first data volume. In this case, if the total data volume of all data items whose remaining time is within the remaining time interval is less than the second data volume, the first transmission unit may also include data whose remaining time is within other remaining time intervals.
[0159] Example 4: The first transmission unit is CB or CBG, meaning the terminal device assembles data into packets according to CB or CBG granularity, and the network side schedules uplink transmission according to CB or CBG granularity. The data size of the first transmission unit is determined by the terminal device, which can be understood as the data size of the first transmission unit being adaptive.
[0160] In this example, a TB may include one or more transmission units, which may include a first transmission unit. The amount of data or the number of CBs included in each of the one or more transmission units may be the same or different. The size of the TB may be indicated by the network device.
[0161] In this example, the first transmission unit corresponds to a remaining time interval or remaining time offset. The size of the first transmission unit can be determined based on the remaining time interval or remaining time offset, not directly based on the TB size and network configuration. This can be understood as the amount of data included in the first transmission unit being determined by the terminal device; the data size of each transmission unit (e.g., CB or CBG) sent by the terminal device may be the same or different. Similarly, the resource usage of each transmission unit (e.g., CB or CBG) sent by the terminal device may be the same or different.
[0162] In this example, the terminal device can divide multiple data points into multiple sets according to their remaining time, in ascending order, based on at least one remaining time interval or remaining time deviation. Each set corresponds to a remaining time interval or remaining time deviation. Data within a set must have remaining times within the same remaining time interval, or the absolute value of the difference between the remaining times of any two data points within a set must be less than or equal to the remaining time deviation. Each set can be treated as a transmission unit, such as a CB or CBG.
[0163] Taking the remaining time interval as an example, the terminal device determines N data points whose remaining time falls within the remaining time interval from multiple data points. That is, the N data points included in the first transmission unit are data points whose remaining time falls within the remaining time interval from multiple data points. These N data points can be all or some of the data points whose remaining time falls within the remaining time interval. Taking the remaining time deviation as an example, the terminal device determines N data points whose absolute value of the difference in remaining time is less than or equal to the remaining time deviation, in ascending order of the remaining time from multiple data points. These N data points can be all or some of the data points whose absolute value of the difference in remaining time is less than or equal to the remaining time deviation.
[0164] In this way, the data contained in each transmission unit is located in the same remaining time interval, and the size of each transmission unit is adaptive, determined according to the amount of data in the remaining time interval. This can avoid the transmission of filler data and reduce resource waste.
[0165] In this example, the first transmission unit or TB may include first information, which may indicate the remaining time interval or remaining time deviation corresponding to the first transmission unit, or the first information may indicate the remaining time corresponding to the first transmission unit. The remaining time corresponding to the first transmission unit may be the minimum or maximum remaining time among the N remaining times of the N data included in the first transmission unit. The first information can be referred to the previous description and will not be repeated here.
[0166] In this example, the first transmission unit or TB may include second information, which indicates the amount of data in the first transmission unit. Optionally, the second information may be located in the UCI. Since the amount of data in the first transmission unit is determined by the terminal device, indicating the amount of data in the first transmission unit through the second information allows the network side to determine the resource size occupied by the first transmission unit based on the amount of data, enabling the network side to accurately receive the first transmission unit and improve data transmission efficiency.
[0167] The first information and the second information can also be called an information pair. An information pair indicates the amount of data in the first transmission unit and the remaining time interval, remaining time deviation, or remaining time corresponding to the first transmission unit.
[0168] For example, as shown in Figure 12, the data to be transmitted consists of data 1 to data 9. The remaining time for data 1 to data 2 is 3ms, the remaining time for data 3 to data 5 is 15ms, and the remaining time for data 6 to data 9 is 26ms. The scheduling information sent by the network device indicates the first resource, which can be used to transmit 1 TB. The network also configures three remaining time intervals: [0,10)ms, [10,20)ms, and [20,30)ms; or the network configures the remaining time deviation of the data included in each transmission unit to be 10ms.
[0169] If the remaining time interval is configured, the terminal device can select data with a remaining time within [0, 10) ms from data 1 to data 9 in ascending order of remaining time, i.e., select data 1 to data 2. Then CBG1 includes data 1 to data 2. Similarly, the terminal device will select data 3 to data 5 with a remaining time within [10, 20) ms as the data included in CBG2, and the terminal device will select data 6 to data 9 with a remaining time within [20, 30) ms as the data included in CBG3.
[0170] Similarly, if the remaining time offset is configured, the terminal device can divide data 1 to data 9 into 3 CBGs according to the remaining time in ascending order and with a remaining time offset of 10ms. Specifically, CBG1 includes data 1 to data 2; CBG2 includes data 3 to data 5; and CBG3 includes data 6 to data 9.
[0171] The UCI in this TB can indicate the amount of data for CBG1, CBG2, and CBG3, for example, indicating that the amount of data for CBG1, CBG2, and CBG3 is 2000 bytes, 3000 bytes, and 4000 bytes, respectively.
[0172] Alternatively, the UCI in the TB can indicate the amount of data in CBG1, CBG2, and CBG3, as well as the remaining time interval for each CBG. For example, the information indicated by the UCI includes: {2000 bytes, [0,10)ms}, {3000 bytes, [10,20)ms}, and {4000 bytes, [20,30)ms}.
[0173] Optionally, in this example, the total amount of data of the N data included in the first transmission unit may be less than or equal to the first data amount, or the amount of data of the first transmission unit may be less than or equal to the first data amount, wherein the first data amount is preset or indicated by the network device.
[0174] In another implementation, the minimum number of transmission units included in the TB is greater than or equal to a first number, the TB including the first transmission units, the first number being preset or indicated by the network device.
[0175] This avoids an excessive number of data points within the same remaining time interval, which would result in an excessively large data volume in the first transmission unit (e.g., CB or CBG), leading to excessive resource consumption from retransmitting the first transmission unit. This reduces resource consumption and improves data transmission efficiency.
[0176] For example, referring to Figure 12 above, if the maximum data volume of the first transmission unit is 3000 bytes, then the data volume of CBG3 in Figure 12 is greater than 3000 bytes. CBG3 can be divided into 2 CBGs. In this way, if a CBG in this TB is transmitted incorrectly, at most 3000 bytes need to be retransmitted, reducing the resource consumption of retransmission scheduling.
[0177] Alternatively, if the minimum number of CBGs included in a TB is 4, then in Figure 12, CBG3 can be further divided into 2 CBGs, making the TB include 4 CBGs. In this way, if a CBG in the TB is transmitted incorrectly, at most 3000 bytes need to be retransmitted, reducing the resource consumption of retransmission scheduling.
[0178] Step 602: The terminal device sends the first transmission unit.
[0179] Correspondingly, the network device receives the first transmission unit from the terminal device.
[0180] The specific process by which the terminal device sends the first transmission unit is not limited in this application and will not be described in detail here.
[0181] Optionally, the terminal device may also send a second transmission unit, the second transmission unit including third information, the third information indicating that the remaining time corresponding to the second transmission unit is a second remaining time.
[0182] Step 603: The network device determines N data based on the first transmission unit.
[0183] This application does not limit how network devices determine N data points, and will not elaborate further here.
[0184] If neither the first transmission unit nor the second transmission unit is received correctly, the network device can schedule retransmission of the first and second transmission units based on the remaining time of the transmission units. In one implementation, if the first remaining time of the first transmission unit is less than the second remaining time, the network device can prioritize scheduling retransmission of the first transmission unit, and vice versa.
[0185] In one implementation, if the second remaining time is less than or equal to the first threshold, and the first remaining time is greater than the first threshold, then the retransmission of the first transmission unit can be prioritized; in this case, the network device may not need to schedule the retransmission of the second transmission unit. The first threshold can be preset or determined by the network device itself, for example, the first threshold can be 0.
[0186] In one implementation, if the first remaining time of the first transmission unit is less than or equal to a second threshold, the quality of service (QoS) of the first transmission unit's retransmission can be improved, thereby increasing the reliability of the retransmission. The second threshold is greater than the first threshold, and the second threshold can be preset or determined by the network device itself.
[0187] The method provided in this application determines the data in the first transmission unit sent by the terminal device based on the remaining time, which can associate the transmission unit with the remaining time of the data. This allows the network side to perform differentiated scheduling processing based on the remaining time when scheduling and retransmitting the transmission unit, thereby improving the flexibility of resource transmission and improving data transmission efficiency.
[0188] The embodiments described above are mainly for uplink transmission. For downlink transmission, network devices can encapsulate data in different remaining time intervals into different TBs, CBs, or CBGs. In this case, the network device understands the relationship between the TB, CB, or CBG and the remaining time, and can achieve latency-aware scheduling.
[0189] For an open RAN architecture with CU-DU separation, this application provides a method that enables DU to support latency-aware downlink scheduling, which is described in detail below.
[0190] Figure 13 shows a schematic flowchart of a data transmission method provided in an embodiment of this application. The method includes:
[0191] Step 1301: The CU determines at least one data packet.
[0192] The data packets are downlink data packets. These data packets can be IP packets, SDAP SDUs, SDAP PDUs, PDCP SDUs, PDCP PDUs, RLC SDUs, RLC PDUs, or MAC subPDUs.
[0193] Step 1302: The CU sends at least one data packet to the DU.
[0194] Accordingly, DU receives at least one data packet.
[0195] When the CU delivers a data packet to the DU, it can notify the DU of the remaining time of the data packet. Optionally, the remaining time is determined based on the remaining duration of the data packet's PDCP discard timer.
[0196] The first implementation, as shown in Figure 14, involves carrying first remaining time information in the header of each data packet within at least one data packet. This first remaining time information indicates the remaining time of the data packet. For example, the packet header could be a General Packet Radio Service (GPRS) Tunneling Protocol User Plane (GTP-U) header.
[0197] Alternatively, if all packets in at least one data packet have the same remaining time or are within the same remaining time interval, all packets in that at least one data packet can be considered as a data packet set. A first remaining time information can be carried in the header of one packet (e.g., the first packet in the data packet set). This first remaining time information indicates the remaining time of the data packet set. Optionally, the CU can indicate the end of the data packet set to the DU when sending the last packet. For example, the CU can carry an end identifier in the header of the last packet of the sent data packet set, indicating that this packet is the last packet in the data packet set. A data packet set can be a PDU set or a data burst.
[0198] The first remaining time information may include the specific value of the remaining time or the index of the remaining time, or the first remaining time information may include the remaining time interval in which the remaining time is located, or the first remaining time information may indicate whether the remaining time is less than a first threshold, the first threshold may be predefined or preconfigured.
[0199] In the second implementation, the CU indicates to the DU the remaining time and sequence number of each data packet in at least one data packet. For example, the sequence number can be a PDCP sequence number or an NR-U sequence number.
[0200] For example, the CU sends at least one sequence number and second remaining time information to the DU. The at least one sequence number corresponds one-to-one with at least one data packet, and the at least one sequence number includes the sequence number of each data packet within the at least one data packet. The second remaining time information is used to indicate the remaining time of the data packet corresponding to the at least one sequence number.
[0201] Alternatively, the CU sends a first sequence number and a second remaining time information to the DU. The first sequence number is the sequence number of the first data packet in at least one data packet, and the first data packet can be the first data packet in at least one data packet. The second remaining time information indicates the remaining time for at least one data packet starting from the first sequence number. The CU may also send a value L representing the number of at least one data packets to the DU.
[0202] The second remaining time information may include a specific value of at least one remaining time or an index of at least one remaining time, or the second remaining time information may include the remaining time interval in which the remaining time of at least one data packet is located, or the second remaining time information may indicate whether the remaining time of at least one data packet is less than a first threshold.
[0203] Optionally, the CU can also indicate to the DU the amount of data associated with the remaining time. For example, the CU can indicate to the DU the amount of data contained in all packets with the remaining time within a remaining time interval, or the amount of data with the remaining time less than a second threshold. The amount of data can be a value in bits or bytes, or it can be the number of packets.
[0204] After acquiring at least one data packet and the remaining time of each packet, the DU can perform data scheduling based on the remaining time of the packets. For example, the DU may prioritize scheduling packets with shorter remaining times, such as transmitting at least one data packet in ascending order of remaining time. Alternatively, the DU may improve the QoS of packets with remaining times less than or equal to a second threshold, thereby improving the reliability of packet transmission.
[0205] Since scheduling policies are typically determined by the MAC layer located at the DU, the DU may not be aware of the remaining time of the data packet. In this application, the CU can indicate the remaining time of the data packet to the DU during the packet delivery process, enabling the DU to support latency-aware downlink scheduling and improving data transmission efficiency.
[0206] In dual connectivity (DC) scenarios, data may be split between the master node (MN) and the secondary node (SN). Specifically, the CU of either the MN or the SN will pass a portion of the received downlink data to the DU of the MN for transmission to the UE, and another portion to the DU of the SN for transmission to the UE. In this scenario, the CU can indicate the remaining time of the data to both the MN's DU and the SN's DU, in a manner similar to that described above.
[0207] In a DC scenario, for a set of data packets, such as a PDU set or a data burst, the CU may distribute it to both the MN and SN for transmission, or it may transmit the set of data packets only through the MN or SN. Therefore, when indicating the remaining time of data to the DU, the actual distribution strategy can be considered. Specifically, when the CU determines that the set of data packets will be transmitted through the MN, the CU indicates the remaining time of the set of data packets or the data packets within it to the DU of the MN, and / or indicates the end of the set of data packets. For example, the CU carries third remaining time information in the header of the first data packet of the set of data packets sent to the DU of the MN, and / or carries a data packet set end identifier in the header of the last data packet of the set of data packets sent to the DU of the MN. The third remaining time information is used to indicate the remaining time of each data packet in the set of data packets, or to indicate the remaining time interval in which the remaining time of the data packets in the set of data packets falls. For example, the third remaining time information may include the specific value of the remaining time of each data packet in the set of data packets or the index of the remaining time, or the third remaining time information may include the remaining time interval in which the remaining time of the data packets in the set of data packets falls. Alternatively, the first remaining time information may be carried in the header of each data packet in the set of data packets.
[0208] When the CU determines that a set of data packets is being transmitted through the SN, the CU indicates the remaining time of the set of data packets or the data packets therein to the DU of the SN, or indicates the end of the set of data packets. For example, the CU carries third remaining time information in the header of the first data packet of the set of data packets sent to the DU of the SN, and / or carries a data packet set end identifier in the header of the last data packet of the set of data packets sent to the DU of the SN; wherein, first remaining time information may also be carried in the header of each data packet of the set of data packets.
[0209] When the CU determines that a set of data packets is being transmitted through the MN and SN, the CU indicates the remaining time of the set of data packets or the data packets therein to the DU of the MN and the DU of the SN, or indicates the end of the set of data packets. For example, the CU carries third remaining time information in the header of the first data packet of the set of data packets sent to the DU of the MN, carries third remaining time information in the header of the first data packet of the set of data packets sent to the DU of the SN, and / or carries a set of data packet end identifier in the header of the last data packet of the set of data packets sent to the DU of the MN and carries a set of data packet end identifier in the header of the last data packet of the set of data packets sent to the DU of the SN.
[0210] The CU may also carry the first remaining time information in the header of each data packet sent to the MN and in the header of each data packet sent to the SN.
[0211] It is understood that, in order to achieve the functions in the above embodiments, the terminal device or network device includes hardware structures and / or software modules corresponding to perform each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0212] The following are schematic diagrams of possible communication devices provided in the embodiments of this application. These communication devices can be used to implement the functions of terminal devices or network devices in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments.
[0213] As shown in Figure 15, the communication device 1500 includes a processing unit 1510 and a communication unit 1520. The communication device 1500 is used to implement the functions of the terminal device or network device in the various method embodiments shown above.
[0214] When the communication device 1500 is used to implement the functions of a terminal device:
[0215] A processing unit is used to determine the first transmission unit based on N data; N is an integer greater than 0, and the N data are the N data with the smallest remaining time among the multiple data to be sent;
[0216] A communication unit is used to transmit data from the first transmission unit.
[0217] When the communication device 1500 is used to implement the functions of a network device:
[0218] A communication unit is used to receive a first transmission unit from a terminal device; the first transmission unit is determined based on N data, where N is an integer greater than 0, and the N data are the N data with the smallest remaining time among multiple data to be sent;
[0219] A processing unit is configured to determine the N data based on the first transmission unit.
[0220] More detailed descriptions of the processing unit 1510 and the communication unit 1520 can be obtained directly from the relevant descriptions in the above method embodiments, and will not be repeated here.
[0221] It should be understood that the division of units in the above device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, all units in the device can be implemented entirely through software calls from processing elements; all units can be implemented entirely in hardware; or some units can be implemented through software calls from processing elements, while others are implemented in hardware. For example, each unit can be a separate processing element, or it can be integrated into a chip within the device. Alternatively, it can be stored as a program in memory, called and executed by a processing element of the device. Moreover, these units can be fully or partially integrated together, or implemented independently. The processing element here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, the operations or units described above can be implemented through integrated logic circuits in the processor element or through software calls from processing elements.
[0222] In one example, a unit in any of the above devices can be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. As another example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a processor, such as a general-purpose central processing unit (CPU), or other processor capable of calling programs. Furthermore, these units can be integrated together to implement a system-on-a-chip (SOC).
[0223] The receiving unit described above is an interface circuit of the device, used to receive signals from other devices. For example, when the device is implemented as a chip, the receiving unit is an interface circuit for the chip to receive signals from other chips or devices. The transmitting unit described above is an interface circuit of the device, used to transmit signals to other devices. For example, when the device is implemented as a chip, the transmitting unit is an interface circuit for the chip to transmit signals to other chips or devices.
[0224] As another possible product form, the terminal device or network device of this application embodiment can be implemented by a general bus architecture. For ease of explanation, refer to FIG16, which is a schematic diagram of the structure of a communication device 1600 provided in an embodiment of this application. The communication device 1600 includes a processor 1601 and a transceiver 1602. The communication device 1600 can be a terminal device, or a chip or chip system therein; or, the communication device 1600 can be a network device, or a chip or module therein. FIG16 only shows the main components of the communication device 1600. In addition to the processor 1601 and the transceiver 1602, the communication device 1600 may further include a memory 1603 and an input / output device (not shown in the figure).
[0225] Optionally, the processor 1601 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs. The memory 1603 is mainly used to store software programs and data. The transceiver 1602 may include radio frequency (RF) circuitry and an antenna. The RF circuitry is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used to receive user input data and output data to the user.
[0226] Optionally, the processor 1601, transceiver 1602, and memory 1603 can be connected via a communication bus.
[0227] When the communication device is powered on, the processor 1601 can read the software program in the memory 1603, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 1601 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 1601. The processor 1601 converts the baseband signal into data and processes the data.
[0228] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor that performs baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0229] In some embodiments, those skilled in the art will recognize that the above-described communication device 1500 can be implemented in the form of the communication device 1600 shown in FIG16.
[0230] As an example, the function / implementation of the processing unit 1510 in FIG15 can be implemented by the processor 1601 in the communication device 1600 shown in FIG16 calling computer execution instructions stored in the memory 1603. The function / implementation of the communication unit 1520 in FIG15 can be implemented by the transceiver 1602 in the communication device 1600 shown in FIG16.
[0231] As another possible product form, the terminal device or network device in this application may adopt the composition structure shown in FIG17, or include the components shown in FIG17. FIG17 is a schematic diagram of the composition of a communication device 1700 provided in this application.
[0232] As shown in Figure 17, the communication device 1700 includes at least one processor 1701. Optionally, the communication device also includes a communication interface 1702.
[0233] When the relevant program instructions are executed in the at least one processor 1701, the communication device 1700 can implement the methods and any possible designs provided in any of the foregoing embodiments. Alternatively, the processor 1701 can implement the methods and any possible designs provided in any of the foregoing embodiments through logic circuits or executable code instructions.
[0234] The communication interface 1702 can be used to receive program instructions and transmit them to the processor, or it can be used for communication device 1700 to communicate and interact with other communication devices, such as exchanging control signaling and / or service data. For example, the communication interface 1702 can be used to receive signals from other devices besides the communication device 1700 and transmit them to the processor 1701, or to send signals from the processor 1701 to other communication devices besides the communication device 1700.
[0235] Optionally, the communication interface 1702 can be a code and / or data read / write interface circuit, or the communication interface 1702 can be a signal transmission interface circuit between a communication processor and a transceiver, or a pin of a chip.
[0236] Optionally, the communication device 1700 may further include at least one memory 1703, which can be used to store the required program instructions and / or data. It should be noted that the memory 1703 may exist independently of the processor 1701 or may be integrated with the processor 1701. The memory 1703 may be located within or outside the communication device 1700, without limitation.
[0237] Optionally, the communication device 1700 may further include a power supply circuit 1704, which can be used to power the processor 1701. The power supply circuit 1704 may be located in the same chip as the processor 1701, or in a separate chip outside the chip containing the processor 1701.
[0238] Optionally, the communication device 1700 may also include a bus, through which the various parts of the communication device 1700 can be interconnected.
[0239] In some embodiments, those skilled in the art will recognize that the communication device 1500 shown in FIG15 can be implemented in the form of the communication device 1700 shown in FIG17.
[0240] As an example, the function / implementation process of the processing unit 1510 in Figure 15 can be implemented by the processor 1701 in the communication device 1700 shown in Figure 17 calling computer execution instructions stored in the memory 1703. The function / implementation process of the communication unit 1520 in Figure 15 can be implemented by the communication interface 1702 in the communication device 1700 shown in Figure 17.
[0241] It should be noted that the structure shown in Figure 17 does not constitute a specific limitation on the terminal device or network device. For example, in other embodiments of this application, the terminal device or network device may include more or fewer components than shown in the figure, or combine some components, or split some components, or have different component arrangements. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0242] When the aforementioned communication device is a chip applied to a terminal, the terminal chip implements the functions of the terminal in the above method embodiments. The terminal chip receives information from other modules (such as radio frequency modules or antennas) in the terminal, which is information sent to the terminal by the base station; or, the terminal chip sends information to other modules (such as radio frequency modules or antennas) in the terminal, which is information sent to the base station by the terminal.
[0243] When the aforementioned communication device is a module applied to a base station, the base station module implements the functions of the base station in the above method embodiments. The base station module receives information from other modules (such as radio frequency modules or antennas) in the base station, information sent by the terminal to the base station; or, the base station module sends information to other modules (such as radio frequency modules or antennas) in the base station, information sent by the base station to the terminal. Here, the base station module can be the baseband chip of the base station, or a DU (Digital Unit) or other modules. The DU can be a DU under an Open Radio Access Network (O-RAN) architecture.
[0244] It is understood that the processor in the embodiments of this application may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0245] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a base station or terminal. Of course, the processor and storage medium can also exist as discrete components in the base station or terminal.
[0246] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially 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 instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both types of storage media.
[0247] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0248] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, etc.) containing computer-usable program code.
[0249] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0250] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0251] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A data transmission method, characterized by, The method comprises: determining a first transmission unit according to N data; N is an integer greater than 0, and the N data are N data with the smallest remaining time among a plurality of data to be sent; sending the first transmission unit.
2. The method of claim 1, wherein, The first transmission unit is a transport block (TB), a code block (CB), or a code block group (CBG).
3. The method according to claim 1 or 2, characterized in that, The first transmission unit further comprises first information, and the first information is used to indicate at least one of the following: the smallest remaining time among N remaining times of the N data; the largest remaining time among the N remaining times; the N remaining times; a time interval comprising the smallest remaining time among the N remaining times and the largest remaining time among the N remaining times.
4. The method according to any one of claims 1 to 3, characterized in that, The N remaining times of the N data are located in a remaining time interval, and the remaining time interval is preset or indicated by a network device.
5. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: receiving scheduling information from the network device, wherein the scheduling information is used to indicate a first resource, and the first resource is used to transmit the first transmission unit; and wherein a total data amount of the N data is determined according to a size of the first resource.
6. The method of claim 4, wherein, The N data are all or part of data in the plurality of data with the remaining time located in the remaining time interval.
7. The method of claim 6, wherein, The total data amount of the N data is less than or equal to a first data amount, and the first data amount is preset or indicated by the network device.
8. The method according to claim 6 or 7, characterized in that, The first transmission unit further comprises second information, and the second information is used to indicate a data amount of the first transmission unit.
9. The method according to any one of claims 1 to 8, characterized in that, The remaining time of the N data is greater than a threshold value, and the threshold value is used to determine whether data is sent.
10. The method according to any one of claims 1 to 9, characterized in that, The method further comprises: receiving configuration information, wherein the configuration information is used to indicate that a transmission unit is determined according to a remaining time.
11. A data transmission method, characterized by, The method comprises: receiving a first transmission unit from a terminal device; The first transmission unit is determined according to N data, N is an integer greater than 0, and the N data are N data with the smallest remaining time among a plurality of data to be sent; determining the N data according to the first transmission unit.
12. The method of claim 11, wherein, The first transmission unit is a transport block (TB), a code block (CB), or a code block group (CBG).
13. The method according to claim 11 or 12, characterized in that, The first transmission unit further comprises first information, and the first information is used to indicate at least one of the following: the smallest remaining time among N remaining times of the N data; the largest remaining time among the N remaining times; the N remaining times; a time interval comprising the smallest remaining time among the N remaining times and the largest remaining time among the N remaining times.
14. The method according to any one of claims 11 to 13, characterized in that, The N remaining times of the N data are located in a remaining time interval, and the remaining time interval is preset or indicated by a network device.
15. The method according to any one of claims 11 to 14, characterized in that, The method further comprises: sending scheduling information, wherein the scheduling information is used to indicate a first resource, and the first resource is used to transmit the first transmission unit; and wherein a total data amount of the N data is determined according to a size of the first resource.
16. The method of claim 14, wherein, The N data are all or part of data in the plurality of data with the remaining time located in the remaining time interval.
17. The method of claim 16, wherein, The total data amount of the N data is less than or equal to a first data amount, and the first data amount is preset or indicated by the network device.
18. The method of claim 16 or 17, wherein, The first transmission unit further comprises second information, the second information being used for indicating a data amount of the first transmission unit.
19. The method of any one of claims 11 to 18, wherein, The remaining time of the N data is greater than a threshold value, the threshold value being used for determining whether data is transmitted.
20. The method of any one of claims 11 to 19, wherein, The method further comprises: transmitting configuration information, the configuration information being used for indicating a transmission unit determined according to a remaining time.
21. A communications device, characterized by comprising: a processing unit, configured to determine a first transmission unit according to N data; N is an integer greater than 0, and the N data are N data with the smallest remaining time in a plurality of data to be transmitted; a communication unit, configured to transmit the first transmission unit.
22. A communications device, characterized by comprising: a communication unit, configured to receive a first transmission unit from a terminal device; the first transmission unit is determined according to N data; N is an integer greater than 0, and the N data are N data with the smallest remaining time in a plurality of data to be transmitted; a processing unit, configured to determine the N data according to the first transmission unit.
23. A communications device, characterized by comprising a processor; the processor is used for executing a computer program or instruction, so that the communication device implements the method in any one of claims 1 to 20.
24. A computer-readable storage medium, characterized in that, a computer program or instruction is stored, when the computer program or instruction is run on a computer, so that the computer implements the method in any one of claims 1 to 20.
25. A chip, characterized by comprising a processor, coupled with a memory, used for executing a computer program or instruction stored in the memory, so that the chip implements the method in any one of claims 1 to 20.
26. A computer program product, characterised in that, when the computer reads and executes the computer program product, so that the method in any one of claims 1 to 20 is executed.
Citation Information
Patent Citations
Data transmission method and device
CN110167066A
Communication method and related device
WO2024093908A1
Delay information management method and related apparatus
WO2024139382A1