Data transmission method and communication device
By distributing XR PDU sets to distinct protocol entities and adjusting priorities, the method reduces resource overhead and ensures efficient data recovery in XR video transmission.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2023-06-30
- Publication Date
- 2026-05-08
AI Technical Summary
In extended reality (XR) video transmission, the need to carry frame numbers with each protocol data unit (PDU) results in high resource overhead, as losing a specific proportion of PDUs makes it impossible to restore a complete frame without knowing the frame to which the received PDU belongs.
A data transmission method that distributes k consecutive PDU sets to m protocol entities in a sequence, ensuring each PDU set is assigned to a distinct entity, allowing the receiver to infer the set without needing explicit frame number transmission, and adjusts priorities to ensure transmission efficiency.
This method reduces resource overhead by eliminating the need to transmit PDU set numbers over the air interface, ensuring efficient data recovery while optimizing resource allocation and usage.
Smart Images

Figure 0007855787000009 
Figure 0007855787000010 
Figure 0007855787000011
Abstract
Description
Technical Field
[0001] This application claims the priority of Chinese Patent Application No. 202210948232.4, titled "Data Transmission Method and Communication Device", filed with the China National Intellectual Property Administration on August 5, 2022, the entire content of which is incorporated herein by reference.
[0002] This application relates to the field of communications, and in particular, to a data transmission method and a communication device.
Background Art
[0003] Extended reality (XR) includes many virtual reality technologies such as virtual reality (VR), augmented reality (AR), and mediated reality (MR). Each frame of the picture of an XR video is actually divided into dozens to hundreds of protocol data units (PDUs) for transmission. As long as a specific proportion (for example, 80%) of the PDUs is received normally, a complete frame can be restored. In other words, if more than a specific proportion (for example, 20%) of the PDUs is lost, it is impossible to restore a complete frame even if all the remaining PDUs are received correctly. Therefore, in order to restore a complete frame, the receiving side needs to know the frame of the picture to which the received PDU belongs. One solution is for the transmitting side to send a frame number to the receiving side, and the receiving side knows the frame to which the received PDU belongs based on the received frame number.
[0004] However, since the frame number needs to be carried when each PDU is transmitted, a high resource overhead occurs.
Summary of the Invention
Means for Solving the Problems
[0005] This application provides a data transmission method and communication device for reducing resource overhead while ensuring that the receiving end can know which PDU set a PDU belongs to.
[0006] According to the first aspect, a data transmission method is provided. This method transmits k consecutive PDU sets to m protocol entities in a first sequence. sequential The steps to be delivered and k PDU sets sequential The transmission step includes, when k > m, km consecutive PDU sets starting from the (m+1)th PDU set out of k PDU sets are sent to m protocol entities in the first sequence. sequential The m protocol entities are distributed, and their priorities are distinct from each other, with k ≥ 1 and m > 1.
[0007] In one implementation, the first sequence is a polling sequence of the first to m-th protocol entities out of m protocol entities, or the first sequence is a placement sequence of m protocol entities, or the m protocol entities are placed in the first sequence.
[0008] In one implementation, k consecutive PDU sets are assigned to m protocol entities in the first sequence. sequential The distribution step includes distributing the q-th PDU set out of k PDU sets to the v-th protocol entity out of m protocol entities. If q mod m ≠ 0, then v = q mod m, or if q mod m = 0, then v = m, where mod represents the modulo operation.
[0009] According to the data transmission method provided in this application, a PDU set is distributed to m protocol entities in a polling manner in a sequence of PDU sets. Only one PDU set is distributed to one protocol entity at a time, and the sender transmits the PDU sets in sequence, while the receiver receives the PDU sets in the protocol entities corresponding to the sender's protocol entities. Therefore, the PDU set numbers do not need to be transmitted through the air interface, and the receiver can also know the PDU set to which each transmitted, transmitted, or received PDU belongs, so that air interface resources can be saved.
[0010] In some implementations of the first embodiment, k sets of PDUs sequential The sending step involves using the sending resource to send k sets of PDUs sequential The process includes the steps of sending data and adjusting the priority of m protocol entities if the current sending resources are exhausted or fall below a first preset value.
[0011] After the priorities of m protocol entities are adjusted, the unsent PDU sets continue to be sent.
[0012] In some implementations of the first embodiment, the step of adjusting the priority of m protocol entities when the current transmission resources are depleted or fall below a first preset value includes the step of adjusting the priority of the protocol entity corresponding to the s-th PDU set to the highest level when the current transmission resources are insufficient to fully transmit the s-th PDU set out of k PDU sets, or the step of adjusting the priority of the protocol entity corresponding to the (s+1)-th PDU set to the highest level when the current transmission resources are used to fully transmit the s-th PDU set but are insufficient to transmit the (s+1)-th PDU set.
[0013] Based on this solution, after obtaining the sending resources again, the receiving side will find that the PDU set is sequential To ensure transmission, you may first send the remaining PDUs from the previously sent s-th PDU set, or you may send the (s+1)-th PDU set.
[0014] In addition to the optional step of adjusting the priority of the protocol entity corresponding to the s-th set of PDUs to the highest level, the priorities of the other m-1 protocol entities among the m protocol entities may also be adjusted.
[0015] For example, when [j+(ab)+m]mod m≠0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the ([j+(ab)+m]mod m)-th protocol entity out of m protocol entities. When [j+(ab)+m]mod m=0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the m-th protocol entity out of m protocol entities. The a-th protocol entity out of m protocol entities is used to carry the s-th PDU set, and before adjustment, the b-th protocol entity out of m protocol entities is the protocol entity with the highest priority among the m protocol entities, such that 1≦a≦m and 1≦b≦m.
[0016] In addition to the optional step of adjusting the priority of the protocol entity corresponding to the (s+1)th PDU set to the highest, the priorities of the other m-1 protocol entities among the m protocol entities may also be adjusted.
[0017] For example, when [j+(ab)+m]mod m≠0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the ([j+(ab)+m]mod m)-th protocol entity out of m protocol entities. When [j+(ab)+m]mod m=0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the m-th protocol entity out of m protocol entities. The a-th protocol entity out of m protocol entities is used to carry the (s+1)-th PDU set, and before adjustment, the b-th protocol entity out of m protocol entities is the protocol entity with the highest priority among the m protocol entities, such that 1≦a≦m and 1≦b≦m.
[0018] In some implementations of the first embodiment, k sets of PDUs sequential The transmission step includes a step of adjusting the priority of m protocol entities after each set of PDUs has been fully transmitted. The unadjusted priority of m protocol entities is: in order The m1, m2, ..., and mm are the adjusted priorities of the m protocol entities, in order The order is mm, m1, ..., and m(m-1), where m1 has the highest priority among m1 to mm, and mm has the lowest priority among m1 to mm.
[0019] In other words, when 2 ≤ j ≤ m, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the (j-1)-th protocol entity out of m protocol entities. When j = 1, the adjusted priority of the 1st protocol entity out of m protocol entities is the unadjusted priority of the m-th protocol entity out of m protocol entities.
[0020] Before adjustment, the protocol entity corresponding to the transmitted PDU set has the highest priority, and after adjustment, the protocol entity corresponding to the PDU set to be transmitted has the highest priority. Thereby, it can be ensured that the PDU set is sequential transmitted.
[0021] In some implementations of the first aspect, the method further includes a step of discarding PDUs that are not normally transmitted among the w-th PDU set when the w-th PDU set among the k PDU sets is invalid, where w≥1.
[0022] In some implementations of the first aspect, it may further include a step of discarding at least one PDU set. The at least one PDU set is the (w + 1)-th PDU set to the (w + e)-th PDU set, where e≥1, the at least one PDU set is of the first type, is associated with the w-th PDU set, both the w-th PDU set and the (w + e + 1)-th PDU set are of the second type, and the first type is different from the second type.
[0023] Based on this solution, some PDU sets associated with the invalid PDU set are discarded so that transmission resources can be saved without affecting data recovery on the receiving side.
[0024] In some implementation forms of the first aspect, the first type is a P-frame, and the second type is not a P-frame. Alternatively, the first type is a P-slice, and the second type is not a P-slice. Alternatively, the first type is a set of PDUs that can be discarded, and the second type is a set of PDUs that cannot be discarded. Alternatively, the first type is a set of PDUs that are not important, and the second type is a set of important PDUs. Alternatively, the first type is a set of PDUs that carry video data, and the second type is a set of PDUs that carry audio data. Alternatively, the first type is a set of PDUs that carry non-control information, and the second type is a set of PDUs that carry control information. Alternatively, the first type is a set of PDUs with a lower priority, and the second type is a set of PDUs with a higher priority. Alternatively, the first type is a dependent set of PDUs, and the second type is a dependent-on set of PDUs.
[0025] In some implementation forms of the first aspect, the protocol entity is any one of a packet data convergence protocol (PDCP) entity, a radio link control (RLC) entity, a service data adaption protocol (SDAP) entity, or a medium access control (MAC) entity.
[0026] In some implementation forms of the first aspect, m ≥ x, and x is determined based on any one of the period of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.
[0027] In some implementation forms of the first aspect,
Number
number
[0028] Based on this solution, the number of protocol entities is set appropriately so that any protocol entity always has only one PDU set and that PDUs from two PDU sets are not mixed. Since the m protocol entities used by the receiver correspond one-to-one with the m protocol entities of the sender, the receiver can infer the number of the PDU set based on the protocol entity for receiving the PDU set. In this way, the number of the PDU set does not need to be transmitted over the air interface, which can save air interface resources.
[0029] In some implementations of the first aspect, the priority of a protocol entity is the priority of a first resource associated with the protocol entity, the first resource including one or more of the following: a logical channel, a logical channel group, a slice, a frequency, a data radio bearer (DRB), a quality of service (QoS) flow, a PDU session, or a General-Purpose Packet Radio Service Tunneling Protocol (GPRS Tunnelling Protocol for the user plane, GTP-U) tunnel.
[0030] For example, m protocol entities are associated with m logical channels, one protocol entity is associated with one logical channel, and any two protocol entities are associated with different logical channels. In addition, one of the m logical channels is a logical channel group.
[0031] In uplink transmission, when a terminal device has packets to transmit, it may use a buffer status report (BSR) to report the current amount of data to transmit in the buffer to a network device. The BSR trigger condition is the generation of new data to transmit, and the logical channel to which the data to transmit belongs is the first logical channel in the logical channel group to which the logical channel belongs that has the data to transmit. In this application, each protocol entity is associated with one logical channel group, and a single protocol entity carries only one set of PDUs at a time. Therefore, a BSR is triggered whenever a new set of PDUs arrives at a protocol entity or logical channel group.
[0032] Therefore, based on the aforementioned solution, BSR can be reported at the PDU set granularity without changing the BSR trigger conditions or trigger mechanism. Furthermore, network devices can know the amount of data to be transmitted within each PDU set based on the BSR report at the PDU set granularity in order to appropriately allocate transmission resources to the PDU sets.
[0033] According to the second aspect, k consecutive protocol data unit sets (PDU sets) sequential The receiving step and the k PDU sets to m protocol entities in the first sequence. sequential A data transmission method is provided that includes the steps for distribution. When k > m, km consecutive PDU sets, starting with the (m+1)th PDU set out of k PDU sets, are sent to m protocol entities in the first sequence. sequential The m protocol entities are distributed, and their priorities are different from each other, with m > 1.
[0034] In one implementation, the first sequence is a polling sequence of the first to m-th protocol entities out of m protocol entities, or the first sequence is a placement sequence of m protocol entities, or the m protocol entities are placed in the first sequence.
[0035] In one implementation, k consecutive PDU sets are assigned to m protocol entities in the first sequence. sequential The distribution step includes distributing the q-th PDU set out of k PDU sets to the v-th protocol entity out of m protocol entities. If q mod m ≠ 0, then v = q mod m, or if q mod m = 0, then v = m, where mod represents the modulo operation.
[0036] According to the data transmission method provided in this application, a PDU set is distributed to m protocol entities in a polling manner in a sequence of PDU sets. Only one PDU set is distributed to one protocol entity at a time, and the sender transmits the PDU sets in sequence, while the receiver receives the PDU sets in the protocol entities corresponding to the sender's protocol entities. Therefore, the PDU set numbers do not need to be transmitted through the air interface, and the receiver can also know the PDU set to which each transmitted, transmitted, or received PDU belongs, so that air interface resources can be saved.
[0037] In some implementations of the second aspect, the protocol entity is one of the following: a PDCP entity, an RLC entity, an SDAP entity, or a MAC entity.
[0038] In some implementations of the second embodiment, m ≥ x, where x is determined based on one of the following: the period of the PDU set, the validity period of the PDU set, or the maximum duration of the PDU set.
[0039] In some implementations of the second embodiment,
number
number
[0040] Based on this solution, the number of protocol entities is set appropriately so that any protocol entity always has only one PDU set and that PDUs from two PDU sets are not mixed. Since the m protocol entities used by the receiver correspond one-to-one with the m protocol entities of the sender, the receiver can infer the number of the PDU set based on the protocol entity for receiving the PDU set. In this way, the number of the PDU set does not need to be transmitted over the air interface, which can save air interface resources.
[0041] In some implementations of the second aspect, the priority of a protocol entity is the priority of a first resource associated with the protocol entity, the first resource including one or more of the following: a logical channel, a logical channel group, a slice, a frequency, a data radio bearer DRB, a quality of service flow (QoS flow), a PDU session, or a General-Purpose Packet Radio Service Tunneling Protocol (GPRS Tunnelling Protocol for the user plane, GTP-U) tunnel.
[0042] For example, m protocol entities are associated with m logical channels, one protocol entity is associated with one logical channel, and any two protocol entities are associated with different logical channels. In addition, one of the m logical channels is a logical channel group.
[0043] In uplink transmission, when a terminal device has packets to transmit, it may use a buffer status report (BSR) to report the current amount of data to transmit in the buffer to a network device. The current protocol specifies that the BSR trigger condition is the generation of new data to transmit, and that the logical channel to which the data to transmit belongs is the first logical channel in the logical channel group to which the logical channel belongs that has the data to transmit. In this application, each protocol entity is associated with one logical channel group, and a single protocol entity carries only one set of PDUs at a time. Therefore, a BSR is triggered whenever a new set of PDUs arrives at a protocol entity or logical channel group.
[0044] Therefore, based on the aforementioned solution, BSR can be reported at the PDU set granularity without changing the BSR trigger conditions or trigger mechanism. Furthermore, network devices can know the amount of data to be transmitted within each PDU set based on the BSR report at the PDU set granularity in order to appropriately allocate transmission resources to the PDU sets.
[0045] According to a third aspect, a communication device is provided, which includes a module or unit configured to perform any one of the methods of the first aspect or any possible implementation of the first aspect.
[0046] According to a fourth aspect, a communication device is provided, which includes a module or unit configured to perform any one of the methods of the second aspect or any possible implementation of the second aspect.
[0047] According to a fifth aspect, a communication device is provided, which includes a processor. The processor is coupled to a memory, the memory is configured to store computer programs or instructions, and the processor is configured to execute the computer programs or instructions stored in the memory in order to carry out one of the first aspects or any possible implementations thereof.
[0048] In one possible implementation, the device further includes memory coupled to the processor.
[0049] One possible implementation configuration includes one or more processors and / or one or more memory.
[0050] In one possible implementation, the memory and processor may be integrated, or they may be located separately.
[0051] In one possible implementation, the device further includes a communication interface, and the processor is coupled to the communication interface.
[0052] In one implementation, the device is the transmitter. For example, the communication interface may be a transceiver or an input / output interface.
[0053] In another implementation, the device is the transmitting chip. For example, the communication interface may be an input / output interface.
[0054] According to a sixth aspect, a communication device is provided, which includes a processor. The processor is coupled to a memory, the memory is configured to store computer programs or instructions, and the processor is configured to execute the computer programs or instructions stored in the memory in order to carry out a method of the second aspect or any one of the possible implementations of the second aspect.
[0055] In one possible implementation, the device further includes memory coupled to the processor.
[0056] One possible implementation configuration includes one or more processors and / or one or more memory.
[0057] In one possible implementation, the memory and processor may be integrated, or they may be located separately.
[0058] In one possible implementation, the device further includes a communication interface, and the processor is coupled to the communication interface.
[0059] In one implementation, the device is the receiving end. For example, the communication interface may be a transceiver or an input / output interface.
[0060] In another implementation, the device is the receiving chip. For example, the communication interface may be an input / output interface.
[0061] According to a seventh aspect, a processor is provided which includes an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, in order to enable the processor to perform any one of the first aspect or any one of the possible implementations of the first aspect, or any one of the second aspect or any one of the possible implementations of the second aspect.
[0062] In a specific implementation process, the processor may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, gate circuit, trigger, various logic circuits, etc. The input signal received by the input circuit may be received and input by a receiver, for example, but is not limited to this, and the signal output by the output circuit may be output and transmitted by a transmitter, for example, but is not limited to this, and the input circuit and output circuit may be the same circuit, and the circuit may be used as an input circuit and an output circuit at different times. The specific implementation forms of the processor and various circuits are not limited in this application.
[0063] According to the eighth aspect, a communication system is provided, which includes communication equipment provided in the third and fourth aspects, or communication equipment provided in the fifth and sixth aspects.
[0064] According to the ninth aspect, a computer program product is provided. The computer program product includes a computer program (or code or instructions). When the computer program is executed, the computer becomes capable of performing any one of the first aspect or possible implementations of the first aspect, or any one of the second aspect or possible implementations of the second aspect.
[0065] According to the tenth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program (or code or instructions). When the computer program is executed on the computer, the computer becomes capable of executing one of the first aspects or possible implementations of the first aspect, or one of the second aspects or possible implementations of the second aspect. [Brief explanation of the drawing]
[0066] [Figure 1]This is a diagram illustrating an example of a communication system according to one embodiment of this application. [Figure 2] This is a diagram showing another example of a communication system according to one embodiment of the present application. [Figure 3] This is a schematic flowchart of a data transmission method according to one embodiment of this application. [Figure 4] This is a diagram illustrating an example of the correspondence between a PDU set and a protocol entity according to one embodiment of this application. [Figure 5] This figure shows another example of the correspondence between a PDU set and a protocol entity according to one embodiment of this application. [Figure 6] This figure shows an example of the correspondence between a transmitting protocol entity and a receiving protocol entity according to one embodiment of the present application. [Figure 7] This figure shows an example of the delivery of a PDU set in the time domain according to one embodiment of this application. [Figure 8] This figure shows another example of the delivery of a PDU set in the time domain according to one embodiment of the present application. [Figure 9] This figure shows an example of a step for adjusting the priority of protocol entities according to one embodiment of the present application. [Figure 10] This is a diagram illustrating an example of dependencies between PDU sets according to one embodiment of this application. [Figure 11] This is a block diagram of an example of a communication device according to one embodiment of this application. [Figure 12] This is a block diagram of another example of a communication device according to one embodiment of this application. [Figure 13] This is a diagram showing the structure of an example of a terminal device according to one embodiment of this application. [Figure 14] This is a diagram showing the structure of an example of a network device according to one embodiment of this application. [Modes for carrying out the invention]
[0067] The following describes the technical solutions in the embodiments of this application with reference to the accompanying drawings.
[0068] In the description of this application, unless otherwise specified, " / " indicates that the related subjects are in an "or" relationship. For example, A / B can represent A or B. The term "and / or" in this application describes only the relationship in order to describe the related subjects, and indicates that there may be three relationships. For example, A and / or B can represent the following three cases: the case where only A exists, the case where both A and B exist, and the case where only B exists. Each of A and B may be singular or plural. In addition, in the description of this application, "plural" means two or more. "At least one of the following items" or similar expressions means any combination of these items, including any single item or any combination of multiple items. For example, at least one item of a, b, or c may represent a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural. In addition, in order to clearly illustrate the technical solutions of the embodiments of this application, terms such as “first” and “second” are used in the embodiments of this application to distinguish the same or similar items having essentially the same function or purpose. Those skilled in the art will understand that terms such as “first” and “second” do not limit the number or execution sequence, and that terms such as “first” and “second” do not indicate a clear distinction.
[0069] In this application, please understand that phrases similar to "in the case of...", "when...", and "if..." may be used interchangeably.
[0070] The technical solutions of the embodiments of this application can be applied to various communication systems, such as long-term evolution (LTE) systems, fifth-generation (5G) mobile communication systems, new radio (NR) mobile communication systems, and other mobile communication systems that may emerge in the future.
[0071] For example, the technical solutions of the embodiments of this application may be applied to uplink communication, downlink communication, and vehicle-to-everything (V2X) scenarios. For example, V2X may specifically be any one of vehicle-to-vehicle (V2V) communication, vehicle-to-pedestrian (V2P) communication, vehicle-to-network (V2N) service, or vehicle-to-infrastructure (V2I) communication.
[0072] When the method provided in this application is an uplink (UL) transmission (or uplink communication) scenario, the transmitting side of this application corresponds to a terminal device and the receiving side corresponds to a network device. For example, the transmitting side may be a terminal device, a chip configured in a terminal device, or a module configured in a terminal device, and the receiving side may be a network device, a chip configured in a network device, or a module configured in a network device.
[0073] When the method provided in this application is a downlink (DL) transmission (or downlink communication) scenario, the transmitting side of this application corresponds to a network device and the receiving side corresponds to a terminal device. For example, the transmitting side may be a network device, a chip configured in a network device, or a module configured in a network device, and the receiving side may be a terminal device, a chip configured in a terminal device, or a module configured in a terminal device.
[0074] When the method provided in this application is applied to a V2X scenario, the transmitter of this application corresponds to one terminal device and the receiver corresponds to the other terminal device. For example, both the transmitter and receiver may be terminal devices, chips configured in terminal devices, or modules configured in terminal devices. In addition, the two terminal devices may be of the same type or different types. For example, both terminal devices may be mobile phones, or one may be a mobile phone and the other a notebook computer.
[0075] In embodiments of this application, a terminal device may be a user device (UE), station, access terminal, subscriber unit, subscriber station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user equipment. Alternatively, a terminal device may be a mobile phone, cordless phone, session initiation protocol (SIP) phone, 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 future 5G network, terminal device in a future evolved public land mobile network (PLMN), etc. This is not limited to embodiments of this application.
[0076] The network device in the embodiments of this application may be a device configured to communicate with a terminal device. For example, the network device may be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system, or an access point (AP) in a WiFi system. Alternatively, the network device may be a module or unit that completes part of the functionality of a base station, for example, a central unit (CU) or a distributed unit (DU). In yet another example, the network device may be a radio controller in a cloud radio access network (CRAN) scenario, a relay station in another future advanced communication system, an access point, an in-vehicle device, a wearable device, or an access network device. The specific technologies and device forms used by the network device are not limited in this application.
[0077] In embodiments of this application, a terminal device or network device includes a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also called main memory). The operating system may be one or more computer operating systems that implement service processing using processes, for example, a Linux® operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. The application layer includes applications such as a browser, an address book, document processing software, and instant messaging software. In addition, the specific structure of the executable of the method provided in embodiments of this application is not particularly limited in embodiments of this application, insofar as a program that records the code of the method provided in embodiments of this application can be executed to communicate according to the method provided in embodiments of this application. For example, the method provided in embodiments of this application may be executed by a terminal device or network device, or by a functional module that can call and execute a program on the terminal device or network device.
[0078] In addition, aspects or features of this application may be implemented as methods, apparatus, or products using standard programming and / or engineering techniques. As used in this application, the term “product” includes computer programs that can be accessed from any computer-readable component, carrier, or medium. For example, computer-readable medium may include, but is not limited to, magnetic storage components (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact discs (CDs), or digital versatile discs (DVDs)), smart cards, and flash memory components (e.g., erasable programmable read-only memory (EPROM), cards, sticks, or key drives). In addition, the various storage media described herein may represent one or more devices and / or other machine-readable media configured to store information. The term “machine-readable medium” may include, but is not limited to, wireless channels, as well as various other media that can store, contain, and / or carry instructions and / or data.
[0079] Figure 1 is a block diagram of a communication system applicable to this application. As shown in Figure 1, the communication system 100 may include at least one network device, for example, the network device 110 shown in Figure 1. The communication system 100 may further include at least one terminal device, for example, the terminal device 120 shown in Figure 1. Signals can be transmitted between the network device 110 and the terminal device 120. The transmission of a signal by the network device 110 to the terminal device 120 is called downlink transmission, and the transmission of a signal by the terminal device 120 to the network device 110 is called uplink transmission.
[0080] Please understand that when the communication method in this application is applied to the communication system shown in Figure 1, in the uplink transmission scenario, the transmitting side may be terminal device 120 and the receiving side may be network device 110, and in the downlink transmission scenario, the transmitting side may be network device 110 and the receiving side may be terminal device 120.
[0081] Figure 2 is a diagram of another communication system applicable to this application. System 200 shown in Figure 2 is a V2X communication architecture. Please refer to Figure 2. System 200 includes two types of communication interfaces, namely the PC5 interface and the Uu interface. The PC5 interface is a direct communication interface between two terminal devices (e.g., terminal devices 210 and 220 shown). A direct communication link between terminal devices is also defined as a sidelink or sidelink (SL). Uu interface communication is a communication mode in which a transmitting terminal device (e.g., terminal device 210) sends V2X data to a network device 230 through the Uu interface, the network device 230 sends the V2X data to an application server 240 for processing, the application server 240 delivers the processed V2X data to the network device 230, and the network device 230 sends the processed V2X data to a receiving terminal device (e.g., terminal device 220). In Uu interface communication mode, the network device that transfers uplink data from the transmitting terminal device to the application server, and the network device that transfers downlink data distributed by the application server to the receiving terminal device, may be the same network device or may be different network devices. This can be specifically determined by the application server. Please understand that sending data from the transmitting terminal device to a network device is called uplink (UL) transmission, and sending data from the network device to a receiving terminal device is called downlink (DL) transmission.
[0082] Please understand that when the communication method in this application is applied to the communication system shown in Figure 2, the transmitting side may be terminal device 210 and the receiving side may be terminal device 220, or the transmitting side may be terminal device 220 and the receiving side may be terminal device 210.
[0083] It should be further understood that the communication systems shown in Figures 1 and 2 may further include more network nodes, such as more terminal devices or network devices. Network nodes are not shown individually in the drawings in the embodiments of this application.
[0084] Before describing in detail the methods provided in this application, some concepts will be briefly explained below.
[0085] 1. PDU and Packets In this application, PDU and packet may be interchangeable, and PDU may also be called packet.
[0086] 2. PDU Set A single frame (or single picture frame) contains one or more PDUs, and one or more PDUs can be called a PDU set. Therefore, a PDU set can also be understood as a frame.
[0087] PDU sets are periodic. For example, the frame rate is 60fps, meaning 60 PDU sets are sent per second. The period of a PDU set is 1 / 60th of a second (approximately equal to 16.67ms), meaning one PDU set appears every 1 / 60th of a second. fps stands for frames per second.
[0088] In addition, a PDU set has a transmission delay requirement. For example, the packet delay budget (PDB) can represent the transmission delay requirement of a PDU set. For instance, the PDB is assumed to be 30ms. In this case, if the PDU set is not successfully transmitted to the receiver within 30ms, the sender may discard the PDU set and is not required to send the unsuccessfully transmitted PDUs within the set back to the sender.
[0089] The method embodiments provided in this application will be described in detail below.
[0090] Figure 3 is a schematic flowchart of the data transmission method according to this application. Method 300 may include S310 to S330.
[0091] S310: The sender sends k consecutive PDU sets to m protocol entities in a first sequence. sequential I will stream it.
[0092] When k > m, the km consecutive PDU sets, starting with the (m+1)th PDU set out of the k PDU sets, are used to form m protocol entities in the first sequence. sequential The m protocol entities are distributed. The priorities of the m protocol entities are different from each other, and m > 1. For example, the first sequence is a polling sequence of the first to m protocol entities out of the m protocol entities, or the first sequence is a placement sequence of the m protocol entities, or the m protocol entities are placed in the first sequence.
[0093] In one implementation, k consecutive PDU sets are assigned to m protocol entities in the first sequence. sequentialThe distribution step includes distributing the q-th PDU set out of k PDU sets to the v-th protocol entity out of m protocol entities. If q mod m ≠ 0, then v = q mod m, or if q mod m = 0, then v = m, where mod represents the modulo operation.
[0094] S310 is illustrated using an example where m=3. Specifically, the sender may deliver the first PDU set to the first protocol entity, the second PDU set to the second protocol entity, and the third PDU set to the third protocol entity. After polling of the three protocol entities is complete, the delivery of PDU sets continues, starting from the first protocol entity. Specifically, the fourth PDU set is delivered to the first protocol entity, the fifth PDU set to the second protocol entity, and the sixth PDU set to the third protocol entity. Similarly, after polling of the three protocol entities is complete, the delivery of subsequent PDU sets continues, starting from the first protocol entity. Specifically, the seventh PDU set is delivered to the first protocol entity, and so on.
[0095] For example, suppose there are k PDU sets, namely PDU set 1 and PDU set 2, with PDU set 1 being number 1 and PDU set 2 being number 2, and m protocol entities, namely protocol entity 1, protocol entity 2, and protocol entity 3. See Figure 4. Based on the frame numbers of the PDU sets, the sender can deliver PDU set 1 to protocol entity 1 and PDU set 2 to protocol entity 2.
[0096] As another example, suppose there are k PDU sets, numbered 1 through 10, and m protocol entities, numbered 1 through 10. See Figure 5. Based on the PDU set numbers, the sender can deliver PDU sets 1, 4, 7, and 10 to protocol entity 1, PDU sets 2, 5, and 8 to protocol entity 2, and PDU sets 3, 6, and 9 to protocol entity 3.
[0097] For example, the PDU set number may be carried by a PDU within the PDU set, or may be indicated in another way. For example, the PDU set number may be indicated by a control plane packet, or the PDU set number may be indicated by a PDU carrying the PDU set number. The control plane packet or PDU may be, for example, a start marker / end marker. The method by which a protocol entity obtains the PDU set number is not limited in this application. In addition, it should be understood that the PDU set number may be replaced by information such as a PDU set index or sequence number that can indicate a PDU sequence. Information that can indicate a PDU sequence, for example, the PDU set number, may start from 1, or from another number, for example, from 0, or from a number obtained by adding 1 to the number of the last PDU set of the previous XR service.
[0098] In some embodiments, k sets of PDUs correspond to the same XR service.
[0099] In some embodiments, the protocol entity may be one of the following: a PDCP entity, an RLC entity, an SDAP entity, or a MAC entity.
[0100] In some embodiments, delivering a PDU set to a protocol entity may also be described as storing the PDU set in a cache / window / queue / buffer / memory / storage / register / storage space corresponding to the protocol entity corresponding to the PDU set.
[0101] S320: The sender sends k sets of PDUs sequential Send. In response, the receiving side sends k PDU sets. sequential Receive.
[0102] In other words, the sender transmits k PDU sets in a sequence of k PDU sets. For example, if the k PDU sets are PDU sets 1 through 10 shown in Figure 5, then PDU set 1 is transmitted first, followed by PDU set 2, then PDU sets 3, 4, ..., 9, and 10. Correspondingly, the receiver receives PDU set 1 first, then PDU set 2, then PDU sets 3, 4, ..., 9, and 10.
[0103] In some embodiments, one set of PDUs is transmitted completely first, followed by another set of PDUs. For example, the prioritized bit rate (PBR) of a logical channel associated with a protocol entity can be set to infinity. This ensures that PDUs within a protocol entity are scheduled only after PDUs in another protocol entity have been scheduled.
[0104] In this application, sequential It should be noted that this means all PDUs in a set of PDUs are processed, and then the PDUs in the next set of PDUs are processed. However, the sequence and subsequent sequentialThe processing (internal distribution on the sender, transmission on the sender, and internal distribution on the receiver) may differ. Specifically, the first sequence of distributions may differ from the transmission sequence. During transmission, the PDU set in the protocol entity with the highest priority may be transmitted first.
[0105] S330: The receiving side sends k sets of PDUs to m protocol entities in the first sequence. sequential I will stream it.
[0106] The m protocol entities on the receiving side correspond one-to-one with the m protocol entities on the transmitting side. For example, see Figure 6. Protocol entity 1 on the transmitting side corresponds to protocol entity 1 on the receiving side, protocol entity 2 on the transmitting side corresponds to protocol entity 2 on the receiving side, and protocol entity 3 on the transmitting side corresponds to protocol entity 3 on the receiving side. After receiving a PDU set sent by the transmitting side on protocol entity 1 on the transmitting side, the receiving side distributes the PDU set to protocol entity 1 on the receiving side. After receiving a PDU set sent by the transmitting side on protocol entity 2 on the transmitting side, the receiving side distributes the PDU set to protocol entity 2 on the receiving side. After receiving a PDU set sent by the transmitting side on protocol entity 3 on the transmitting side, the receiving side distributes the PDU set to protocol entity 3 on the receiving side.
[0107] S330 is illustrated using an example where k PDU sets are PDU set 1 through PDU set 10, and the protocol entity is a PDCP entity. In S330, the transmitting RLC layer sends PDCP set 1, PDU set 4, PDU set 7, and PDU set 10 to the MAC layer. sequentialThe MAC layer processes each PDU set after receiving it, and then distributes the processed PDU sets to the receiving PDCP entity 1. PDCP entity 1 processes PDCP set 1, PDU set 4, PDU set 7, and PDU set 10 separately, which were processed by the RLC layer. Similarly, the transmitting RLC layer receives PDCP set 2, PDU set 5, and PDU set 8 from the MAC layer. sequential The MAC layer receives each PDU set, processes them, and then delivers the processed PDU sets to the receiving PDCP entity 2. PDCP entity 2 processes PDCP set 2, PDU set 5, and PDU set 8 separately, which were processed by the RLC layer. The transmitting RLC layer receives PDCP set 3, PDU set 6, and PDU set 9 from the MAC layer. sequential The MAC layer receives each PDU set, processes them, and then delivers the processed PDU sets to the receiving PDCP entity 3. PDCP entity 3 processes PDCP set 3, PDU set 6, and PDU set 9 separately, which were processed by the RLC layer.
[0108] Please understand that the existing data processing methods for the MAC, RLC, and PDCP layers are not described in detail here, regarding how the MAC, RLC, and PDCP layers process the PDCP set. In addition, subsequent actions performed after the PDCP layer processes the PDU set are not particularly limited in this application.
[0109] According to the data transmission method provided in this application, a PDU set is distributed to m protocol entities in a polling manner in a sequence of PDU sets. Only one PDU set is distributed to one protocol entity at a time, and the sender transmits the PDU sets in sequence, while the receiver receives the PDU sets in the protocol entities corresponding to the sender's protocol entities. Therefore, the PDU set numbers do not need to be transmitted through the air interface, and the receiver can also know the PDU set to which each transmitted, transmitted, or received PDU belongs, so that air interface resources can be saved.
[0110] In some embodiments, m ≥ x, where x is determined based on one of the following: the period of the PDU set, the validity period of the PDU set, or the maximum duration of the PDU set.
[0111] For ease of understanding and explanation, the period of a PDU set, the validity period of a PDU set, and the maximum duration of a PDU set are denoted as P, T, and t, respectively.
[0112] P = 1 / f, where f represents the frame rate of k PDU sets, the service corresponding to k PDU sets, or the number of PDU sets per unit time.
[0113] If the PDU set is not successfully transmitted to the receiver after T, the sender may discard the PDU set. Alternatively, even if the PDUs in the PDU set are successfully transmitted to the receiver after T, the PDUs may be useless to the receiver.
[0114] For example, T may be defined as the PDB described above, or as an access network (AN) PDB or a core network (CN) PDB.
[0115] In another example, T may be the duration of a protocol entity's discard timer, which may be a timer associated with a PDU, or a timer associated with a PDU within a set of PDUs.
[0116] t: The time interval between the moment the sender receives the first PDU / first byte / first bit in the PDU set and the moment the sender receives the last PDU / last byte / last bit in the PDU set, or the maximum / minimum / average value of the time interval between the first PDU / first byte / first bit in the PDU set and the last PDU / last byte / last bit in the PDU set.
[0117] moreover,
number
number
[0118] for example,
number
[0119] As another example,
number
[0120] In the following example, we will use 60fps. Specifically, we assume that one PDU set arrives every 16.67ms, and that the validity period of each PDU set is 30ms. The design principle for the value of x is explained with reference to Figures 7 and 8.
[0121] Refer to Figure 7. A PDU in a PDU set can arrive at any time within a 16.67ms period (for example, the last PDU in a PDU set may arrive at the last moment of the 16.67 period). The sum of the two periods is 33.3ms, which is longer than the invalid period. Therefore, when PDU set 4 arrives, PDU set 1 has already been sent or PDU set 1 is invalid because its validity period has expired. In this case, PDU set 1 may be delivered to protocol entity 1, PDU set 2 may be delivered to protocol entity 2, and PDU set 3 may be delivered to protocol entity 3. When PDU set 4 arrives, PDU set 1 is fully scheduled. Even if PDU set 1 is not fully scheduled, PDU set 1 is invalid and therefore discarded. Therefore, PDU set 4 may be delivered to protocol entity 1, and PDU set 5 may be delivered to protocol entity 2. This type of periodic scheduling ensures that there is always only one set of PDUs within any given protocol entity, and that PDUs from two sets of PDUs are not mixed.
[0122] Refer to Figure 8. In the scenario where all PDUs in a PDU set arrive simultaneously and earliest during P, and the duration of the PDU set does not exceed t, the time elapsed from the arrival of all PDUs in PDU set 1 to the arrival of all PDUs in PDU set 3 is exactly two 16.67ms periods. In other words, PDU set 3 is fully received 33.3ms after PDU set 1 arrives (in this case, PDU set 1 is invalid). Since T is 30ms and not 33.3ms, as long as t ≤ 3.3ms, we can ensure that the first PDU in PDU set 3 arrives as soon as the last PDU in PDU set 1 is received over 30ms and is therefore invalid. In this case, PDU set 3 can be delivered to the protocol entity where PDU set 1 is located. Thus, in this case, only two protocol entities can ensure that there is always only one PDU set's PDUs within any given protocol entity, and that PDUs from two PDU sets are not mixed.
[0123] In conclusion, based on this solution, the number of protocol entities can be appropriately set so that any protocol entity always has only one PDU set and that PDUs from two PDU sets are not mixed. Since the m protocol entities used by the receiver correspond one-to-one with the m protocol entities of the sender, the receiver can infer the number of the PDU set based on the protocol entity for receiving the PDU set. In this way, the number of the PDU set does not need to be transmitted over the air interface, which can save air interface resources.
[0124] In addition, in some embodiments, m protocol entities are associated with m logical channels, one protocol entity is associated with one logical channel, and any two protocol entities are associated with different logical channels. Furthermore, one of the m logical channels is a logical channel group.
[0125] For example, m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3, where protocol entity 1 is associated with logical channel 1, protocol entity 2 is associated with logical channel 2, and protocol entity 3 is associated with logical channel 3. Logical channel 1 is logical channel group 1, logical channel 2 is logical channel group 2, and logical channel 3 is logical channel group 3.
[0126] In uplink transmission, when a terminal device has packets to transmit, it may use a buffer status report (BSR) to report the current amount of data to transmit in the buffer to a network device. The current protocol specifies that the BSR trigger condition is the generation of new data to transmit, and that the logical channel to which the data to transmit belongs is the first logical channel in the logical channel group to which the logical channel belongs that has the data to transmit. In this application, each protocol entity is associated with one logical channel group, and a single protocol entity carries only one set of PDUs at a time. Therefore, a BSR is triggered whenever a new set of PDUs arrives at a protocol entity or logical channel group.
[0127] Therefore, according to the solution of this application, BSR can be reported at the PDU set granularity without changing the BSR trigger conditions or trigger mechanism. Furthermore, network devices can know the amount of data to be transmitted in each PDU set based on the BSR report at the PDU set granularity in order to appropriately allocate transmission resources to the PDU sets.
[0128] In some embodiments, the priority of m protocol entities is in descending order before the first PDU set in k PDU sets is sent.
[0129] To facilitate understanding of the priority of protocol entities described in this application, the priority of protocol entities is assumed to be represented by a number in this application, with a lower number indicating a higher priority.
[0130] For example, the descending priority of m protocol entities means that the priority of m protocol entities is only one level. in order It may decrease. For example, the priorities of m protocol entities are 1, 2, 3, ..., and m.
[0131] For example, for m protocol entities to have descending priority, the priority of the z-th protocol entity may be higher than the priority of the (z+1)th protocol entity, but the priorities of the z-th and (z+1)th protocol entities do not have to be consecutive, and z is any integer from 1 to m-1. For example, assuming m=3, the priorities of the m protocol entities may be 1, 3, and 4, or the priorities may be 2, 4, and 7.
[0132] Optionally, the priority of any protocol entity is the priority of the first resource associated with the protocol entity. The first resource may be any one of the following: a logical channel, a logical channel group, a slice, a frequency, a DRB, a QoS flow, a PDU session, or a GTP-U tunnel.
[0133] Several embodiments related to S320 will be described in detail below.
[0134] Embodiment 1 S320 uses the transmit resource to send k sets of PDUs sequential The steps may particularly include sending data and adjusting the priority of m protocol entities if the current sending resources are depleted or fall below a first preset value.
[0135] As an example for explanation, uplink transmission is used. After the sender reports the BSR to the receiver, the receiver may allocate transmission resources to the sender. For example, the first BSR reported by the sender is the amount of data to be transmitted in PDU set 1, and the receiver allocates transmission resource 1 to transmit to PDU set 1. After the sender has completely transmitted PDU set 1, if transmission resource 1 remains and the remaining transmission resources (denoted as transmission resource 1a) are greater than a first preset value, the sender may use transmission resource 1a to transmit PDU set 2. After the sender has completely transmitted PDU set 2, if transmission resource 1 is exhausted, i.e., transmission resource 1a is used up, or if transmission resource 1a remains but the remaining transmission resources (denoted as transmission resource 1b) are less than a first preset value, the priorities of m protocol entities are adjusted. If, after the sender has completely sent PDU set 2, transmission resource 1a remains and the remaining transmission resource 1b is greater than a first preset value, the sender can continue sending PDU set 3 using transmission resource 1b. If, after some of the PDUs in PDU set 3 have been sent, transmission resource 1b is exhausted or the remaining transmission resources in transmission resource 1b are less than a first preset value, the priorities of m protocol entities are adjusted.
[0136] When priorities are adjusted, or afterward, the receiver may reassign resources to the sender, and the sender may continue sending the PDU sets or PDU sets that were not sent or were not successfully sent using the resources now allocated by the receiver.
[0137] It should be understood that the transmission resources may be time-frequency resources. In addition, the first preset values may be specified or pre-configured within the protocol. This is not limited to the present application.
[0138] Based on Embodiment 1, in one example, if the current transmission resources are insufficient to fully transmit the s-th PDU set out of k PDU sets, the priority of the protocol entity corresponding to the s-th PDU set is adjusted to be the highest.
[0139] For example, as described above, if, after some of the PDUs in PDU set 3 have been sent, the transmission resource 1b is exhausted, or if the remaining transmission resources in transmission resource 1b are less than the first pre-configured amount, the priority of the protocol entity corresponding to PDU set 3 will be adjusted to the highest level.
[0140] Based on this solution, after obtaining the sending resources again, the receiving side will find that the PDU set is sequential To ensure transmission, the remaining PDUs in the previously transmitted s-th set of PDUs may be sent first.
[0141] Furthermore, in addition to the step of adjusting the priority of the protocol entity corresponding to the s-th PDU set to the highest, the priorities of the other m-1 protocol entities among the m protocol entities may also be adjusted.
[0142] For example, when [j+(ab)+m]mod m≠0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the ([j+(ab)+m]mod m)-th protocol entity out of m protocol entities. When [j+(ab)+m]mod m=0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the m-th protocol entity out of m protocol entities. The a-th protocol entity out of m protocol entities is used to carry the s-th PDU set, and before adjustment, the b-th protocol entity out of m protocol entities is the protocol entity with the highest priority among the m protocol entities, such that 1≦a≦m and 1≦b≦m.
[0143] For example, m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3. Before adjustment, protocol entity 1 has the highest priority, and the protocol entity corresponding to the sth set of PDUs is protocol entity 3. In this case, the adjusted priority of protocol entity 3 is the unadjusted priority of protocol entity 1, the adjusted priority of protocol entity 1 is the unadjusted priority of protocol entity 2, and the adjusted priority of protocol entity 2 is the unadjusted priority of protocol entity 3.
[0144] For example, m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3. Before adjustment, protocol entity 2 has the highest priority, and the protocol entity corresponding to the sth set of PDUs is protocol entity 3. In this case, the adjusted priority of protocol entity 3 is the unadjusted priority of protocol entity 2, the adjusted priority of protocol entity 1 is the unadjusted priority of protocol entity 3, and the adjusted priority of protocol entity 2 is the unadjusted priority of protocol entity 1.
[0145] Based on Embodiment 1, in another example, if the current transmission resources are used to fully transmit the s-th PDU set but are insufficient to transmit the (s+1)-th PDU set, the priority of the protocol entity corresponding to the (s+1)-th PDU set is adjusted to be the highest.
[0146] For example, as described above, if, after the sender has completely sent PDU set 2, transmission resource 1 is exhausted, i.e., transmission resource 1a is used up, or if transmission resource 1a remains but the remaining transmission resources are less than the first preset value, the priority of the protocol entity corresponding to PDU set 3 is adjusted to be the highest.
[0147] Based on this solution, after obtaining the sending resources again, the receiving side will find that the PDU set is sequential To ensure transmission, the (s+1)th PDU set may be sent first.
[0148] Furthermore, in addition to the step of adjusting the priority of the protocol entity corresponding to the (s+1)th PDU set to the highest, the priorities of the other m-1 protocol entities among the m protocol entities may also be adjusted.
[0149] For example, when [j+(ab)+m]mod m≠0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the ([j+(ab)+m]mod m)-th protocol entity out of m protocol entities. When [j+(ab)+m]mod m=0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the m-th protocol entity out of m protocol entities. The a-th protocol entity out of m protocol entities is used to carry the (s+1)-th PDU set, and before adjustment, the b-th protocol entity out of m protocol entities is the protocol entity with the highest priority among the m protocol entities, such that 1≦a≦m and 1≦b≦m.
[0150] For example, m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3. Before adjustment, protocol entity 1 has the highest priority, and the protocol entity corresponding to the (s+1)th set of PDUs is protocol entity 3. In this case, the adjusted priority of protocol entity 3 is the unadjusted priority of protocol entity 1, the adjusted priority of protocol entity 1 is the unadjusted priority of protocol entity 2, and the adjusted priority of protocol entity 2 is the unadjusted priority of protocol entity 3.
[0151] For example, m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3. Before adjustment, protocol entity 2 has the highest priority, and the protocol entity corresponding to the (s+1)th PDU set is protocol entity 3. In this case, the adjusted priority of protocol entity 3 is the unadjusted priority of protocol entity 2, the adjusted priority of protocol entity 1 is the unadjusted priority of protocol entity 3, and the adjusted priority of protocol entity 2 is the unadjusted priority of protocol entity 1.
[0152] Embodiment 2 S320 may specifically include a step of adjusting the priority of m protocol entities after each set of PDUs has been fully transmitted.
[0153] The unadjusted priority of m protocol entities is: in order The m1, m2, ..., and mm are the adjusted priorities of the m protocol entities, in order These are mm, m1, ..., and m(m-1). In other words, when 2 ≤ j ≤ m, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the (j-1)-th protocol entity out of m protocol entities. When j = 1, the adjusted priority of the 1st protocol entity out of m protocol entities is the unadjusted priority of the m-th protocol entity out of m protocol entities.
[0154] Specifically, after PDU set 1 is fully transmitted, the priorities of m protocol entities are adjusted. After PDU set 2 is fully transmitted, the priorities of m protocol entities are adjusted again. After PDU set 3 is fully transmitted, the priorities of m protocol entities continue to be adjusted until k PDU sets are fully transmitted.
[0155] An example is used for illustrative purposes with reference to Figure 9. Please refer to Figure 9. The m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3. Before PDU set 1 is sent, the priorities of protocol entity 1, protocol entity 2, and protocol entity 3 are 1, 3, and 4, respectively. After PDU set 1 is fully sent, the sender adjusts the priorities of the three protocol entities. The adjusted priorities of protocol entity 1, protocol entity 2, and protocol entity 3 are 4, 1, and 3, respectively. After PDU set 2 is fully sent, the sender adjusts the priorities of the three protocol entities. The adjusted priorities of protocol entity 1, protocol entity 2, and protocol entity 3 are 3, 4, and 1, respectively. After PDU set 3 is fully sent, the sender adjusts the priorities of the three protocol entities. The adjusted priorities of protocol entity 1, protocol entity 2, and protocol entity 3 are 1, 3, and 4, respectively. The other PDU sets are similar, and further details are not described herein.
[0156] Embodiment 3 k PDU sets sequential In the transmission process, if the w-th PDU set out of k PDU sets is invalid, the PDUs that were not successfully transmitted in the w-th PDU set are discarded, and w ≥ 1.
[0157] In this application, it should be understood that an invalid PDU set may be any one of the following: the PDCP discard timer associated with the PDUs in the PDU set has expired; the discard timer for the PDU set has expired; the PDU set in the protocol entity associated with the PDU set has not been fully transmitted but another subsequent PDU set has been received; the PDUs in the PDU set have not been fully transmitted within the validity period of the PDU set; the percentage of PDUs in the PDU set that were not transmitted within the validity period of the PDU set exceeds a certain value; the PDU set has not been transmitted within the expected time; the PDU set has not been received by the receiver within the expected time; or an ACK response to the PDU set has not been received by the receiver within the expected time.
[0158] Embodiment 3 is described using an example where m protocol entities are three protocol entities. From the corresponding description above in Figure 7, it can be seen that if PDU set 1 is not fully transmitted when PDU set 4 arrives, PDU set 1 is invalid. In this case, the PDUs that are not successfully transmitted in PDU set 1 may be discarded. Similarly, if PDU set 4 is not fully transmitted when PDU set 7 arrives, PDU set 4 is invalid. In this case, the PDUs that are not successfully transmitted in PDU set 4 may be discarded.
[0159] Furthermore, at least one PDU set may be discarded. The at least one PDU set is from the (w+1)th PDU set to the (w+e)th PDU set, where e≧1. At least one PDU set is of type 1 and is associated with the wth PDU set, and both the wth PDU set and the (w+e+1)th PDU set are of type 2, and type 1 is different from type 2.
[0160] There are dependencies between several PDU sets. For example, consider the multiple frames shown in Figure 10. The I-frame carries complete information, and the P-frame can only be successfully decoded if it depends on the I-frame. Therefore, if the I-frame fails to be sent, the P-frames that depend on the I-frame do not need to be sent. In addition, there are dependencies between P-frames. For example, the last P-frame can only be successfully decoded if it depends on the previous P-frame. In this case, if the w-th PDU set is invalid and therefore discarded, and one or more PDU sets after the w-th PDU set need to depend on the w-th PDU set, then the one or more PDU sets that depend on the w-th PDU set may be discarded.
[0161] Based on this solution, some PDU sets associated with invalid PDU sets are discarded so that transmission resources can be saved without affecting data recovery at the receiving end.
[0162] For example, the first type may be a P-frame, while the second type may not be a P-frame but, for example, an I-frame.
[0163] In another example, the first type is a P-slice and the second type is not a P-slice. Or, the first type is a PDU set that can be discarded and the second type is a PDU set that cannot be discarded. Or, the first type is an unimportant PDU set and the second type is an important PDU set. Or, the first type is a PDU set that carries video data and the second type is a PDU set that carries audio data. Or, the first type is a PDU set that carries non-controlled information and the second type is a PDU set that carries controlled information. Or, the first type is a PDU set with lower priority and the second type is a PDU set with higher priority. Or, the first type is a dependent PDU set and the second type is a dependent PDU set.
[0164] For example, if PDU set 1 is not a P frame but, for example, an I frame, and some PDUs within PDU set 1 are not transmitted successfully and are invalid, then PDU set 1 may be discarded. If PDU set 2 is a P frame, then PDU set 2 may also be discarded. If PDU set 3 is an I frame, then PDU set 3 is not discarded. If PDU set 3 is a P frame, then PDU set 3 is discarded. This continues until an I frame is encountered, after which the discarding stops.
[0165] For example, if PDU set 1 is a critical PDU set, and some PDUs within PDU set 1 are not transmitted successfully and are invalid, PDU set 1 may be discarded. If PDU set 2 is a non-critical PDU set frame, PDU set 2 may also be discarded. If PDU set 3 is a critical PDU set, PDU set 3 will not be discarded. If PDU set 3 is a non-critical PDU set frame, PDU set 3 will be discarded. This continues until a critical PDU set is encountered, after which discarding stops.
[0166] It should be understood that Embodiment 3 may be combined with Embodiment 1 or Embodiment 2.
[0167] In some embodiments, the method may further include the step of adjusting the priority of the protocol entity corresponding to the (w+e+1)th PDU set. Furthermore, the priority of the other m-1 protocol entities among the m protocol entities may be adjusted.
[0168] For example, when [j+(ab)+m]mod m≠0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the ([j+(ab)+m]mod m)-th protocol entity out of m protocol entities. When [j+(ab)+m]mod m=0, the adjusted priority of the j-th protocol entity out of m protocol entities is the unadjusted priority of the m-th protocol entity out of m protocol entities. The a-th protocol entity out of m protocol entities is used to carry the (w+e+1)-th PDU set, and before adjustment, the b-th protocol entity out of m protocol entities is the protocol entity with the highest priority among the m protocol entities, such that 1≦a≦m and 1≦b≦m.
[0169] Based on this solution, it can be ensured that the first set of PDUs that does not need to be discarded is sent first. This ensures that the PDU set sequential It can be guaranteed that the transmission will be successful.
[0170] In the solution described above, different types of PDU sets, such as P-frames and I-frames, may be delivered to the same protocol entity. In some other embodiments of this application, only frames of the same type may be sent to the same protocol entity. k consecutive PDU sets may be delivered to the corresponding protocol entities based on the type of each PDU set.
[0171] In some embodiments, the number of protocol entities corresponding to both the first type of PDU set and the second type of PDU set is m. See the previous explanation for the value of m.
[0172] k PDU sets are classified based on a first type and a second type, including the 1st to k1th PDU sets of the first type and the 1st to k2nd PDU sets of the second type, where k1 + k2 = k. The 1st to k1th PDU sets of the first type are distributed to m protocol entities corresponding to the first type PDU sets according to the distribution sequence or rules described above. sequential The first to k1 sets of the second type of PDU are delivered, and according to the delivery sequence or rules described above, to the m protocol entities corresponding to the second type of PDU sets. sequential It will be streamed.
[0173] For example, if PDU sets 1 and 2 are of type 1, then PDU sets 1 and 2 are the first and second PDU sets of type 1. If PDU set 3 is of type 2, then PDU set 3 is the first PDU set of type 2. If PDU set 4 is of type 1, then PDU set 3 is the third PDU set of type 1. Assume that the m protocol entities corresponding to the first type PDU sets are protocol entity 1, protocol entity 2, and protocol entity 3, and the m protocol entities corresponding to the second type PDU sets are protocol entity 4, protocol entity 5, and protocol entity 6. In this case, PDU set 1 may be delivered to protocol entity 1, PDU set 2 may be delivered to protocol entity 2, PDU set 3 may be delivered to protocol entity 4, and PDU set 4 may be delivered to protocol entity 3. If there is still a first type PDU set 5, then the first type PDU set 5 may be delivered to PDU set 1. Other PDU set distribution rules are similar and will not be described in detail again in this specification.
[0174] The above describes the method embodiments provided in this application, and the following describes the apparatus embodiments provided in this application. Please understand that the description of the apparatus embodiments corresponds to the description of the method embodiments. Therefore, please refer to the method embodiments for details not described in detail. For brevity, further details are not described again in this specification.
[0175] Figure 11 is a block diagram of a communication device according to one embodiment of the present application. As shown in Figure 11, the device 2000 may include a processing unit 2100 and a transceiver unit 2200. The transceiver unit 2200 may implement corresponding communication functions, for example, to receive or transmit PDU sets. The processing unit 2100 may implement corresponding processing functions, for example, to deliver PDU sets to protocol entities. The transceiver unit 2200 may also be called a communication interface or communication unit. Optionally, the device 2000 may further include a storage unit. The storage unit may be configured to store instructions and / or data. The processing unit 2100 may read instructions and / or data from the storage unit so that the device implements the method embodiment described above.
[0176] In possible designs, the device 2000 may be the transmitter in the method embodiments described above, or it may be a module or chip used in the transmitter. The device 2000 may be configured to perform a step or procedure performed by the transmitter in any one of the method embodiments described above.
[0177] Specifically, the processing unit 2100 processes k consecutive protocol data unit sets (PDU sets) into m protocol entities in a first sequence. sequential It is configured to deliver. When k > m, km consecutive PDU sets, starting with the (m+1)th PDU set out of k PDU sets, are delivered to m protocol entities in the first sequence. sequentialThe m protocol entities are delivered, and their priorities are different from each other, with m > 1. The transceiver unit 2200 has k sets of PDUs. sequential It is configured to send.
[0178] Optionally, the first sequence is a placement sequence of m protocol entities, or m protocol entities are placed in the first sequence.
[0179] Optionally, the processing unit 2100 is specifically configured to deliver the q-th PDU set out of k PDU sets to the v-th protocol entity out of m protocol entities. If q mod m ≠ 0, then v = q mod m, or if q mod m = 0, then v = m, where mod represents the modulo operation.
[0180] Optionally, the transceiver unit 2200 uses the transmit resources to send k PDU sets sequential It is specifically configured to transmit. The processing unit 2100 is further configured to adjust the priority of m protocol entities when the current transmission resources are exhausted or fall below a first preset value.
[0181] Optionally, the processing unit 2100 is configured to adjust the priority of the protocol entity corresponding to the s-th PDU set to the highest level when the current transmission resources are insufficient to fully transmit the s-th PDU set out of k PDU sets, or to adjust the priority of the protocol entity corresponding to the (s+1)-th PDU set to the highest level when the current transmission resources are used to fully transmit the s-th PDU set but are insufficient to transmit the (s+1)-th PDU set.
[0182] Optionally, the transceiver unit 2200 is specifically configured to adjust the priority of m protocol entities after each PDU set has been fully transmitted. The unadjusted priority of the m protocol entities is: in order The m1, m2, ..., and mm are the adjusted priorities of the m protocol entities, in order These are mm, m1, ..., and m(m-1).
[0183] Optionally, the processing unit 2100 is further configured to discard PDUs that were not successfully transmitted in the w-th PDU set when the w-th PDU set out of k PDU sets is invalid, such that w ≥ 1.
[0184] Optionally, the processing unit 2100 is further configured to discard at least one set of PDUs. The at least one set of PDUs is from the (w+1)th PDU set to the (w+e)th PDU set, where e≧1, and at least one set of PDUs is of type 1 and associated with the wth PDU set, and both the wth PDU set and the (w+e+1)th PDU set are of type 2, where type 1 is different from type 2.
[0185] Optionally, a protocol entity may be one of the following: a Packet Data Convergence Protocol (PDCP) entity, a Radio Link Control (RLC) entity, a Service Data Adaptive Protocol (SDAP) entity, or a Medium Access Control (MAC) entity.
[0186] Optionally, m ≥ x, where x is determined based on one of the following: the period of the PDU set, the validity period of the PDU set, or the maximum duration of the PDU set.
[0187] In another possible design, the device 2000 may be the receiver in the method embodiment described above, or it may be a module or chip used in the receiver. The device 2000 may be configured to perform a step or procedure performed by the receiver in any one of the method embodiments described above.
[0188] Specifically, the transceiver unit 2200 has k consecutive protocol data unit sets (PDU sets) sequential It is configured to receive. The processing unit 2100 sends k sets of PDUs to m protocol entities in a first sequence. sequential It is configured to deliver. When k > m, km consecutive PDU sets, starting with the (m+1)th PDU set out of k PDU sets, are delivered to m protocol entities in the first sequence. sequential The m protocol entities are distributed, and their priorities are different from each other, with m > 1.
[0189] Optionally, the first sequence is a placement sequence of m protocol entities, or m protocol entities are placed in the first sequence.
[0190] Optionally, the processing unit 2100 is specifically configured to deliver the q-th PDU set out of k PDU sets to the v-th protocol entity out of m protocol entities. If q mod m ≠ 0, then v = q mod m, or if q mod m = 0, then v = m, where mod represents the modulo operation.
[0191] Optionally, a protocol entity may be one of the following: a Packet Data Convergence Protocol (PDCP) entity, a Radio Link Control (RLC) entity, a Service Data Adaptive Protocol (SDAP) entity, or a Medium Access Control (MAC) entity.
[0192] Optionally, m ≥ x, where x is determined based on one of the following: the period of the PDU set, the validity period of the PDU set, or the maximum duration of the PDU set.
[0193] It should be understood that the “units” within the apparatus 2000 may be implemented by hardware, by software, or by hardware running the corresponding software. For example, “units” as used herein may be application-specific integrated circuits (ASICs), electronic circuits, processors configured to run one or more software or firmware programs (e.g., shared processors, dedicated processors, or group processors), memory, combinational logic circuits, and / or other suitable components that support the functions described. As another example, the transceiver unit 2200 may be replaced by a transceiver circuit (e.g., which may include a receiving circuit and a transmitting circuit), and the processing unit 2100 may be replaced by a processor or processing circuit.
[0194] Figure 12 is a block diagram of another communication device 3000 according to one embodiment of the present application. The device 3000 may be a transmitter, or a receiver, or a chip, chip system, processor, etc. that supports the transmitter when implementing the method described above, or a chip, chip system, processor, etc. that supports the receiver when implementing the method described above. The device may be configured to carry out the method described in the embodiments of the method described above. For details, please refer to the description of the embodiments of the method described above.
[0195] The device 3000 may include one or more processors 3100. A processor 3100 may also be called a processing unit and may implement specific control functions. A processor 3100 may be a general-purpose processor, a dedicated processor, for example, a baseband processor or a central processing unit. A baseband processor may be configured to process communication protocols and communication data. A central processing unit may be configured to control communication equipment (e.g., a base station, a baseband chip, a user chip, a DU, or a CU), execute software programs, and process data from software programs.
[0196] In an optional design, the processor 3100 may also store instructions and / or data, and the instructions and / or data 28 may be executed by the processor 3100 so that the device 3000 performs the method described in the above-described method embodiment.
[0197] In another optional design, the processor 3100 may include a transceiver 3200 configured to implement receive and transmit functions. For example, the transceiver 3200 may be a transceiver circuit, interface, or interface circuit. The transceiver circuit, interface, or interface circuit configured to implement receive and transmit functions may be separate or integrated. The transceiver circuit, interface, or interface circuit may be configured to read or write code or data. Alternatively, the transceiver circuit, interface, or interface circuit may be configured to transmit or transfer signals.
[0198] In yet another possible design, the device 3000 may include a circuit that may implement the transmission, reception, or communication functions in the method embodiments described above.
[0199] Optionally, the device 3000 may include one or more memories 3300. The memories 3300 may store instructions. Instructions may be executed on the processor 3100 so that the device 3000 performs the method described in the above-described method embodiment. Optionally, the memories 3300 may further store data. Optionally, the processor 3100 may also store instructions and / or data. The processor 3100 and the memories may be located separately or integrated.
[0200] Figure 13 is a diagram illustrating the structure of the terminal device 4000 according to this application. The communication device 2000 or the communication device 3000 may be configured within the terminal device 4000. Alternatively, the communication device 2000 or the communication device 3000 may be the terminal device 4000. In other words, the terminal device 4000 can perform operations performed by the transmitter or receiver in the method embodiments described above. Optionally, for ease of explanation, Figure 13 shows only the main components of the terminal device. As shown in Figure 13, the terminal device 4000 includes a processor, memory, control circuits, an antenna, and input / output devices.
[0201] The processor is primarily configured to process communication protocols and communication data, control the entire terminal device, execute software programs, and process data for software programs. For example, the processor is configured to support the terminal device when performing the operations described in the embodiments of the data transmission method described above. Memory is primarily configured to store software programs and data, for example, to store the PDU set as described in the embodiments described above. The control circuit is primarily configured to perform conversions between baseband signals and radio frequency signals and to process radio frequency signals. The combination of the control circuit and antenna may also be called a transceiver and may be primarily configured to transmit / receive radio frequency signals in electromagnetic wave form. Input / output devices such as touchscreens, displays, or keyboards are primarily configured to receive data entered by the user and output data to the user.
[0202] After the terminal device is powered on, the processor can read the software program in the memory unit, interpret and execute the software program's instructions, and process the software program's data. When data needs to be transmitted wirelessly, the processor performs baseband processing on the data to be transmitted, and then outputs the baseband signal to the radio frequency circuit. After performing radio frequency processing on the baseband signal, the radio frequency circuit transmits the radio frequency signal in electromagnetic wave form through the antenna. When data is transmitted to the terminal device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal back into a baseband signal, and outputs the baseband signal to the processor. The processor converts the baseband signal back into data and processes the data.
[0203] Those skilled in the art will understand that Figure 13 shows only one memory and one processor for the sake of clarity. In actual terminal devices, there may be multiple processors and multiple memories. Memory may also be called a storage medium or storage device, etc. This is not limited to the embodiments of this application.
[0204] For example, a processor may include a baseband processor and a central processing unit. The baseband processor is primarily configured to process communication protocols and communication data. The central processing unit is primarily configured to control the entire terminal device, execute software programs, and process data from the software programs. The processor in Figure 13 integrates the functions of a baseband processor and a central processing unit. Those skilled in the art will understand that the baseband processor and the central processing unit may instead be separate processors interconnected using technologies such as buses. Those skilled in the art will understand that a terminal device may include multiple baseband processors to adapt to different network standards, a terminal device may include multiple central processing units to enhance the processing capabilities of the terminal device, and the components of the terminal device may be connected via various buses. The baseband processor may also be expressed as a baseband processing circuit or a baseband processing chip. The central processing unit may also be expressed as a central processing circuit or a central processing chip. The functions for processing communication protocols and communication data may be incorporated into the processor or stored in a storage unit in the form of software programs. The processor executes software programs to perform the baseband processing functions.
[0205] For example, in this embodiment of the present application, the antenna and control circuit having receiving and transmitting functions may be considered as the transceiver unit 4100 of the terminal device 4000, and the processor having processing functions may be considered as the processing unit 4200 of the terminal device 4000. As shown in Figure 13, the terminal device 4000 includes the transceiver unit 4100 and the processing unit 4200. The transceiver unit may also be called a transceiver, transceiver machine, transceiver device, etc. Optionally, components configured to implement receiving functions in the transceiver unit 4100 may be considered as receiving units, and components configured to implement transmitting functions in the transceiver unit 4100 may be considered as transmitting units. That is, the transceiver unit 4100 includes receiving units and transmitting units. For example, the receiving unit may be called a receiver, receiver machine, receiver circuit, etc., and the transmitting unit may be called a transmitter, transmitter machine, transmitter circuit, etc.
[0206] Figure 14 shows the structure of a network device 5000 according to one embodiment of the present application. A communication device 2000 or a communication device 3000 may be configured within the network device 5000. Alternatively, the communication device 2000 or the communication device 3000 may be the network device 5000. In other words, the network device 5000 can perform operations performed by the transmitter or receiver in the method embodiments described above.
[0207] The network device 5000 may include one or more radio frequency units, such as a remote radio unit (RRU) 5100, and one or more baseband units (BBUs) 5200 (which may also be called digital units (DUs)). The RRU 5100 may also be called a transceiver unit, transceiver machine, transceiver circuit, transceiver, etc., and may include at least one antenna 5110 and a radio frequency unit 5120. The RRU 5100 is primarily configured to receive and transmit radio frequency signals and to perform conversion between radio frequency signals and baseband signals. The BBU 5200 is primarily configured to perform baseband processing and to control the network device 5000, etc. The RRU 5100 and BBU 5200 may be physically located together or physically separate, i.e., located at distributed base stations.
[0208] The BBU 5200 is the control center for the network device 5000, sometimes referred to as the processing unit, and is primarily configured to perform baseband processing functions such as channel coding, multiplexing, modulation, and spread spectrum. For example, the BBU (processing unit) 5200 may be configured to control the network device 5000 to perform the operating procedures related to the transmitter or receiver in the method embodiment described above.
[0209] In one example, the BBU 5200 may include one or more boards. Multiple boards may together support a single access standard radio access network (e.g., an LTE system or a 5G system), or they may separately support radio access networks of different access standards. The BBU 5200 further includes a memory 5210 and a processor 5220. The memory 5210 is configured to store the necessary instructions and data. The processor 5220 is configured to control the network device 5000 to perform the necessary operations, for example, to control the network device 5000 to perform the operational procedures related to the transmitter or receiver in the method embodiment described above. The memory 5210 and processor 5220 may be responsible for one or more boards. In other words, the memory and processor may be deployed on each board. Alternatively, multiple boards may share the same memory and the same processor. In addition, necessary circuitry may be further deployed on each board.
[0210] In one possible implementation, with the development of system-on-chip (SoC) technology, all or part of the functions of components 5200 and 5100 may be implemented using SoC technology, for example, using a single base station function chip. The base station function chip integrates components such as a processor, memory, and antenna ports. Programs for base station-related functions are stored in memory, and the processor executes the programs to implement the base station-related functions. Optionally, the base station function chip may also read from the chip's memory to implement the base station-related functions.
[0211] It should be understood that the network device structure shown in Figure 14 is merely a possible form and should not constitute any limitation to the embodiments of this application. This application does not rule out the possibility that other forms of base station structures may exist in the future.
[0212] It should be understood that, in possible designs, the steps of the method embodiments provided in this application may be implemented using hardware-integrated logic circuits within a processor or using instructions in the form of software. The steps of the methods disclosed with reference to embodiments of this application may be performed directly by a hardware processor or by a combination of hardware and software modules within the processor. The software modules may reside in mature storage media of the art, such as random-access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage media is placed in memory, and the processor reads information in memory and, together with the processor hardware, completes the steps of the method described above. To avoid repetition, further details are not described herein.
[0213] Note that the processor in the embodiments of this application may be an integrated circuit chip and has signal processing capabilities. In one implementation process, the steps in the method embodiments described above can be implemented by using hardware integrated logic circuits within the processor or by using instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The processor may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps of the methods disclosed with reference to embodiments of this application may be performed directly by a hardware decoding processor, or by a combination of hardware and a software module within the decoding processor. The software module may be located in a mature storage medium of the art, such as random-access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is placed in memory, and the processor reads the information from memory and completes the steps of the method described above together with the processor hardware.
[0214] It should be understood that the memory in the embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may 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. Volatile memory may be random access memory (RAM) and may be used as an external cache. Many forms of RAM may be used, not as an example but as an example, such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchlink dynamic random access memory (synchlink DRAM, SLDRAM), and direct rambus random access memory (direct rambus RAM, DR RAM). Note that the memory of the systems and methods described herein includes, but is not limited to, these memories and any other suitable type of memory.
[0215] This application further provides a computer program product, which includes computer program code. When the computer program code is executed on a computer, the computer becomes capable of performing steps or procedures performed by the sender or receiver in any one of the aforementioned method embodiments.
[0216] This application further provides a computer-readable storage medium for storing program code. When the program code is executed on a computer, the computer is able to perform steps or procedures performed by the sender or receiver in any one of the embodiments of the method described above.
[0217] This application further provides a communication system including a transmitter and a receiver.
[0218] The apparatus embodiments described above correspond in full to the method embodiments described above. The corresponding modules or units perform the corresponding steps. For example, a transceiver unit or transceiver may perform the receiving step or the transmitting step in the method embodiment, and a processing unit or processor may perform steps other than the transmitting step or the receiving step.
[0219] In the embodiments of this application, all terms and English abbreviations are given as examples for the sake of clarity and should not constitute any limitation to this application. This application does not preclude the possibility of defining other terms that may implement the same or similar functions in existing or future protocols.
[0220] As used herein, terms such as “component,” “module,” and “system” refer to computer-related entities, hardware, firmware, hardware-software combinations, software, or running software. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated with the figures, both a computing device and an application running on the computing device may be components. One or more components may reside within a process and / or an execution thread, and components may be located on one computer and / or distributed across two or more computers. In addition, these components may run from various computer-readable storage media that store various data structures. For example, components may communicate using local and / or remote processes based on signals having one or more data packets (e.g., data from a local system, a distributed system, and / or from two components interacting with another component via a network such as the Internet, which interacts with other systems using signals).
[0221] Those skilled in the art will recognize that the illustrative logical blocks and steps described in the embodiments disclosed herein can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for specific applications, but the embodiments should not be considered to exceed the scope of this application.
[0222] For the sake of a simple and concise explanation, the detailed operating processes of the aforementioned systems, apparatus, and units should be referred to in the corresponding processes in the embodiments of the methods described above, and it will be readily apparent to those skilled in the art that further details are not described herein.
[0223] It should be understood that in some embodiments provided in this application, the disclosed systems, devices, and methods may be implemented in other ways. For example, the embodiments of the described devices are merely examples. For example, the division into units is merely a division of logical functions, and other divisions may be used in actual implementations. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the mutual coupling, direct coupling, or communication connection shown or discussed may be implemented through some interfaces. Indirect coupling or communication connection between devices or units may be implemented in an electrical, mechanical, or other form.
[0224] Units described as separate parts may or may not be physically separate, and parts shown as units may or may not be physical units, may be located in one place, or may be distributed across multiple network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the embodiment's solution.
[0225] In addition, the functional units of the embodiments of this application may be integrated into a single processing unit, each unit may exist physically independently, or two or more units may be integrated into a single unit.
[0226] In the embodiments described above, all or part of the functionality of the functional unit may be implemented by software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, all or part of the embodiments may be implemented in the form of a computer program product. A computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded into a computer and executed, all or part of the procedures or functions according to the embodiments of this application are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted by wired means (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless means (e.g., infrared, radio, or microwave) from one website, computer, server, or data center to another website, computer, server, or data center. The computer-readable storage medium may be any available medium accessible by a computer, or it may be a data storage device that integrates one or more available media, such as a server or data center. The available media may be magnetic media (e.g., floppy disks, hard disks, or magnetic tapes), optical media (e.g., DVDs), semiconductor media (e.g., solid-state drives (SSDs)), etc.
[0227] If the functionality is implemented in the form of a software functionality unit and sold or used as an independent product, the functionality may be stored on a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or in part with respect to the prior art, or a part of the technical solution, may be implemented in the form of a software product. A computer software product is stored on a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or part of the steps of the method described in the embodiments of this application. The aforementioned storage medium includes any medium capable of storing program code, such as a USB flash drive, a removable hard disk, read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk.
[0228] The foregoing description is merely a specific embodiment of the present application and is not intended to limit the scope of protection of this application. Any modification or substitution that is readily conceivable by a person skilled in the art within the scope of the art disclosed herein shall be within the scope of protection of this application. Accordingly, the scope of protection of this application shall be subject to the scope of protection of the claims. [Explanation of Symbols]
[0229] 100 Communication Systems 110,230,5000 network devices 120 terminal devices 200 Systems 210,220,4000 terminal devices 240 Application Servers 2000, 3000 communication devices 2100,4200 processing units 2200, 4100 Transceiver Unit 3100,5220 processors 3200 transceivers 3300,5210 memory 5100 Remote Wireless Unit (RRU) 5110 Antenna 5120 Radio frequency unit 5200 Baseband Unit (BBU)
Claims
1. A data transmission method, A processing unit sequentially distributes k consecutive protocol data unit (PDU) sets to m protocol entities in a first sequence, wherein the first sequence is the arrangement sequence of the m protocol entities, and when k > m, k-m consecutive PDU sets, starting from the (m+1)th PDU set among the k PDU sets, are sequentially distributed to the m protocol entities in the first sequence, and the transmission order priority of the m protocol entities is different from that of the m protocol entities, with m > 1. The transceiver unit transmits the k sets of PDUs sequentially. A method that includes this.
2. The step of sequentially distributing k consecutive PDU sets to m protocol entities in a first sequence is: A step of delivering the q-th PDU set out of the k PDU sets to the v-th protocol entity out of the m protocol entities, wherein if q mod m ≠ 0, then v = q mod m, or if q mod m = 0, then v = m, where mod represents the modulo operation. The method according to claim 1, including the method described in claim 1.
3. The step of sequentially transmitting the k sets of PDUs is as follows: The steps include sequentially transmitting the k sets of PDUs using a transmission resource, The steps of adjusting the priority of the m protocol entities when the current transmission resources are depleted or fall below a first preset value, The method according to claim 1, including the method described in claim 1.
4. The step of adjusting the priority of the m protocol entities when the current transmission resources are depleted or fall below a first preset value is: If the current transmission resources are insufficient to fully transmit the s-th PDU set out of the k PDU sets, the step of adjusting the priority of the protocol entity corresponding to the s-th PDU set to be the highest, or If the current transmission resources are used to fully transmit the s-th PDU set but are insufficient to transmit the (s+1)-th PDU set, the step of adjusting the priority of the protocol entity corresponding to the (s+1)-th PDU set to be the highest. The method according to claim 3, comprising
5. The step of sequentially transmitting the k PDU sets comprises a step of adjusting the priorities of the m protocol entities after each PDU set has been completely transmitted, wherein the unadjusted priorities of the m protocol entities are m1, m2, …, and mm in sequence, and the adjusted priorities of the m protocol entities are mm, m1, …, and m(m−1) in sequence The method according to claim 1, comprising
6. A step, performed by the processing unit, of discarding PDUs that are not successfully transmitted within the w-th PDU set when the w-th PDU set among the k PDU sets is invalid, where w≥1 The method according to claim 1, further comprising
7. A step, performed by the processing unit, of discarding at least one PDU set, wherein the at least one PDU set is the (w + 1)-th to (w + e)-th PDU sets, e≥1, the at least one PDU set is a first type of PDU set, is associated with the w-th PDU set, both the w-th PDU set and the (w + e + 1)-th PDU set are second type of PDU sets, and the first type is different from the second type The method according to claim 6, further comprising
8. The protocol entity is any one of a Packet Data Convergence Protocol (PDCP) entity, a Radio Link Control (RLC) entity, a Service Data Adaptation Protocol (SDAP) entity, or a Medium Access Control (MAC) entity, according to the method of claim 1
9. m≥x, where x is determined based on one or more of the period of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set, according to the method of claim 1
10. A data transmission method, comprising a step of sequentially receiving, by a transceiver unit, k consecutive protocol data unit sets (PDU sets) A processing unit sequentially distributes the k PDU sets to m protocol entities in a first sequence, wherein the first sequence is the arrangement sequence of the m protocol entities, and when k > m, k-m consecutive PDU sets starting from the (m+1)th PDU set among the k PDU sets are sequentially distributed to the m protocol entities in the first sequence, and the transmission order priority of the m protocol entities is different from that of the m protocol entities, and m > 1. A method that includes this.
11. The step of sequentially distributing the k sets of PDUs to m protocol entities in a first sequence is: A step of delivering the q-th PDU set out of the k PDU sets to the v-th protocol entity out of the m protocol entities, wherein if q mod m ≠ 0, then v = q mod m, or if q mod m = 0, then v = m, where mod represents the modulo operation. The method according to claim 10, including the method described in claim 10.
12. The method according to claim 10, wherein the protocol entity is one of a Packet Data Convergence Protocol (PDCP) entity, a Radio Link Control (RLC) entity, a Service Data Adaptive Protocol (SDAP) entity, or a Medium Access Control (MAC) entity.
13. The method according to claim 10, wherein m ≥ x, and x is determined based on one or more of the period of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.
14. A communication device, A processing unit configured to sequentially deliver k consecutive protocol data unit (PDU) sets to m protocol entities in a first sequence, wherein the first sequence is the arrangement sequence of the m protocol entities, and when k > m, k-m consecutive PDU sets starting from the (m+1)th PDU set among the k PDU sets are sequentially delivered to the m protocol entities in the first sequence, and the transmission order priority of the m protocol entities is different from that of the m protocol entities, and m > 1. A transceiver unit configured to transmit the k sets of PDUs sequentially A device equipped with the following features.
15. The aforementioned processing unit is The q-th PDU set out of the k PDU sets is delivered to the v-th protocol entity out of the m protocol entities, where v = q mod m if q mod m ≠ 0, or v = m if q mod m = 0, where mod represents the modulo operation. The apparatus according to claim 14, further configured as follows.
16. The transceiver unit is further configured to sequentially transmit the k sets of PDUs using the transmission resources, The processing unit is further configured to adjust the priority of the m protocol entities when the current transmission resources are depleted or fall below a first preset value. The apparatus according to claim 14.
17. The aforementioned processing unit is If the current transmission resources are insufficient to fully transmit the s-th PDU set out of the k PDU sets, the priority of the protocol entity corresponding to the s-th PDU set is adjusted to be the highest, or If the current transmission resources are used to fully transmit the s-th PDU set but are insufficient to transmit the (s+1)-th PDU set, adjust the priority of the protocol entity corresponding to the (s+1)-th PDU set to the highest level. The apparatus according to claim 16, further configured as follows.
18. The aforementioned transceiver unit is After each PDU set has been fully transmitted, the priorities of the m protocol entities are adjusted, with the unadjusted priorities of the m protocol entities being m1, m2, ..., and mm, respectively, and the adjusted priorities of the m protocol entities being mm, m1, ..., and m(m-1), respectively. The apparatus according to claim 14, further configured as follows.
19. The aforementioned processing unit is If the w-th PDU set among the k PDU sets is invalid, discard the PDUs in the w-th PDU set that are not transmitted successfully, and if w ≥ 1, The apparatus according to claim 14, further configured as follows.
20. The aforementioned processing unit is Discard at least one PDU set, wherein the at least one PDU set is from the (w+1)th PDU set to the (w+e)th PDU set, where e≧1, and the at least one PDU set is a first type of PDU set and is associated with the wth PDU set, and both the wth PDU set and the (w+e+1)th PDU set are a second type of PDU set, wherein the first type is different from the second type. The apparatus according to claim 19, further configured as follows.
21. The apparatus according to claim 14, wherein the protocol entity is one of a packet data convergence protocol (PDCP) entity, a radio link control (RLC) entity, a service data adaptive protocol (SDAP) entity, or a media access control (MAC) entity.
22. The apparatus according to claim 14, wherein m ≥ x, and x is determined based on one or more of the period of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.
23. A communication device, A transceiver unit configured to sequentially receive k consecutive protocol data unit sets (PDU sets), A processing unit configured to sequentially distribute k sets of PDUs to m protocol entities in a first sequence, wherein the first sequence is a placement sequence for the m protocol entities, and when k > m, k-m consecutive PDU sets starting from the (m+1)th PDU set among the k sets of PDUs are sequentially distributed to the m protocol entities in the first sequence, and the transmission order priority of the m protocol entities is different from that of the m protocol entities, and m > 1. A device equipped with the following features.
24. The aforementioned processing unit is The q-th PDU set out of the k PDU sets is delivered to the v-th protocol entity out of the m protocol entities, where v = q mod m if q mod m ≠ 0, or v = m if q mod m = 0, where mod represents the modulo operation. The apparatus according to claim 23, further configured as follows.
25. The apparatus according to claim 23, wherein the protocol entity is one of a packet data convergence protocol (PDCP) entity, a radio link control (RLC) entity, a service data adaptive protocol (SDAP) entity, or a media access control (MAC) entity.
26. The apparatus according to claim 23, wherein m ≥ x, and x is determined based on one or more of the period of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.
27. A communication device comprising a processor, the processor being coupled to a memory, the memory being configured to store a program or instruction, and when the program or instruction is executed by the processor, the communication device becomes capable of carrying out the method according to any one of claims 1 to 9 or any one of claims 10 to 13.
28. A computer-readable storage medium, the computer-readable storage medium storing a computer program or instruction, wherein when the computer program or instruction is executed, the computer can carry out the method according to any one of claims 1 to 9 or any one of claims 10 to 13.
29. A computer program comprising computer program instructions, wherein the computer program instructions enable a computer to perform the method according to any one of claims 1 to 9 or any one of claims 10 to 13.
Citation Information
Patent Citations
Communication method, base station, and terminal
JP2003234688A
Optimization of logical channel processing for multiple transport blocks
US20200084662A1