A data transmission method and apparatus, and a communication device
Patent Information
- Application Number
- CN202111574554.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-21
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2041-12-21
AI Technical Summary
这些方法的大致思路都是通过重复发送相同的数据来保证数据接收的可靠性,但由此会造成资源浪费
[0012]本申请实施例提供的芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行上述任意一种方法。
Smart Images

Figure CN116318525B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication technology, and in particular to a data transmission method and apparatus, and a communication device. Background Technology
[0002] Currently, methods to improve data transmission reliability generally include: methods based on Hybrid Automatic Repeat reQuest (HARQ) and / or Automatic Repeat-reQuest (ARQ) mechanisms, and methods based on Packet Data Convergence Protocol (PDCP) duplication mechanisms. The general idea behind these methods is to ensure data reception reliability by repeatedly sending the same data, but this leads to resource waste. Summary of the Invention
[0003] To address the aforementioned technical problems, embodiments of the present invention provide a data transmission method, a terminal device, a network device, a chip, and a computer-readable storage medium.
[0004] The data transmission method provided in this application includes:
[0005] The Media Access Control (MAC) entity acquires data from at least two logical channels;
[0006] The MAC entity encodes the data from the at least two logical channels.
[0007] The data transmission apparatus provided in this application embodiment is applied to the MAC entity of a communication device, and the apparatus includes:
[0008] A receiving unit is used to acquire data from at least two logical channels;
[0009] An encoding unit is used to encode the data of the at least two logical channels;
[0010] The transmitting unit is used to transmit encoded data.
[0011] The communication device provided in this application includes a processor and a memory. The memory is used to store computer programs, and the processor is used to call and run the computer programs stored in the memory to execute any of the above-described data transmission methods.
[0012] The chip provided in this application includes a processor for calling and running a computer program from a memory, causing a device on which the chip is installed to perform any of the methods described above.
[0013] The computer-readable storage medium provided in this application embodiment is used to store a computer program that causes a computer to execute any of the methods described above.
[0014] In the technical solution of this application embodiment, the MAC entity encodes the data of at least two logical channels and sends the encoded data, thereby completing the "multiple" transmission of data with wireless resources equivalent to a single transmission, which improves the reliability of data transmission and the utilization rate of resources. Attached Figure Description
[0015] Figure 1 This is a schematic diagram illustrating an application scenario of an embodiment of this application;
[0016] Figure 2 This is a schematic diagram of the butterfly diagram transmission process;
[0017] Figure 3 This is a schematic diagram of the transmission encoding data provided in the embodiments of this application. Figure 1 ;
[0018] Figure 4 This is a flowchart illustrating the data transmission method provided in an embodiment of this application;
[0019] Figure 5 This is a schematic diagram illustrating the segmentation of RLC entities and the encoding of MAC provided in the embodiments of this application;
[0020] Figure 6 This is a schematic diagram of the transmission encoding data provided in the embodiments of this application. Figure 2 ;
[0021] Figure 7-1 This is a schematic diagram of the MAC sub-header provided in the embodiments of this application. Figure 1 ;
[0022] Figure 7-2 This is a schematic diagram of the MAC sub-header provided in the embodiments of this application. Figure 2 ;
[0023] Figure 7-3 This is a schematic diagram of the MAC sub-header provided in the embodiments of this application. Figure 3 ;
[0024] Figure 7-4 This is a schematic diagram of the downlink MAC PDU format provided in the embodiments of this application;
[0025] Figure 7-5This is a schematic diagram of the uplink MAC PDU format provided in an embodiment of this application;
[0026] Figure 8 This is a schematic diagram of the SDU multiplexing process in the MAC PDU provided in the embodiments of this application. Figure 1 ;
[0027] Figure 9 This is a schematic diagram illustrating the multiplexing of data from different logical channels to a MAC PDU, as provided in the embodiments of this application.
[0028] Figure 10 This is a schematic diagram of the SDU multiplexing process in the MAC PDU provided in the embodiments of this application. Figure 2 ;
[0029] Figure 11 This is a schematic diagram illustrating the encoding of the MAC SDU to be retransmitted, provided in an embodiment of this application.
[0030] Figure 12 This is a schematic diagram of the structural composition of the data transmission device provided in the embodiments of this application;
[0031] Figure 13 This is a schematic structural diagram of a communication device provided in an embodiment of this application;
[0032] Figure 14 This is a schematic structural diagram of the chip according to an embodiment of this application. Detailed Implementation
[0033] 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. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0034] Figure 1 This is a schematic diagram of an application scenario according to an embodiment of this application.
[0035] like Figure 1 As shown, the communication system 100 may include a terminal device 110 and a network device 120. The network device 120 can communicate with the terminal device 110 via an air interface. Multi-service transmission is supported between the terminal device 110 and the network device 120.
[0036] It should be understood that the embodiments of this application are only illustrated by way of example with communication system 100, but the embodiments of this application are not limited thereto. That is to say, the technical solutions of the embodiments of this application can be applied to various communication systems, such as: Long Term Evolution (LTE) system, LTE Time Division Duplex (TDD), Universal Mobile Telecommunication System (UMTS), Internet of Things (IoT) system, Narrow Band Internet of Things (NB-IoT) system, enhanced Machine-Type Communications (eMTC) system, 5G communication system (also known as New Radio (NR) communication system), or future communication systems, etc.
[0037] exist Figure 1 In the communication system 100 shown, network device 120 may be an access network device that communicates with terminal device 110. The access network device can provide communication coverage for a specific geographical area and can communicate with terminal device 110 (e.g., UE) located within that coverage area.
[0038] Network device 120 may be an evolved Node B (eNB or eNodeB) in a Long Term Evolution (LTE) system, a Next Generation Radio Access Network (NG RAN) device, a base station (gNB) in an NR system, a radio controller in a Cloud Radio Access Network (CRAN), or a relay station, access point, vehicle-mounted device, wearable device, hub, switch, bridge, router, or network device in a future evolved Public Land Mobile Network (PLMN), etc.
[0039] Terminal device 110 can be any terminal device, including but not limited to terminal devices that are connected to network device 120 or other terminal devices via wired or wireless connections.
[0040] For example, the terminal device 110 may refer to an access terminal, user equipment (UE), user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device. The access terminal may be a cellular phone, cordless phone, Session Initiation Protocol (SIP) phone, IoT device, satellite handheld terminal, Wireless Local Loop (WLL) station, Personal Digital Assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, in-vehicle device, wearable device, terminal device in a 5G network, or terminal device in a future evolved network, etc.
[0041] Terminal device 110 can be used for device-to-device (D2D) communication.
[0042] The wireless communication system 100 may further include a core network device 130 that communicates with the base station. This core network device 130 may be a 5G core network (5G Core, 5GC) device, such as an Access and Mobility Management Function (AMF), an Authentication Server Function (AUSF), a User Plane Function (UPF), or a Session Management Function (SMF). Optionally, the core network device 130 may also be an Evolved Packet Core (EPC) device for an LTE network, such as a Session Management Function + Core Packet Gateway (SMF+PGW-C) device. It should be understood that SMF+PGW-C can simultaneously implement the functions of both SMF and PGW-C. During network evolution, the aforementioned core network device may also be called by other names, or new network entities may be formed by dividing the core network functions; this embodiment does not limit this.
[0043] The various functional units in the communication system 100 can also establish connections and communicate with each other through the next generation (NG) interface.
[0044] For example, terminal devices establish air interface connections with access network devices through the NR interface for transmitting user plane data and control plane signaling; terminal devices can establish control plane signaling connections with the AMF through NG interface 1 (N1); access network devices, such as next-generation radio access base stations (gNB), can establish user plane data connections with the UPF through NG interface 3 (N3); access network devices can establish control plane signaling connections with the AMF through NG interface 2 (N2); the UPF can establish control plane signaling connections with the SMF through NG interface 4 (N4); the UPF can interact with the data network for user plane data through NG interface 6 (N6); the AMF can establish control plane signaling connections with the SMF through NG interface 11 (N11); and the SMF can establish control plane signaling connections with the PCF through NG interface 7 (N7).
[0045] Figure 1 An exemplary embodiment shows a base station, a core network device, and two terminal devices. Optionally, the wireless communication system 100 may include multiple base station devices, and each base station may include other numbers of terminal devices within its coverage area. This application embodiment does not limit this.
[0046] It should be noted that, Figure 1This application merely illustrates the system to which this application applies; of course, the methods shown in the embodiments of this application can also be applied to other systems. Furthermore, the terms "system" and "network" are often used interchangeably herein. The term "and / or" in this application merely describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this application generally indicates that the preceding and following related objects have an "or" relationship. It should also be understood that "instruction" mentioned in the embodiments of this application can be a direct instruction, an indirect instruction, or an indication of a related relationship. For example, A instructing B can mean that A directly instructs B, for example, B can be obtained through A; it can also mean that A indirectly instructs B, for example, A instructs C, B can be obtained through C; or it can mean that there is a related relationship between A and B. It should also be understood that "correspondence" mentioned in the embodiments of this application can indicate a direct or indirect correspondence between two things, or an related relationship between two things, or a relationship of instruction and being instructed, configuration and being configured, etc. It should also be understood that the "predefined" or "predefined rules" mentioned in the embodiments of this application can be implemented by pre-storing corresponding codes, tables, or other means that can be used to indicate relevant information in the device (e.g., including terminal devices and network devices), and this application does not limit the specific implementation method. For example, predefined can refer to those defined in a protocol. It should also be understood that in the embodiments of this application, the "protocol" can refer to standard protocols in the field of communication, such as the LTE protocol, the NR protocol, and related protocols applied to future communication systems, and this application does not limit this.
[0047] To facilitate understanding of the technical solutions of the embodiments of this application, the relevant technologies of the embodiments of this application are described below. The following relevant technologies are optional solutions and can be combined with the technical solutions of the embodiments of this application in any way, and they all fall within the protection scope of the embodiments of this application.
[0048] About network coding
[0049] Network coding technology was developed to improve network throughput and ensure link robustness. Network coding allows intermediate nodes to encode received information and forward it, thereby improving network performance through the overall cooperation of network nodes.
[0050] Taking a butterfly diagram as an example, S is the source node, and R1 and R2 are two destination nodes. If forwarding technology is used, the transmission process is as follows: Figure 2As shown in (a) above, the two transmission paths overlap at link (3, 4). Node 3 cannot transmit 2 bits of data a and b per unit time, and the theoretical capacity of the network cannot be achieved using forwarding technology. If network coding technology is used, allowing relay nodes to encode the information, the transmission process is as follows: Figure 2 As shown in (b), node 3 encodes data a and b to obtain a+b, and sends a+b out within one unit of time. R1 then receives a and a+b and decodes them to obtain b. Similarly, R2 obtains bits a and b. Thus, S sends 2 bits of information to the two destination nodes within one unit of time, achieving the theoretical upper limit of network traffic.
[0051] Network coding schemes can be divided into two types: linear and nonlinear.
[0052] Linear methods are relatively simple to encode and decode, therefore, they are generally preferred. In directed networks, if a network encoding problem has a solution, then there must be a linear solution, which theoretically guarantees the effectiveness of linear algorithms.
[0053] Linear network coding maps the information transmitted by nodes linearly to a finite field, using linear relationships to implement the encoding and decoding process. Assuming each information data packet is L bits long, when its length differs from the data packets to be combined, the shorter information is appended with an extra string of zeros. Every s consecutive bits in the packet are combined to form a symbol, resulting in a packet containing L / s symbols. In linear coding, multiplication and addition operations are used to ensure that the data sent by a node is a linear combination of the information received by that node.
[0054] The selection of the encoding vector can employ deterministic encoding strategies or random encoding strategies.
[0055] Deterministic coding schemes select a fixed coding vector for each node based on the network topology. Related techniques propose an iterative implementation method for linear network coding. By analyzing the network structure and considering the number of inputs and outputs of each node, corresponding local coding vectors are designed, and a global coding vector is obtained iteratively, thus achieving network coding. Because each node uses a fixed coding vector, deterministic coding schemes only require information vectors in the data transmitted in the network, saving bandwidth and requiring a smaller symbol set. However, deterministic network coding schemes require knowledge of the entire network topology, resulting in high complexity. In distributed wireless communication networks, the lack of centralized control makes implementation extremely difficult. Furthermore, once the topology of the wireless communication network changes, the entire deterministic network coding scheme must be updated, leading to poor robustness to mobility support and changes in the wireless environment.
[0056] Due to the high complexity and other drawbacks of deterministic network coding, the concept of random coding has been proposed. Random coding involves nodes in the network independently and in a distributed manner randomly selecting coding coefficients to encode the input information. This set of random vectors is then sent as part of the header to the receiving node for easy decoding.
[0057] Linear network coding process
[0058] Assume the raw data packet information generated by one or more sources is M 1 ,...,M n Then the data transmitted in linear network coding can be represented as (where g1,...,g n (representing the corresponding coding coefficients), for each symbol: in and X k M respectively i And the k-th symbol of X. The transmitted data packet includes both the encoded vector, i.e., the coefficients g = (g1,...,g...). n This includes information vectors. The encoded vector is used for decoding at the receiving end.
[0059] The encoding process uses an iterative method. If the set of packet information that a node has already received and stored is (g 1 ,X 1 )…(g m ,X m If a node can be selected by choosing coding coefficients h1,...,h..., then this node can be... m and using formulas The new information packet (g', X') is obtained, and the encoding vector g' can be obtained through direct algebraic calculation. This process can be repeated at several nodes.
[0060] Decoding process of linear network coding
[0061] Assume the node receives a set (g) 1 ,X 1 )…(g m ,X m To recover the original information, it is necessary to solve... The n unknowns M in the m equations i To recover all data, m ≥ n is required, meaning the number of received packets must be at least equal to the number of original packets. While some linear combinations may be linearly dependent, m ≥ n is not a sufficient condition, but it is an important condition for network coding.
[0062] Currently, methods to improve data transmission reliability generally include: methods based on HARQ and / or ARQ mechanisms, and methods based on PDCP duplication mechanisms. The general idea behind these methods is to ensure data reception reliability by repeatedly sending the same data. However, this leads to resource waste, especially when wireless channel conditions are poor. When multiple HARQ retransmissions fail, ARQ retransmissions may continue to be used. Therefore, the following technical solution, as proposed in this application, is presented.
[0063] To facilitate understanding of the technical solutions of the embodiments of this application, the technical solutions of this application are described in detail below through specific embodiments. The above-mentioned related technologies are optional solutions and can be arbitrarily combined with the technical solutions of the embodiments of this application, all of which fall within the protection scope of the embodiments of this application. The embodiments of this application include at least some of the following contents.
[0064] In the technical solution of this application embodiment, the Radio Link Control (RLC) entity is responsible for segmenting data packets into multiple sub-data packets of equal size, with each data packet carrying an RLC sequence number (SN). The MAC entity is responsible for encoding the equal-sized sub-data packets from multiple RLC entities. Thus, data can be transmitted "multiple times" with radio resources comparable to a single transmission, improving the reliability of data transmission. Compared to traditional retransmission mechanisms based on feedback information (such as HARQ and / or ARQ mechanisms), the technical solution of this application embodiment adopts an advance redundant transmission method similar to "blind retransmission," reducing the feedback latency required by feedback-based retransmission mechanisms and improving the data transmission rate and efficiency.
[0065] As an example, such as Figure 3 As shown, for downlink, when the base station sends data packets D1, D2, and D3 to the UE, it also sends an additional data packet D1⊕D2⊕D3. This additional data packet is obtained by the base station's MAC entity encoding D1, D2, and D3. This way, even if any one of D1, D2, or D3 is lost during transmission, the UE can successfully retrieve all data packets by decoding D1⊕D2⊕D3. Similarly, for uplink, when the UE sends data packets U1, U2, and U3 to the base station, it also sends an additional data packet U1⊕U2⊕U3. This additional data packet is obtained by the UE's MAC entity encoding U1, U2, and U3. This way, even if any one of U1, U2, or U3 is lost during transmission, the base station can successfully retrieve all data packets by decoding U1⊕U2⊕U3.
[0066] Figure 4 This is a flowchart illustrating the data transmission method provided in an embodiment of this application. This data transmission method is applied to the MAC entity of a communication device, such as... Figure 4 As shown, the data transmission method includes:
[0067] Step 401: The MAC entity acquires data from at least two logical channels.
[0068] Step 402: The MAC entity encodes the data of the at least two logical channels.
[0069] In this embodiment, the MAC entity refers to the MAC entity of the data sender. Here, the data sender (i.e., the communication device) can be a network device or a terminal device, wherein the network device can be, for example, a base station, and the terminal device can be, for example, a UE.
[0070] In this embodiment, the MAC entity encodes data from at least two logical channels. Specifically, the MAC entity obtains data from at least two RLC entities from at least two logical channels, encodes the data from the at least two logical channels, and sends the encoded data out through the physical (PHY) entity.
[0071] In some alternative implementations, before the MAC entity encodes the data of the at least two logical channels, the method further includes: for the RLC entities corresponding to the at least two logical channels respectively, the MAC entity instructs the RLC entity on the number of RLC Protocol Data Units (PDUs) to be submitted, or instructs the RLC entity on the channel quality.
[0072] Here, before the MAC entity performs encoding, it may instruct the relevant RLC entity to submit a specific number of RLC PDUs or indicate the channel quality to the RLC entity. Here, the relevant RLC entity is the RLC entity corresponding to the logical channel.
[0073] In some alternative implementations, the MAC entity indicates to the RLC entity the number of RLC PDUs to be submitted, and the MAC entity determines the number of RLC PDUs based on at least one of the following: Logical Channel Prioritization (LCP), uplink resource size, and channel quality.
[0074] In some alternative implementations, where the MAC entity determines the number of RLC PDUs based on logical channel priority, the method further includes:
[0075] For each of the at least two logical channels, the MAC entity performs the following steps:
[0076] Step 1-1) Determine the values of N and M using the following formulas: N = FLOOR(PBR*T / Tsdu) + 1, M = FLOOR(Bj / Tsdu); where FLOOR represents rounding down, PBR represents the priority bit rate of the logical channel, T represents the time interval between the current time and the last scheduling time (i.e., T transmission time intervals (TTI)), Tsdu represents the size of a unit data packet, and Bj represents the number of available tokens in the token bucket corresponding to the logical channel.
[0077] Step 1-2) Compare whether Bj is greater than 0; if Bj>0, then multiplex the data packets of the logical channel into the MACPDU; if Bj≤0, then do not multiplex the data packets of the logical channel.
[0078] Steps 1-3) Compare the values of M and N; if MN > 0, then multiplex the N data packets of the logical channel into the MAC PDU; otherwise, multiplex the M data packets of the logical channel into the MAC PDU.
[0079] In some alternative implementations, where the MAC entity determines the number of RLC PDUs based on logical channel priority, the method further includes:
[0080] For each of the at least two logical channels, the MAC entity performs the following steps:
[0081] Step 2-1) Determine the values of N and M using the following formulas: N = FLOOR(PBR*T / Tsdu) - X + 1, M = FLOOR(Bj / Tsdu); where FLOOR represents rounding down, PBR represents the priority bit rate of the logical channel, T represents the time interval between the current time and the start time of data transmission (i.e., T TTIs), Tsdu represents the size of a unit data packet, X represents the number of data packets transmitted by the logical channel, and Bj represents the number of available tokens in the token bucket corresponding to the logical channel.
[0082] Step 2-2) Compare whether Bj is greater than 0; if Bj>0, then multiplex the data packets of the logical channel into the MACPDU; if Bj≤0, then do not multiplex the data packets of the logical channel.
[0083] Steps 2-3) Compare the values of M and N; if MN > 0, then multiplex the N data packets of the logical channel into the MAC PDU; otherwise, multiplex the M data packets of the logical channel into the MAC PDU.
[0084] In some alternative implementations, the at least two logical channels are associated using coded identifiers. As an example, the coded identifiers are represented by a Logical Channel Identifier (LCID) or an Extended Logical Channel Identifier (eLCID).
[0085] In some alternative implementations, for the RLC entities corresponding to the at least two logical channels respectively, the RLC entities segment the data packets based on one of the following configurations:
[0086] The first configuration is used to configure the segment size;
[0087] The second configuration is used to configure the correspondence between channel quality level and segment size or the correspondence between channel quality and segment size.
[0088] In the above scheme, optionally, the first configuration and / or the second configuration are configured by the network through RRC messages, wherein the second configuration information includes the segment size corresponding to different channel quality levels or the segment size corresponding to different channel qualities.
[0089] In some optional implementations, the network can also send a dynamic segment size adjustment configuration to the communication device via an RRC message, and this configuration is applied to the RLC entity. This configuration includes at least the segment size corresponding to different channel qualities or channel quality levels. Further, optionally, the configuration may also include the activation time after the segment size adjustment.
[0090] Based on this, the MAC entity instructs the RLC entity to adjust the segment size of the data packet, and correspondingly, the RLC entity adjusts the segment size of the data packet based on the instruction received from the MAC entity. Here, the MAC entity instructing the RLC entity to adjust the segment size of the data packet can be implemented in the following way:
[0091] Method 1: When the RLC entity segments the data packet based on the first configuration, the MAC entity indicates the first segment size to the RLC entity, where the first segment size is the adjusted segment size; or,
[0092] Method 2: When the RLC entity segments data packets based on the second configuration, the MAC entity needs to indicate the channel quality or channel quality level to the RLC entity. The channel quality or channel quality level is used by the RLC entity to determine the corresponding segment size in conjunction with the second configuration and to segment data packets based on the segment size.
[0093] Further, optionally, the MAC entity indicates the activation time after the segment size adjustment to the RLC entity.
[0094] In this embodiment of the application, the MAC entity encodes the data of the at least two logical channels in the following way: the MAC entity performs network encoding on the MAC Service Data Unit (SDU) to be retransmitted based on the retransmission strategy.
[0095] In some optional implementations, the retransmission strategy includes at least one of the following: increasing the number of encoded data packets by a step size, increasing the number of encoded data packets by a multiple, selecting a range for the number of encoded data packets, selecting a range for the number of encoded data packets corresponding to the number of retransmissions, increasing the number of sub-data packet repetitions by a step size, increasing the number of sub-data packet repetitions by a multiple, selecting a range for the number of sub-data packet repetitions, and selecting a range for the number of sub-data packet repetitions corresponding to the number of retransmissions.
[0096] In the technical solution of this application embodiment, the RLC entity of the data sending end (such as a base station or UE) divides the data packet to be sent into multiple sub-data packets and delivers them to the MAC entity. The MAC entity performs network encoding on the sub-data packets or retransmitted sub-data packets, thereby completing the "multiple" transmission of data packets with radio resources equivalent to a single transmission, thus improving resource utilization.
[0097] The technical solutions of the embodiments of this application are illustrated below with specific application examples.
[0098] Application Example 1
[0099] 1. The originating RLC entity segments the data packets based on the segmentation-related configuration.
[0100] Here, the segmentation-related configurations include at least one of the following:
[0101] The first configuration is used to configure the segment size;
[0102] The second configuration is used to configure the correspondence between channel quality level and segment size or the correspondence between channel quality and segment size.
[0103] Here, if the segmentation configuration is the second configuration, the sending RLC entity also needs to receive a channel quality level or channel quality indication from the MAC entity. The sending RLC entity segments the data packets according to the appropriate segment size based on the channel quality level or channel quality.
[0104] 2. The originating MAC entity performs network coding on the associated radio bearer or logical channel RLC PDU (i.e., MAC SDU).
[0105] Here, before encoding, the originating MAC entity may also instruct the relevant RLC entity to submit a specific number of RLCPDUs.
[0106] In some alternative implementations, the transmitting MAC entity may determine the number of pre-coding RLCPDUs based on logical channel priority. And / or, the transmitting MAC entity may determine the network coding scheme and the number of pre-coding RLCPDUs based on uplink resource size. And / or, the transmitting MAC entity may determine the network coding scheme and the number of pre-coding RLC PDUs based on channel quality.
[0107] In some alternative implementations, the association between radio bearers or logical channels using network coding can be configured via MAC entities (e.g., via CellGroupConfig cells). Here, a coding identifier is introduced to associate different logical channels using a specific network coding algorithm or method. This coding identifier is associated with at least two logical channel identifiers. Specifically, this can be achieved by configuring the coding identifier corresponding to the logical channel in the LogicalChannelConfig or RLC-Config. In this way, the MAC can determine which logical channels use the same network coding algorithm or method.
[0108] 3. The originating MAC entity generates the corresponding MAC PDU.
[0109] As an example, such as Figure 5 As shown, the RLC entity receives the PDCP PDU sent by the PDCP entity, segments the PDCP PDU into multiple sub-data packets, and then passes them to the MAC entity; the MAC entity encodes the multiple sub-data packets from different DRBs (i.e., logical channels) and generates corresponding MAC PDUs based on the encoded data packets. Figure 5 The scheme shown is applicable to the joint encoding of multiple DRB data.
[0110] As an example, such as Figure 6 As shown, the data transmission method includes the following process:
[0111] Step 601a / b: The transmitting RLC entity obtains the segmentation-related configuration or the transmitting RLC entity obtains the channel quality indication from the transmitting MAC entity.
[0112] Step 602: The originating RLC entity determines the segment size and segments the data packet based on the segment size.
[0113] Optionally, the transmitting RLC entity can also obtain the channel quality indication again from the transmitting MAC entity and adjust the segment size based on the channel quality indication.
[0114] Step 603: The originating MAC entity sends an indication of the number of RLC PDUs to the originating RLC entity.
[0115] Step 604: The originating RLC entity submits a specific number of RLC PDUs to the originating MAC entity.
[0116] Step 605: The originating MAC entity performs network encoding on a specific number of RLC PDUs and generates MAC PDUs.
[0117] Furthermore, the originating MAC entity sends out the MAC PDU.
[0118] Step 606: The receiving MAC entity decodes the MAC PDU and obtains the RLC PDU for different logical channels.
[0119] Furthermore, the receiving MAC entity delivers the RLC PDU to the corresponding receiving RLC entity.
[0120] Step 607: If the receiving MAC entity fails to decode, proceed to step 608.
[0121] Step 608: The receiving MAC entity sends a retransmission instruction to the sending MAC entity.
[0122] Step 609: The originating MAC entity is re-encoded and a retransmitted MAC PDU is generated.
[0123] Furthermore, the originating MAC entity will retransmit the MAC PDU.
[0124] Application Example 2
[0125] The network dynamically adjusts the RLC sub-packet size configuration via RRC messages. This configuration includes at least the channel quality level and the corresponding sub-packet size (i.e., segment size). Optionally, it may also include the activation time after the sub-packet size adjustment. As an example, the activation time can be represented by the SN, i.e., the adjusted packet size is enabled starting from a specific SN.
[0126] In practice, the MAC entity instructs the RLC entity to adjust the sub-data packet size (i.e., segment size) based on the measured channel quality or the channel quality level to which the channel quality belongs. The MAC entity instructs the RLC entity in the following two ways:
[0127] Method 1: The MAC entity indicates the channel quality or channel quality level to the RLC entity. The RLC entity determines the corresponding sub-data packet size (i.e., segment size) based on the channel quality or channel quality level and the configuration of the above RRC message.
[0128] Method 2: The MAC entity indicates the adjusted sub-data packet size (i.e., segment size) to the RLC entity.
[0129] Application Example 3
[0130] Data that identifies network coding
[0131] Currently, MAC subPDU packets originate from only one logical channel, therefore the corresponding MAC subheader includes only one LCID. However, in the solution of this application embodiment, a MAC subPDU is obtained by network encoding data from multiple logical channels. Unlike the current solution, the technical solution of this application embodiment requires associating the encoded identifier with multiple different LCIDs or eLCIDs. For example, ... Figure 7-1 As shown, the MAC subheader includes the LCID, which identifies the associated encoded identifier. For example, as shown... Figure 7-2 As shown, the MAC subheader includes LCID and eLCID, which can be used to represent the encoding identifier.
[0132] The receiving MAC entity distinguishes data from different logical channels.
[0133] like Figure 7-3 As shown, the R (reserved) bit is used to identify this MAC subheader as the first network-coded MAC subheader. Accordingly, at least one encoded packet count field (Num) is also included after the L field of this MAC subheader.
[0134] When network coding is performed on data from N logical channels, there are N-1 fields indicating the number of encoded data packets on each logical channel participating in the network coding. Further, optionally, there may also be an E field to indicate whether an "E+Num" field exists after the "E+Num" field.
[0135] Based on the above Figure 7-3 The MAC subheader format and MAC PDU format are shown below. Figure 7-4 and Figure 7-5 As shown, where, Figure 7-4 The format of the downlink MAC PDU is shown. Figure 7-5 This illustrates the format of the uplink MAC PDU.
[0136] Application Example 4
[0137] Currently, the logical channel priority and MAC multiplexing method are as follows: The UE receives uplink radio resources from the base station. Which logical channels' data can be put into the allocated uplink resources, and how much data is placed in each logical channel, is determined by the UE based on RRC configuration and protocol specifications.
[0138] RRC assigns a priority field to each logical channel; a smaller value indicates higher priority. Additionally, it assigns a Prioritized Bit Rate (PBR) and a Bucket Size Duration (BSD) to each logical channel. The PBR guarantees a minimum data rate for each logical channel, preventing low-priority channels from being unable to send data. The BSD and PBR together determine the maximum bucket capacity: PBR × BSD, which is the total amount of data that can be buffered for each logical channel.
[0139] like Figure 8 As shown, the UE maintains a variable Bj for each logical channel j. This variable indicates the number of currently available tokens in the token bucket, and each token corresponds to 1 byte of data. Bj is initialized to 0 when the logical channel is established, and increases by PBR × TTI every TTI (for example, if PBR is 8kBps, then 8kBps * 1ms = 8 bytes of tokens are injected into the token bucket every TTI). The value of Bj cannot exceed the maximum capacity of the bucket, PBR × BSD (for example, if BSD = 500ms, the maximum capacity is 8kBps * 500ms = 4k bytes).
[0140] Step 1: For all logical channels with Bj>0, packetize them in descending order of priority. The radio resources allocated to each logical channel can only meet the requirements of PBR.
[0141] Step 2: Subtract the size of all MAC SDUs multiplexed into the MAC PDU in step 1 from Bj for logical channel j. (Reference implementation: For logical channel j, for each RLC SDU transmitted, first compare whether Bj is greater than 0. If Bj is greater than 0, add the SDU to the MAC PDU. Then subtract the size Tsdu of the SDU from Bj and determine whether the PBR requirement is met. Repeat this process until Bj is less than 0 or the PBR requirement is met, then proceed to process the next logical channel.)
[0142] Step 3: If there are still uplink resources remaining after the first two steps, then regardless of the size of Bj, allocate the remaining resources to each logical channel according to logical channel priority. Low-priority logical channels can only receive service if all high-priority logical channels have finished sending data and the UL grant has not been exhausted. That is, at this point, the UE maximizes data transmission on high-priority logical channels.
[0143] For multiple logical channels, the order in which data is placed into the MAC PDU can be determined according to the channel's priority. For example... Figure 9 As shown, Channel 1 has a priority of Priority 1, Channel 2 has a priority of Priority 2, and Channel 3 has a priority of Priority 3. Channel 1 has the highest priority, so its data is placed into the MAC PDU first, followed by Channel 2, and then Channel 3. If there are any remaining radio resources after all logical channels have been processed, then data from Channel 1 is placed there first.
[0144] In some alternative implementations, such as Figure 10 As shown, we need to determine two values first, namely the values of N and M.
[0145] Here, the value of N is the minimum N value that can satisfy the PBR requirement. As an example:
[0146] N = FLOOR(PBR*T / Tsdu) + 1, where T is the time elapsed since the last scheduling, i.e., T TTIs, and Tsdu represents the size of each data packet; or,
[0147] N = FLOOR(PBR*T / Tsdu) - X + 1, where T is the time elapsed since the start of data transmission, i.e., T TTIs, X is the number of data packets transmitted, and Tsdu represents the size of each data packet.
[0148] Here, M = FLOOR(Bj / Tsdu), where Tsdu represents the size of each data packet.
[0149] After determining the values of M and N using the above method, based on these values, a number of data packets can be directly multiplexed into the MAC PDU, instead of multiplexing each data packet one by one as in existing technologies. This improves processing efficiency. The specific steps are as follows:
[0150] Step A) Compare whether Bj is greater than 0. If Bj > 0, the data of the logical channel needs to be multiplexed into the MAC PDU; if Bj ≤ 0, the data of the logical channel is not multiplexed.
[0151] Step B) Compare the values of M and N. If MN > 0, multiplex N data packets into the MAC PDU; otherwise, multiplex M data packets into the MAC PDU. Then, process the next logically arriving data.
[0152] Application Example 5
[0153] The sending MAC entity can retransmit data packets via HARQ, or it can re-encode and retransmit the encoded data packets. Retransmitting data packets via HARQ is consistent with existing technology, but retransmitting encoded data packets requires modification to the retransmission mechanism. Specifically:
[0154] 1. The sending MAC entity learns which MAC SDUs need to be retransmitted through HARQ feedback, or the sending MAC entity receives retransmission instructions from the sending RLC entity.
[0155] 2. The originating MAC entity performs network encoding on the MAC SDU to be retransmitted based on the retransmission strategy.
[0156] Here, the originating MAC entity generates a new header for the retransmitted MAC SDU and adds a new SN number.
[0157] Here, the retransmission policy can be sent to the communication device (such as the UE) via RRC messages.
[0158] In some alternative implementations, the retransmission strategy includes at least one of the following:
[0159] Strategy 1) Increase the step size of the number of encoded data packets;
[0160] Strategy 2) Increase the number of encoded data packets by a factor of two;
[0161] Strategy 3) The number of encoded data packets can be selected within a certain range;
[0162] Strategy 4) The range of selectable numbers of encoded data packets corresponding to the number of retransmissions;
[0163] Strategy 5) Increase the step size for sub-data packet repetition count;
[0164] Strategy 6) Increase the number of times sub-data packets are repeated by a factor;
[0165] Strategy 7) Selectable range of sub-data packet repetition counts;
[0166] Strategy 8) The range of possible repetition counts for sub-data packets corresponding to the number of retransmissions.
[0167] Strategies 1) to 4) above improve reliability by repeating the process multiple times during encoding, while strategies 5) to 8 above improve reliability by repeating the process multiple times before encoding. The following explains the above strategies.
[0168] For strategy 1), the increment step ΔM in the number of encoded data packets indicates the increase in the number of encoded data packets after this encoding, compared to the number of encoded data packets (M) during the previous retransmission / newtransmission. That is, the number of encoded data packets after this encoding is M + ΔM.
[0169] For strategy 2), the (encoded) number of data packets increases by a factor of B: This indicates the factor by which the number of encoded data packets (M) increases after this encoding compared to the number of encoded data packets (M) during the previous retransmission / newtransmission. That is, the number of encoded data packets after this encoding is B*M.
[0170] For strategy 3), the selectable range of the number of encoded data packets is: the network limits the selectable range of the number of encoded data packets in case of retransmission.
[0171] For strategy 4), the selectable range of the number of encoded data packets corresponding to the number of retransmissions is as follows: For different retransmission counts, the network is configured with different selectable ranges of the number of encoded data packets.
[0172] For strategy 5), the step size Δt for increasing the number of sub-data packet repetitions (before encoding) indicates the increase in the number of sub-data packet repetitions (T) before encoding compared to the number of sub-data packet repetitions (T) during the previous retransmission / retransmission. That is, the number of sub-data packet repetitions before encoding is T + Δt.
[0173] For strategy 6), the (before encoding) sub-data packet repetition count increase factor E: indicates the factor by which the sub-data packet repetition count (T) increases before encoding compared to the previous retransmission / retransmission. That is, the sub-data packet repetition count before encoding is E*T.
[0174] For strategy 7), the selectable range of sub-data packet repetition counts (before encoding): the network limits the selectable range of sub-data packet retransmission counts for retransmission cases.
[0175] For strategy 8), the selectable range of sub-data packet repetition counts (before encoding) corresponding to the number of retransmissions allows for different selectable ranges of sub-data packet retransmission counts in the network configuration for different retransmission counts.
[0176] As an example, such as Figure 11 As shown, in mode 1, the MAC SDU to be retransmitted can be repeated before encoding, while in mode 2, the number of data packets after encoding can be increased.
[0177] Figure 12 This is a schematic diagram of the structural composition of the data transmission device provided in the embodiments of this application, applied to the MAC entity of a communication device. The communication device can be a network device (such as a base station) or a terminal device (such as a UE). Figure 12 As shown, the data transmission device includes:
[0178] The receiving unit 1201 is used to acquire data from at least two logical channels;
[0179] Encoding unit 1202 is used to encode the data of the at least two logical channels;
[0180] The transmitting unit 1203 is used to transmit encoded data.
[0181] In some alternative embodiments, the apparatus further includes an indication unit 1204, configured to indicate to the RLC entity the number of RLC PDUs submitted, or to the RLC entity the channel quality, for each of the at least two logical channels.
[0182] In some alternative embodiments, the apparatus further includes a determining unit 1205, configured to determine the number of RLC PDUs based on at least one of the following: logical channel priority, uplink resource size, and channel quality.
[0183] In some alternative implementations, the coding unit 1202 is further configured to perform the following steps for each of the at least two logical channels:
[0184] The values of N and M are determined by the following formulas: N = FLOOR(PBR*T / Tsdu) + 1, M = FLOOR(Bj / Tsdu); where FLOOR represents rounding down, PBR represents the priority bit rate of the logical channel, T represents the time interval between the current time and the last scheduling time, Tsdu represents the size of a unit data packet, and Bj represents the number of available tokens in the token bucket corresponding to the logical channel.
[0185] Compare whether Bj is greater than 0; if Bj>0, then multiplex the data packets of the logical channel into the MAC PDU; if Bj≤0, then do not multiplex the data packets of the logical channel.
[0186] Compare the values of M and N; if MN > 0, then multiplex the N data packets of the logical channel into the MAC PDU; otherwise, multiplex the M data packets of the logical channel into the MAC PDU.
[0187] In some alternative implementations, the coding unit 1202 is further configured to perform the following steps for each of the at least two logical channels:
[0188] The values of N and M are determined by the following formulas: N = FLOOR(PBR*T / Tsdu) - X + 1, M = FLOOR(Bj / Tsdu); where FLOOR represents rounding down, PBR represents the priority bit rate of the logical channel, T represents the time interval between the current time and the start time of data transmission, Tsdu represents the size of a unit data packet, X represents the number of data packets transmitted by the logical channel, and Bj represents the number of available tokens in the token bucket corresponding to the logical channel.
[0189] Compare whether Bj is greater than 0; if Bj>0, then multiplex the data packets of the logical channel into the MAC PDU; if Bj≤0, then do not multiplex the data packets of the logical channel.
[0190] Compare the values of M and N; if MN > 0, then multiplex the N data packets of the logical channel into the MAC PDU; otherwise, multiplex the M data packets of the logical channel into the MAC PDU.
[0191] In some alternative implementations, the at least two logical channels are associated using coded identifiers.
[0192] In some alternative implementations, the encoded identifier is represented by LCID or eLCID.
[0193] In some alternative implementations, for the RLC entities corresponding to the at least two logical channels respectively, the RLC entities segment the data packets based on one of the following configurations:
[0194] The first configuration is used to configure the segment size;
[0195] The second configuration is used to configure the correspondence between channel quality level and segment size or the correspondence between channel quality and segment size.
[0196] In some alternative implementations, when the RLC entity segments data packets based on the second configuration, the apparatus further includes: an indication unit 1204, configured to indicate channel quality or channel quality level to the RLC entity, wherein the channel quality or channel quality level is used by the RLC entity to determine the corresponding segment size in conjunction with the second configuration and to segment data packets based on the segment size.
[0197] In some alternative implementations, when the RLC entity segments the data packet based on the first configuration, the apparatus further includes: an indication unit 1204, for indicating a first segment size to the RLC entity, wherein the first segment size is an adjusted segment size.
[0198] In some alternative implementations, the indicating unit 1204 is also used to indicate to the RLC entity the activation time after the segment size adjustment.
[0199] In some alternative implementations, the first configuration and / or the second configuration is configured by the network via RRC messages, wherein the second configuration information includes segment size corresponding to different channel quality levels or segment size corresponding to different channel qualities.
[0200] In some optional embodiments, the encoding unit 1202 is further configured to perform network encoding on the MACSDU to be retransmitted based on a retransmission strategy; wherein the retransmission strategy includes at least one of the following: an increment step for increasing the number of encoded data packets, a multiplier for increasing the number of encoded data packets, an optional range for the number of encoded data packets, an optional range for the number of encoded data packets corresponding to the number of retransmissions, an increment step for increasing the number of repetitions of sub-data packets, a multiplier for increasing the number of repetitions of sub-data packets, an optional range for the number of repetitions of sub-data packets, and an optional range for the number of repetitions of sub-data packets corresponding to the number of retransmissions.
[0201] Those skilled in the art should understand that Figure 12 The functions of each unit in the data transmission device shown can be understood by referring to the relevant description of the aforementioned method. Figure 12 The functions of each unit in the data transmission device shown can be implemented by a program running on a processor or by specific logic circuits.
[0202] Figure 13 This is a schematic structural diagram of a communication device 1300 provided in an embodiment of this application. The communication device can be a terminal device (such as a UE) or a network device (such as a base station). Figure 13 The communication device 1300 shown includes a processor 1310, which can call and run computer programs from memory to implement the methods in the embodiments of this application.
[0203] Optionally, such as Figure 13 As shown, the communication device 1300 may further include a memory 1320. The processor 1310 can retrieve and run computer programs from the memory 1320 to implement the methods described in this embodiment.
[0204] The memory 1320 can be a separate device independent of the processor 1310, or it can be integrated into the processor 1310.
[0205] Optionally, such as Figure 13As shown, the communication device 1300 may also include a transceiver 1330, and the processor 1310 may control the transceiver 1330 to communicate with other devices. Specifically, it may send information or data to other devices or receive information or data sent by other devices.
[0206] The transceiver 1330 may include a transmitter and a receiver. The transceiver 1330 may further include an antenna, and the number of antennas may be one or more.
[0207] Optionally, the communication device 1300 may specifically be a network device in the embodiments of this application, and the communication device 1300 may implement the corresponding processes implemented by the network device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0208] Optionally, the communication device 1300 may specifically be a mobile terminal / terminal device in the embodiments of this application, and the communication device 1300 may implement the corresponding processes implemented by the mobile terminal / terminal device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0209] Figure 14 This is a schematic structural diagram of the chip according to an embodiment of this application. Figure 14 The chip 1400 shown includes a processor 1410, which can call and run computer programs from memory to implement the methods in the embodiments of this application.
[0210] Optionally, such as Figure 14 As shown, chip 1400 may further include memory 1420. Processor 1410 can retrieve and run computer programs from memory 1420 to implement the methods described in this embodiment.
[0211] The memory 1420 can be a separate device independent of the processor 1410, or it can be integrated into the processor 1410.
[0212] Optionally, the chip 1400 may also include an input interface 1430. The processor 1410 can control the input interface 1430 to communicate with other devices or chips; specifically, it can acquire information or data sent by other devices or chips.
[0213] Optionally, the chip 1400 may also include an output interface 1440. The processor 1410 can control the output interface 1440 to communicate with other devices or chips, specifically, to output information or data to other devices or chips.
[0214] Optionally, the chip can be applied to the network device in the embodiments of this application, and the chip can implement the corresponding processes implemented by the network device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0215] Optionally, the chip can be applied to the mobile terminal / terminal device in the embodiments of this application, and the chip can implement the corresponding processes implemented by the mobile terminal / terminal device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0216] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0217] It should be understood that the processor in the embodiments of this application may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor described above can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0218] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0219] It should be understood that the above-described memory is exemplary and not a limiting description. For example, the memory in the embodiments of this application may also be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DR RAM), etc. That is to say, the memory in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.
[0220] This application also provides a computer-readable storage medium for storing computer programs.
[0221] Optionally, the computer-readable storage medium can be applied to the network device in the embodiments of this application, and the computer program causes the computer to execute the corresponding processes implemented by the network device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0222] Optionally, the computer-readable storage medium can be applied to the mobile terminal / terminal device in the embodiments of this application, and the computer program causes the computer to execute the corresponding processes implemented by the mobile terminal / terminal device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0223] This application also provides a computer program product, including computer program instructions.
[0224] Optionally, the computer program product can be applied to the network device in the embodiments of this application, and the computer program instructions cause the computer to execute the corresponding processes implemented by the network device in the various methods of the embodiments of this application. For the sake of brevity, they will not be described in detail here.
[0225] Optionally, the computer program product can be applied to the mobile terminal / terminal device in the embodiments of this application, and the computer program instructions cause the computer to execute the corresponding processes implemented by the mobile terminal / terminal device in the various methods of the embodiments of this application. For the sake of brevity, they will not be described in detail here.
[0226] This application also provides a computer program.
[0227] Optionally, the computer program can be applied to the network device in the embodiments of this application. When the computer program is run on a computer, it causes the computer to execute the corresponding processes implemented by the network device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0228] Optionally, the computer program can be applied to the mobile terminal / terminal device in the embodiments of this application. When the computer program is run on a computer, it causes the computer to execute the corresponding processes implemented by the mobile terminal / terminal device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.
[0229] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0230] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0231] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0232] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0233] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0234] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0235] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data transmission method, characterized in that, The method includes: The Media Access Control (MAC) entity acquires data from at least two logical channels; The MAC entity encodes the data of the at least two logical channels; Before the MAC entity encodes the data of the at least two logical channels, the method further includes: For the Radio Link Layer Control (RLC) entities corresponding to the at least two logical channels respectively, the MAC entity indicates to the RLC entity the number of RLC Protocol Data Units (PDUs) to be submitted, or indicates to the RLC entity the channel quality; Wherein, when the MAC entity indicates to the RLC entity the number of RLC PDUs to be submitted, the MAC entity determines the number of RLC PDUs based on the Logical Channel Priority (LCP); The MAC entity determines the number of RLC PDUs based on the logical channel priority (LCP), including: for each of the at least two logical channels, determining the number of data packets to be reused based on the logical channel priority bit rate (PBR), the number of tokens available in the token bucket (Bj), and the unit data packet size (Tsdu).
2. The method according to claim 1, characterized in that, The MAC entity determines the number of RLC PDUs based on Logical Channel Priority (LCP) and at least one of the following: uplink resource size and channel quality.
3. The method according to claim 2, characterized in that, For each of the at least two logical channels, determining the number of data packets to be multiplexed based on the priority bit rate PBR of the logical channel, the number of available tokens in the token bucket Bj, and the unit data packet size Tsdu includes: For each of the at least two logical channels, the MAC entity performs the following steps: The values of N and M are determined by the following formulas: N = FLOOR(PBR*T / Tsdu) + 1, M = FLOOR(Bj / Tsdu); where FLOOR represents rounding down, PBR represents the priority bit rate of the logical channel, T represents the time interval between the current time and the last scheduling time, Tsdu represents the size of a unit data packet, and Bj represents the number of available tokens in the token bucket corresponding to the logical channel. Compare whether Bj is greater than 0; if Bj>0, then multiplex the data packets of the logical channel into the MAC PDU; if Bj≤0, then do not multiplex the data packets of the logical channel. Compare the values of M and N; if MN > 0, then multiplex the N data packets of the logical channel into the MAC PDU; otherwise, multiplex the M data packets of the logical channel into the MAC PDU.
4. The method according to claim 2, characterized in that, For each of the at least two logical channels, determining the number of data packets to be multiplexed based on the priority bit rate PBR of the logical channel, the number of available tokens in the token bucket Bj, and the unit data packet size Tsdu includes: For each of the at least two logical channels, the MAC entity performs the following steps: The values of N and M are determined by the following formulas: N = FLOOR(PBR*T / Tsdu) -X + 1, M = FLOOR(Bj / Tsdu); where FLOOR represents rounding down, PBR represents the priority bit rate of the logical channel, T represents the time interval between the current time and the start time of data transmission, Tsdu represents the size of a unit data packet, X represents the number of data packets transmitted by the logical channel, and Bj represents the number of available tokens in the token bucket corresponding to the logical channel. Compare whether Bj is greater than 0; if Bj>0, then multiplex the data packets of the logical channel into the MAC PDU; if Bj≤0, then do not multiplex the data packets of the logical channel. Compare the values of M and N; if MN > 0, then multiplex the N data packets of the logical channel into the MAC PDU; otherwise, multiplex the M data packets of the logical channel into the MAC PDU.
5. The method according to claim 1, characterized in that, The at least two logical channels are associated using coded identifiers.
6. The method according to claim 5, characterized in that, The encoded identifier is represented by the Logical Channel Identifier (LCID) or the Extended Logical Channel Identifier (eLCID).
7. The method according to claim 1, characterized in that, For each of the at least two logical channels corresponding to an RLC entity, the RLC entity segments the data packets based on one of the following configurations: The first configuration is used to configure the segment size; The second configuration is used to configure the correspondence between channel quality level and segment size or the correspondence between channel quality and segment size.
8. The method according to claim 7, characterized in that, For the case where the RLC entity segments the data packet based on the second configuration. The MAC entity indicates the channel quality or channel quality level to the RLC entity. The channel quality or channel quality level is used by the RLC entity to determine the corresponding segment size in conjunction with the second configuration and to segment the data packet based on the segment size.
9. The method according to claim 7, characterized in that, For cases where the RLC entity segments data packets based on the first configuration, the method further includes: The MAC entity indicates a first segment size to the RLC entity, the first segment size being the adjusted segment size.
10. The method according to claim 9, characterized in that, The method further includes: The MAC entity indicates the activation time after the segment size adjustment to the RLC entity.
11. The method according to claim 7, characterized in that, The first configuration and / or the second configuration are configured by the network via RRC messages, wherein the second configuration information includes the segment size corresponding to different channel quality levels or the segment size corresponding to different channel qualities.
12. The method according to any one of claims 1 to 11, characterized in that, The method further includes: The MAC entity performs network encoding on the MAC Service Data Unit (SDU) to be retransmitted based on the retransmission strategy; The retransmission strategy includes at least one of the following: step size for increasing the number of encoded data packets, multiplier for increasing the number of encoded data packets, selectable range for the number of encoded data packets, selectable range for the number of encoded data packets corresponding to the number of retransmissions, step size for increasing the number of sub-data packet repetitions, multiplier for increasing the number of sub-data packet repetitions, selectable range for the number of sub-data packet repetitions, and selectable range for the number of sub-data packet repetitions corresponding to the number of retransmissions.
13. A data transmission device, characterized in that, A MAC entity applied to a communication device, the device comprising: A receiving unit is used to acquire data from at least two logical channels; An encoding unit is used to encode the data of the at least two logical channels; The transmitting unit is used to transmit encoded data; The instruction unit is used to instruct the Radio Link Layer Control (RLC) entity corresponding to the at least two logical channels to the number of RLC Protocol Data Units (PDUs) to be submitted, or to instruct the RLC entity to the channel quality. Wherein, when the MAC entity indicates to the RLC entity the number of RLC PDUs to be submitted, the MAC entity determines the number of RLC PDUs based on the Logical Channel Priority (LCP); The MAC entity determines the number of RLC PDUs based on the logical channel priority (LCP), including: for each of the at least two logical channels, determining the number of data packets to be reused based on the logical channel priority bit rate (PBR), the number of tokens available in the token bucket (Bj), and the unit data packet size (Tsdu).
14. A communication device, characterized in that, include: A processor and a memory for storing a computer program, the processor for calling and running the computer program stored in the memory to perform the method as described in any one of claims 1 to 12.
15. A chip, characterized in that, Includes: a processor for retrieving and running a computer program from memory, causing a device on which the chip is mounted to perform the method as described in any one of claims 1 to 12.
16. A computer-readable storage medium, characterized in that, Used to store a computer program that causes a computer to perform the method as described in any one of claims 1 to 12.
Citation Information
Patent Citations
Data transmission methods, terminal equipment and network equipment
CN109547168A