Data transmission method and communication device

JP2025529696A5Active Publication Date: 2026-03-11HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2026-03-11

AI Technical Summary

Technical Problem

Existing data transmission methods for extended reality (XR) video frames incur high resource overhead due to the need to carry frame numbers with each protocol data unit (PDU), making it impossible to reconstruct frames if a certain percentage of PDUs are lost.

Method used

A data transmission method that distributes k consecutive PDU sets to m protocol entities in a sequence, where priorities are adjusted to ensure sequential transmission and reception without needing to transmit PDU set numbers over the air interface, thereby saving resources.

Benefits of technology

This approach reduces resource overhead by allowing the receiver to infer PDU set numbers based on protocol entity correspondence, ensuring frame reconstruction without transmitting PDU set numbers, thus optimizing air interface usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

This application provides a data transmission method and a communication device, which relate to the communications field. In this method, a transmitter can sequentially deliver k consecutive PDU sets to m protocol entities in a first sequence, transmitting the k PDU sets sequentially. When k>m, km consecutive PDU sets, starting from the (m+1)th PDU set among the k PDU sets, are sequentially delivered to m protocol entities in a first sequence, where the priorities of the m protocol entities are different and m>1. In this solution, PDU sets are delivered to m protocol entities in a polling manner based on the PDU set sequence. Only one PDU set is delivered to one protocol entity at a time, and the transmitter transmits the PDU sets in sequence, and the receiver receives the PDU sets at the protocol entity corresponding to the transmitter's protocol entity. Therefore, the PDU set number does not need to be transmitted over the air interface, and the receiver can also know which PDU set a PDU belongs to, which saves air interface resources.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority to Chinese Patent Application No. 202210948232.4, entitled "Data Transmission Method and Communication Apparatus," filed with the State Intellectual Property Office of China on August 5, 2022, the entire contents of which are incorporated herein by reference.

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

[0003] Extended reality (XR) encompasses many virtual reality technologies, such as virtual reality (VR), augmented reality (AR), and mediated reality (MR). Each frame of an XR video picture is actually divided into tens to hundreds of protocol data units (PDUs) for transmission. As long as a certain percentage (e.g., 80%) of the PDUs are received correctly, a complete frame can be reconstructed. In other words, if more than a certain percentage (e.g., 20%) of PDUs are lost, it is impossible to reconstruct the complete frame even if all the remaining PDUs are received correctly. Therefore, to reconstruct a complete frame, the receiver needs to know the frame of the picture to which the received PDU belongs. One solution is for the sender to send a frame number to the receiver, and the receiver can determine the frame to which the received PDU belongs based on the received frame number.

[0004] However, this results in high resource overhead, as the frame number needs to be carried with each PDU transmitted. Summary of the Invention [Means for solving the problem]

[0005] The present application provides a data transmission method and communication device for reducing resource overhead while ensuring that the receiver knows the PDU set to which the PDU belongs.

[0006] According to a first aspect, there is provided a data transmission method, comprising the steps of sequentially delivering k consecutive PDU sets to m protocol entities in a first sequence and sequentially transmitting the k PDU sets, where k>m, starting from the (m+1)th PDU set of the k PDU sets, km consecutive PDU sets are sequentially delivered in the first sequence to m protocol entities, where priorities of the m protocol entities are different from one another, k≧1, and m>1.

[0007] In one implementation, the first sequence is a polling sequence of the 1st to mth protocol entities 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.

[0008] In one implementation, sequentially delivering k consecutive PDU sets in a first sequence to m protocol entities includes delivering a q-th PDU set of the k PDU sets to a v-th protocol entity of the m protocol entities, where v=q mod m if q mod m≠0, or v=m if q mod m=0, and mod denotes a modulo operation.

[0009] According to the data transmission method provided in this application, PDU sets are 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, and the receiver receives the PDU sets at the protocol entity corresponding to the sender's protocol entity. Therefore, the PDU set number does not need to be transmitted over the air interface, and the receiver can also know the PDU set to which each PDU that has been transmitted, is being transmitted, or received belongs, so that air interface resources can be saved.

[0010] In some implementations of the first aspect, the step of sequentially transmitting the k PDU sets includes: transmitting the k PDU sets sequentially using transmission resources; and adjusting priorities of the m protocol entities if the current transmission resources are exhausted or are less than a first preset value.

[0011] After the priorities of the m protocol entities have been adjusted, the set of unsent PDUs continues to be transmitted.

[0012] In some implementations of the first aspect, adjusting the priorities of the m protocol entities when the current transmission resources are exhausted or less than a first preset value includes adjusting the priority of the protocol entity corresponding to the sth PDU set to be the highest when the current transmission resources are insufficient to completely transmit the sth PDU set among the k PDU sets, or adjusting the priority of the protocol entity corresponding to the (s+1)th PDU set to be the highest when the current transmission resources are used to completely transmit the sth PDU set but insufficient to transmit the (s+1)th PDU set.

[0013] Based on this solution, after re-acquiring transmission resources, the receiving side may first transmit the remaining PDUs of the previously transmitted s-th PDU set, or transmit the (s+1)-th PDU set, to ensure that the PDU sets are transmitted sequentially.

[0014] Optionally, in addition to the step of adjusting the priority of the protocol entity corresponding to the sth PDU set to be the highest, 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 jth protocol entity among the m protocol entities is the raw priority of the ([j+(ab)+m] mod m)th protocol entity among the m protocol entities. When [j+(ab)+m] mod m=0, the adjusted priority of the jth protocol entity among the m protocol entities is the raw priority of the mth protocol entity among the m protocol entities. The ath protocol entity among the m protocol entities is used to carry the sth PDU set, and before adjustment, the bth protocol entity among the m protocol entities is the protocol entity with the highest priority among the m protocol entities, where 1≦a≦m and 1≦b≦m.

[0016] Optionally, in addition to adjusting the priority of the protocol entity corresponding to the (s+1)th PDU set to be 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 jth protocol entity among the m protocol entities is the unadjusted priority of the ([j+(ab)+m] mod m)th protocol entity among the m protocol entities. When [j+(ab)+m] mod m=0, the adjusted priority of the jth protocol entity among the m protocol entities is the unadjusted priority of the mth protocol entity among the m protocol entities. The ath protocol entity among the m protocol entities is used to carry the (s+1)th PDU set, and before adjustment, the bth protocol entity among the m protocol entities is the protocol entity with the highest priority among the m protocol entities, where 1≦a≦m and 1≦b≦m.

[0018] In some implementations of the first aspect, sequentially transmitting the k PDU sets includes adjusting priorities of the m protocol entities after each PDU set is completely transmitted, where the raw priorities of the m protocol entities are m1, m2, ..., and mm, in that order, and the adjusted priorities of the m protocol entities are mm, m1, ..., and m(m-1), in that order, where m1 is the highest priority among m1 to mm, and mm is the lowest priority among m1 to mm.

[0019] In other words, when 2≦j≦m, the adjusted priority of the jth protocol entity among the m protocol entities is the raw priority of the (j−1)th protocol entity among the m protocol entities. When j=1, the adjusted priority of the 1st protocol entity among the m protocol entities is the raw priority of the mth protocol entity among the m protocol entities.

[0020] Before the adjustment, the protocol entity corresponding to the PDU set being transmitted has the highest priority, and after the adjustment, the protocol entity corresponding to the PDU set to be transmitted has the highest priority, which can ensure that the PDU sets are transmitted sequentially.

[0021] In some implementations of the first aspect, the method further includes a step of discarding a PDU that is not successfully transmitted among the wth PDU set if the wth PDU set among the k PDU sets is invalid, where w≧1.

[0022] Some implementations of the first aspect may further include discarding at least one PDU set, where the at least one PDU set is from the (w+1)th PDU set to the (w+e)th PDU set, e≧1, the at least one PDU set is of a first type and is associated with the wth PDU set, and both the wth PDU set and the (w+e+1)th PDU set are of a second type, and the first type is different from the second type.

[0023] 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 side.

[0024] In some implementations 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 PDU set that can be discarded and the second type is a PDU set that cannot be discarded. Alternatively, the first type is a non-critical PDU set and the second type is a critical PDU set. Alternatively, the first type is a PDU set that carries video data and the second type is a PDU set that carries audio data. Alternatively, the first type is a PDU set that carries non-control information and the second type is a PDU set that carries control information. Alternatively, the first type is a PDU set with a lower priority and the second type is a PDU set with a higher priority. Alternatively, the first type is a dependent PDU set and the second type is a non-dependent PDU set.

[0025] In some implementations of the first aspect, the protocol entity is 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.

[0026] In some implementations of the first aspect, m≧x, where x is determined based on any one of the periodicity of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.

[0027] In some implementations of the first aspect,

number

number

[0028] Based on this solution, the number of protocol entities is appropriately set so that it can be guaranteed that PDUs of only one PDU set always exist in any protocol entity and PDUs of two PDU sets are not mixed. Since the m protocol entities used by the receiving side have a one-to-one correspondence with the m protocol entities of the transmitting side, the receiving side can infer the PDU set number based on the protocol entity for receiving the PDU set. In this way, the PDU set number does not need to be transmitted over the air interface, so that air interface resources can be saved.

[0029] In some implementations of the first aspect, the priority of the protocol entity is a priority of a first resource associated with the protocol entity, the first resource including one or more of 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 Packet Radio Service Tunneling Protocol for the user plane (GPRS Tunneling 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, any two protocol entities are associated with different logical channels, and any one of the m logical channels is a logical channel group.

[0031] In uplink transmission, when a terminal device has a packet to be transmitted, it may use a buffer status report (BSR) to report the current amount of data to be transmitted in the buffer to a network device. The BSR trigger condition is that new data to be transmitted is generated, and the logical channel to which the data to be transmitted belongs is the first logical channel with data to be transmitted in the logical channel group to which the logical channel belongs. In this application, each protocol entity is associated with one logical channel group, and one protocol entity carries only one PDU set at a time. Therefore, the BSR is triggered every time a new PDU set arrives at a protocol entity or logical channel group.

[0032] Therefore, based on the above solution, the BSR can be reported at PDU set granularity without changing the BSR trigger condition or trigger mechanism. Furthermore, based on the BSR report at PDU set granularity, network devices can know the amount of data to be transmitted in each PDU set so as to appropriately allocate transmission resources to the PDU sets.

[0033] According to a second aspect, there is provided a data transmission method comprising the steps of sequentially receiving k consecutive protocol data unit sets (PDU sets) and sequentially delivering the k PDU sets to m protocol entities in a first sequence, where k>m, km consecutive PDU sets starting from the (m+1)th PDU set of the k PDU sets are sequentially delivered in the first sequence to m protocol entities, where the priorities of the m protocol entities are different from each other and m>1.

[0034] In one implementation, the first sequence is a polling sequence of the 1st to mth protocol entities 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.

[0035] In one implementation, sequentially delivering k consecutive PDU sets in a first sequence to m protocol entities includes delivering a q-th PDU set of the k PDU sets to a v-th protocol entity of the m protocol entities, where v=q mod m if q mod m≠0, or v=m if q mod m=0, and mod denotes a modulo operation.

[0036] According to the data transmission method provided in this application, PDU sets are 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, and the receiver receives the PDU sets at the protocol entity corresponding to the sender's protocol entity. Therefore, the PDU set number does not need to be transmitted over the air interface, and the receiver can also know the PDU set to which each PDU that has been transmitted, is being transmitted, or received belongs, so that air interface resources can be saved.

[0037] In some implementations of the second aspect, the protocol entity is any one of a PDCP entity, an RLC entity, an SDAP entity, or a MAC entity.

[0038] In some implementations of the second aspect, m≧x, where x is determined based on any one of the periodicity of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.

[0039] In some implementations of the second aspect,

number

number

[0040] Based on this solution, the number of protocol entities is appropriately set so that it can be guaranteed that PDUs of only one PDU set always exist in any protocol entity and PDUs of two PDU sets are not mixed. Since the m protocol entities used by the receiving side have a one-to-one correspondence with the m protocol entities of the transmitting side, the receiving side can infer the PDU set number based on the protocol entity for receiving the PDU set. In this way, the PDU set number does not need to be transmitted over the air interface, so that air interface resources can be saved.

[0041] In some implementations of the second aspect, the priority of the protocol entity is a priority of a first resource associated with the protocol entity, and the first resource includes one or more of 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 Packet Radio Service Tunneling Protocol for the user plane (GPRS Tunneling 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, any two protocol entities are associated with different logical channels, and any one of the m logical channels is a logical channel group.

[0043] In uplink transmission, when a terminal device has a packet to be transmitted, it may use a buffer status report (BSR) to report the current amount of data to be transmitted in the buffer to a network device. The current protocol specifies that the BSR trigger condition is that new data to be transmitted is generated and the logical channel to which the data to be transmitted belongs is the first logical channel with data to be transmitted in the logical channel group to which the logical channel belongs. In this application, each protocol entity is associated with one logical channel group, and one protocol entity carries only one PDU set at a time. Therefore, the BSR is triggered every time a new PDU set arrives at the protocol entity or logical channel group.

[0044] Therefore, based on the above solution, the BSR can be reported at PDU set granularity without changing the BSR trigger condition or trigger mechanism. Furthermore, based on the BSR report at PDU set granularity, network devices can know the amount of data to be transmitted in each PDU set so as to appropriately allocate transmission resources to the PDU sets.

[0045] According to a third aspect, there is provided a communication device, comprising a module or unit configured to perform the method of the first aspect or any one of the possible implementations of the first aspect.

[0046] According to a fourth aspect, there is provided a communication device, comprising a module or unit configured to perform the method of the second aspect or any one of the possible implementations of the second aspect.

[0047] According to a fifth aspect, there is provided a communications device, comprising: a processor coupled to a memory configured to store a computer program or instructions, the memory configured to execute the computer program or instructions stored in the memory to perform a method of the first aspect or any one of the possible implementations of the first aspect.

[0048] In one possible implementation, the apparatus further includes a memory coupled to the processor.

[0049] In one possible implementation, there are one or more processors and / or one or more memories.

[0050] In one possible implementation, the memory and the processor may be integrated, or the memory and the processor are located separately.

[0051] In one possible implementation, the apparatus further includes a communication interface, the processor being coupled to the communication interface.

[0052] In one implementation, the device is a transmitter. For example, the communication interface may be a transceiver or an input / output interface.

[0053] In another implementation, the device is a sending chip.For example, the communication interface may be an input / output interface.

[0054] According to a sixth aspect, there is provided a communications device, comprising: a processor coupled to a memory configured to store a computer program or instructions, the memory configured to execute the computer program or instructions stored in the memory to perform a method of the second aspect or any one of the possible implementations of the second aspect.

[0055] In one possible implementation, the apparatus further includes a memory coupled to the processor.

[0056] In one possible implementation, there are one or more processors and / or one or more memories.

[0057] In one possible implementation, the memory and the processor may be integrated, or the memory and the processor are located separately.

[0058] In one possible implementation, the apparatus further includes a communication interface, the processor being coupled to the communication interface.

[0059] In one implementation, the device is a receiver. For example, the communication interface may be a transceiver or an input / output interface.

[0060] In another implementation, the device is a receiving chip.For example, the communication interface may be an input / output interface.

[0061] According to a seventh aspect, there is provided a processor including an input circuit, an output circuit, and a processing circuit configured to receive a signal through the input circuit and send a signal through the output circuit to enable the processor to perform a method of the first aspect or any one of possible implementations of the first aspect, or a method of the second aspect or any one of 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, a gate circuit, a trigger, various logic circuits, etc. The input signal received by the input circuit may be, for example, but not limited to, received and input by a receiver, and the signal output by the output circuit may be, for example, but not limited to, output and transmitted by a transmitter, and the input circuit and the output circuit may be the same circuit, or a 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 by this application.

[0063] According to an eighth aspect, there is provided a communication system, comprising the communication devices provided in the third and fourth aspects, or comprising the communication devices provided in the fifth and sixth aspects.

[0064] According to a ninth aspect, there is provided a computer program product. The computer program product includes a computer program (also called code or instructions). When the computer program is executed, the computer is enabled to perform the method of the first aspect or any one of the possible implementations of the first aspect, or the method of the second aspect or any one of the possible implementations of the second aspect.

[0065] According to a tenth aspect, there is provided a computer-readable storage medium. The computer-readable storage medium stores a computer program (also called code or instructions). When the computer program is executed on a computer, the computer is enabled to perform the method of the first aspect or any one of possible implementations of the first aspect, or the method of the second aspect or any one of possible implementations of the second aspect. [Brief explanation of the drawings]

[0066] [Figure 1]1 is a diagram of an example of a communication system according to an embodiment of the present application; [Figure 2] FIG. 2 is a diagram of another example of a communication system according to an embodiment of the present application. [Figure 3] 1 is a schematic flowchart of a data transmission method according to an embodiment of the present application; [Figure 4] FIG. 2 is a diagram of an example of a correspondence relationship between a PDU set and a protocol entity according to an embodiment of the present application. [Figure 5] FIG. 10 is a diagram of another example of a correspondence relationship between a PDU set and a protocol entity according to an embodiment of the present application. [Figure 6] FIG. 2 is a diagram of an example of a correspondence relationship between a sending protocol entity and a receiving protocol entity according to an embodiment of the present application. [Figure 7] FIG. 1 illustrates an example of distribution of a PDU set in the time domain according to an embodiment of the present application. [Figure 8] FIG. 10 is a diagram of another example of distribution of PDU sets in the time domain according to an embodiment of the present application. [Figure 9] FIG. 2 is a diagram of an example of the steps of adjusting the priority of protocol entities according to an embodiment of the present application; [Figure 10] FIG. 2 is a diagram of an example of dependencies between PDU sets according to an embodiment of the present application. [Figure 11] 1 is a block diagram of an example of a communication device according to an embodiment of the present application; [Figure 12] FIG. 2 is a block diagram of another example of a communication device according to an embodiment of the present application. [Figure 13] FIG. 2 is a diagram of an example of the structure of a terminal device according to an embodiment of the present application; [Figure 14] FIG. 2 is a diagram of an example structure of a network device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION

[0067] The following describes the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application.

[0068] In the description of this application, unless otherwise specified, " / " indicates that related objects 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 to describe related objects and indicates that three relationships may exist. For example, A and / or B can represent the following three cases: a case where only A exists, a case where both A and B exist, and a case where only B exists. Each of A and B may be singular or plural. Additionally, in the description of this application, "plurality" means two or more. "At least one of the following items" or similar expressions means any combination of these items, including any combination of a single item or multiple items. For example, at least one item of a, b, or c may refer to 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 describe the technical solutions of the embodiments of the present application, terms such as "first" and "second" are used in the embodiments of the present application to distinguish between the same or similar items having essentially the same function or purpose. Those skilled in the art can understand that terms such as "first" and "second" do not limit the number or execution sequence, and terms such as "first" and "second" do not indicate clear distinctions.

[0069] It should be understood that in this application, terms such as "when," "when," "if," and similar expressions may be used interchangeably.

[0070] The technical solutions of the embodiments of the present application may be applied to various communication systems, such as a long term evolution (LTE) system, a fifth generation (5G) mobile communication system, a New Radio (NR) mobile communication system, and other mobile communication systems that may emerge in the future.

[0071] For example, the technical solutions of the embodiments of the present 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 the present application is an uplink (UL) transmission (or uplink communication) scenario, the sender in the present application corresponds to a terminal device, and the receiver corresponds to a network device. For example, the sender may be a terminal device, a chip configured in the terminal device, or a module configured in the terminal device, and the receiver may be a network device, a chip configured in the network device, or a module configured in the network device.

[0073] When the method provided in the present application is a downlink (DL) transmission (or downlink communication) scenario, the sender in the present application corresponds to a network device, and the receiver corresponds to a terminal device. For example, the sender may be a network device, a chip configured in a network device, or a module configured in a network device, and the receiver 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 in 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 the terminal devices, or modules configured in the terminal devices. In addition, the two terminal devices may be the same type or different types. For example, the two terminal devices may both be mobile phones, or one may be a mobile phone and the other a notebook computer.

[0075] The terminal device in the embodiments of the present application may be a user equipment (UE), a station, an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent, or a user equipment. Alternatively, the terminal device may be a mobile phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device or another processing device connected to a wireless modem, an in-vehicle device, a wearable device, a terminal device in a future 5G network, a terminal device in a future evolved public land mobile network (PLMN), etc. This is not limited in the embodiments of the present application.

[0076] A network device in an embodiment of the present 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. As another example, the network device may alternatively be a module or unit that completes part of the functions of a base station, such as a central unit (CU) or a distributed unit (DU). As yet another example, the network device may alternatively be a radio controller in a cloud radio access network (CRAN) scenario, a relay station, an access point, an in-vehicle device, a wearable device, or an access network device in another future evolved communication system. The specific technology used by the network device and the specific device form are not limited in the present application.

[0077] In an embodiment of the present application, a terminal device or a network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also referred to as main memory). The operating system may be one or more computer operating systems that implement service processing by using processes, such as the Linux operating system, Unix operating system, Android operating system, iOS operating system, or Windows operating system. The application layer includes applications such as a browser, an address book, word processing software, and instant messaging software. In addition, the specific structure of the entity that executes the method provided in the embodiment of the present application is not particularly limited in the embodiment of the present application, as long as a program recording the code of the method provided in the embodiment of the present application can be executed to communicate according to the method provided in the embodiment of the present application. For example, the method provided in the embodiment of the present application may be executed by a terminal device or a network device, or a functional module that can call and execute a program in the terminal device or the network device.

[0078] Additionally, aspects or features of the present application may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term “article of manufacture” as used herein encompasses a computer program accessible from any computer-readable component, carrier, or medium. For example, computer-readable media may include, but are not limited to, magnetic storage components (e.g., hard disks, floppy disks, or magnetic tapes), optical disks (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). Additionally, 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 and various other media capable of storing, containing, and / or carrying instructions and / or data.

[0079] Figure 1 is a block diagram of a communication system applicable to the present 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 may be transmitted between the network device 110 and the terminal device 120. Sending a signal by the network device 110 to the terminal device 120 is called downlink transmission, and sending a signal by the terminal device 120 to the network device 110 is called uplink transmission.

[0080] It should be understood that when the communication method in the present application is applied to the communication system shown in FIG. 1, in an uplink transmission scenario, the sender may be the terminal device 120 and the receiver may be the network device 110, and in a downlink transmission scenario, the sender may be the network device 110 and the receiver may be the terminal device 120.

[0081] FIG. 2 is a diagram of another communication system applicable to the present application. The system 200 shown in FIG. 2 is a V2X communication architecture. Please refer to FIG. 2. The system 200 includes two types of communication interfaces: a PC5 interface and a Uu interface. The PC5 interface is a direct communication interface between two terminal devices (e.g., the terminal device 210 and the terminal device 220 shown in the figure). A direct communication link between terminal devices is also defined as a sidelink (SL). The Uu interface communication is a communication mode in which a transmitting terminal device (e.g., the terminal device 210) transmits V2X data to a network device 230 through the Uu interface, the network device 230 transmits 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 transmits the processed V2X data to a receiving terminal device (e.g., the terminal device 220). In the Uu interface communication mode, the network device that forwards uplink data from the transmitting terminal device to the application server and the network device that forwards downlink data delivered by the application server to the receiving terminal device may be the same network device or different network devices. This can be specifically determined by the application server. It should be understood that transmission by the transmitting terminal device to the network device is called uplink (UL) transmission, and transmission by the network device to the receiving terminal device is called downlink (DL) transmission.

[0082] It should be understood that when the communication method in the present application is applied to the communication system shown in FIG. 2, the sender may be the terminal device 210 and the receiver may be the terminal device 220, or the sender may be the terminal device 220 and the receiver may be the 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, which are not shown one by one in the drawings in the embodiments of the present application.

[0084] Before the methods provided in this application are described in detail, some concepts are first briefly explained below.

[0085] 1. PDU and Packet In this application, PDU and packet may be interchangeable, and PDU may also be referred to as packet.

[0086] 2. PDU set One frame (or one picture frame) includes one or more PDUs, which may be referred to as a PDU set. Therefore, a PDU set may also be understood as a frame.

[0087] PDU sets are periodic. For example, the frame rate is 60 fps, i.e., 60 PDU sets are sent every second. The period of PDU sets is 1 / 60th of a second (approximately equal to 16.67 ms), i.e., one PDU set appears every 1 / 60th of a second. fps stands for frames per second.

[0088] In addition, the PDU set has a transmission delay requirement. In one example, a packet delay budget (PDB) may represent the transmission delay requirement of the PDU set. For example, the PDB is assumed to be 30 ms. In this case, if the PDU set is not successfully transmitted to the receiver within 30 ms, the sender may discard the PDU set, and there is no need to transmit the unsuccessfully transmitted PDUs in the PDU set to the sender.

[0089] The method embodiments provided in this application are described in detail below.

[0090] 3 is a schematic flowchart of a data transmission method according to the present application. The method 300 may include steps S310 to S330.

[0091] S310: The sender sequentially delivers a set of k consecutive PDUs to m protocol entities in a first sequence.

[0092] When k>m, km consecutive PDU sets starting from the (m+1)th PDU set of the k PDU sets are sequentially delivered to m protocol entities in a first sequence, where the priorities of the m protocol entities are different from one another and m>1. For example, the first sequence is a polling sequence for the first to mth protocol entities of the m protocol entities, or the first sequence is a deployment sequence for the m protocol entities, or the m protocol entities are deployed in the first sequence.

[0093] In one implementation, sequentially delivering k consecutive PDU sets in a first sequence to m protocol entities includes delivering a q-th PDU set of the k PDU sets to a v-th protocol entity of the m protocol entities, where v=q mod m if q mod m≠0, or v=m if q mod m=0, and mod denotes a modulo operation.

[0094] S310 will be described 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, delivery of the 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 is delivered to the second protocol entity, and the sixth PDU set is delivered to the third protocol entity. Similarly, after polling of the three protocol entities is complete, 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, assume that the k PDU sets are PDU set 1 and PDU set 2, PDU set 1 is numbered 1, PDU set 2 is numbered 2, and the m protocol entities are 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, assume that the k PDU sets are PDU set 1 to PDU set 10, PDU sets 1 to 10 are numbered 1 to 10, and the m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3. See Figure 5. Based on the PDU set numbers, the sender can deliver PDU set 1, PDU set 4, PDU set 7, and PDU set 10 to protocol entity 1, PDU set 2, PDU set 5, and PDU set 8 to protocol entity 2, and PDU set 3, PDU set 6, and PDU set 9 to protocol entity 3.

[0097] For example, the PDU set number may be carried in a PDU within the PDU set, or may be indicated in another manner. 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 by this application. In addition, it should be understood that the PDU set number may alternatively be replaced with information such as a PDU set index or sequence number that can indicate a PDU sequence. The 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, the k PDU sets correspond to the same XR service.

[0099] In some embodiments, the protocol entity may be any one of 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 transmits k PDU sets in sequence, and the receiver receives k PDU sets in sequence accordingly.

[0102] That is, the transmitter transmits k PDU sets in a sequence of k PDU sets. For example, if the k PDU sets are PDU set 1 to PDU set 10 shown in Figure 5, PDU set 1 is transmitted first, followed by PDU set 2, then PDU set 3, PDU set 4, ..., PDU set 9, and PDU set 10. Correspondingly, the receiver receives PDU set 1 first, then PDU set 2, then PDU set 3, PDU set 4, ..., PDU set 9, and PDU set 10.

[0103] In some embodiments, one PDU set is transmitted in its entirety first, followed by another PDU set. For example, the prioritized bit rate (PBR) of a logical channel associated with a protocol entity may be set to infinity. This can ensure that PDUs in a protocol entity are scheduled only after PDUs in another protocol entity have been scheduled.

[0104] Note that in this application, "sequential" means that all PDUs in a PDU set are processed, followed by the PDUs in the next PDU set. However, the sequence and subsequent sequential processing (delivery within the sender, transmission within the sender, and delivery within the receiver) may differ. Specifically, the first sequence in which delivery continues 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 receiver sequentially delivers the set of k PDUs to the m protocol entities in a first sequence.

[0106] The m protocol entities on the receiving side have a one-to-one correspondence with the m protocol entities on the sending side. For example, see Figure 6. Sender protocol entity 1 corresponds to receiver protocol entity 1, sender protocol entity 2 corresponds to receiver protocol entity 2, and sender protocol entity 3 corresponds to receiver protocol entity 3. After receiving a set of PDUs sent by the sender on sender protocol entity 1, the receiver delivers the PDU set to receiver protocol entity 1. After receiving a set of PDUs sent by the sender on sender protocol entity 2, the receiver delivers the PDU set to receiver protocol entity 2. After receiving a set of PDUs sent by the sender on sender protocol entity 3, the receiver delivers the PDU set to receiver protocol entity 3.

[0107] S330 will be described using an example in which the k PDU sets are PDU set 1 to PDU set 10 and the protocol entity is a PDCP entity. In S330, the RLC layer on the transmitting side sequentially delivers PDCP set 1, PDU set 4, PDU set 7, and PDU set 10 to the MAC layer. After receiving each PDU set, the MAC layer processes the PDU set and then delivers the processed PDU set to PDCP entity 1 on the receiving side. PDCP entity 1 separately processes PDCP set 1, PDU set 4, PDU set 7, and PDU set 10 processed by the RLC layer. Similarly, the RLC layer on the transmitting side sequentially receives PDCP set 2, PDU set 5, and PDU set 8 from the MAC layer. After receiving each PDU set, the MAC layer processes the PDU set and then delivers the processed PDU set to PDCP entity 2 on the receiving side. PDCP entity 2 separately processes PDCP set 2, PDU set 5, and PDU set 8 processed by the RLC layer. The RLC layer on the transmitting side sequentially receives PDCP Set 3, PDU Set 6, and PDU Set 9 from the MAC layer. After receiving each PDU set, the MAC layer processes the PDU set and then delivers the processed PDU set to PDCP Entity 3 on the receiving side. PDCP Entity 3 separately processes PDCP Set 3, PDU Set 6, and PDU Set 9 processed by the RLC layer.

[0108] It should be understood that how the MAC layer, the RLC layer, and the PDCP layer process the PDCP set refers to the existing data processing methods of the MAC layer, the RLC layer, and the PDCP layer, and will not be described in detail in this specification. In addition, the subsequent operations 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, PDU sets are 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, and the receiver receives the PDU sets at the protocol entity corresponding to the sender's protocol entity. Therefore, the PDU set number does not need to be transmitted over the air interface, and the receiver can also know the PDU set to which each PDU that has been transmitted, is being transmitted, or received belongs, so that air interface resources can be saved.

[0110] In some embodiments, m≧x, where x is determined based on any one of the periodicity of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.

[0111] For ease of understanding and explanation, the periodicity of a PDU set, the validity period of a PDU set, and the maximum period of a PDU set are denoted as P, T, and t, respectively.

[0112] P=1 / f, where f represents the frame rate of the k PDU sets, or the service corresponding to the k PDU sets, or the number of PDU sets in unit time.

[0113] T: If the PDU set is not successfully delivered to the receiver after T, the sender may discard the PDU set. Alternatively, even if the PDUs in the PDU set are successfully delivered to the receiver after T, the PDUs are useless to the receiver.

[0114] In one example, T may be defined as the PDB described above, or may be defined as an access network (AN) PDB or a core network (CN) PDB.

[0115] In another example, T may be the duration of a discard timer of a protocol entity, which may be a timer associated with a PDU, or a timer associated with a PDU in a PDU set.

[0116] t: The time interval between the moment the sender receives the first PDU / first byte / first bit in a PDU set and the moment the sender receives the last PDU / last byte / last bit in the PDU set, or the time interval (max / min / average) between the first PDU / first byte / first bit in a 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, we use 60 fps as an example. Specifically, we assume that one PDU set arrives every 16.67 ms and that each PDU set has a validity period of 30 ms. The design principle for the value of x will be explained with reference to Figures 7 and 8.

[0121] See Figure 7. The PDUs in a PDU set can arrive at any time within the 16.67 ms period (e.g., the last PDU in a PDU set can arrive at the last moment of the 16.67 period). The sum of the two periods is 33.3 ms, which is longer than the invalidity period. Therefore, when PDU set 4 arrives, PDU set 1 has already been transmitted, 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. Such periodic scheduling makes it possible to ensure that there are PDUs from only one PDU set in any protocol entity at any time, and that PDUs from two PDU sets are not mixed.

[0122] See Figure 8. In a scenario where all PDUs in a PDU set arrive simultaneously at the earliest possible time P and the duration of a PDU set does not exceed t, the time elapsed between the arrival of all PDUs in PDU set 1 and the arrival of all PDUs in PDU set 3 is exactly two 16.67 ms periods. In other words, PDU set 3 is completely received 33.3 ms after PDU set 1 arrives (in this case, PDU set 1 is invalid). Because T is 30 ms, not 33.3 ms, it can be guaranteed that, as long as t ≤ 3.3 ms, the first PDU in PDU set 3 arrives immediately after the last PDU in PDU set 1 is received over 30 ms and is therefore invalid. In this case, PDU set 3 can be delivered to the protocol entity where PDU set 1 is located. Therefore, in this case, only two protocol entities can guarantee that there are always PDUs from only one PDU set in any protocol entity and that PDUs from the two PDU sets are not intermixed.

[0123] In conclusion, based on this solution, the number of protocol entities is appropriately set so that it can be guaranteed that PDUs of only one PDU set always exist in any protocol entity and PDUs of two PDU sets are not mixed. Since the m protocol entities used by the receiving side have a one-to-one correspondence with the m protocol entities of the transmitting side, the receiving side can infer the PDU set number based on the protocol entity for receiving the PDU set. In this way, the PDU set number does not need to be transmitted over the air interface, so that air interface resources can be saved.

[0124] Additionally, 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, and any one of the m logical channels is a logical channel group.

[0125] For example, the 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 a packet to be transmitted, it may use a buffer status report (BSR) to report the current amount of data to be transmitted in the buffer to a network device. The current protocol specifies that the BSR trigger condition is that new data to be transmitted is generated and the logical channel to which the data to be transmitted belongs is the first logical channel with data to be transmitted in the logical channel group to which the logical channel belongs. In this application, each protocol entity is associated with one logical channel group, and one protocol entity carries only one PDU set at a time. Therefore, the BSR is triggered every time a new PDU set arrives at the protocol entity or logical channel group.

[0127] Therefore, according to the solution of the present application, the BSR can be reported at PDU set granularity without changing the BSR trigger conditions or trigger mechanism. Furthermore, based on the BSR report at PDU set granularity, a network device can know the amount of data to be transmitted in each PDU set so as to appropriately allocate transmission resources to the PDU sets.

[0128] In some embodiments, the priorities of the m protocol entities are in descending order before the first PDU set in the k PDU sets is transmitted.

[0129] To facilitate understanding of the priorities of protocol entities described in this application, it is assumed that the priorities of protocol entities are represented by numbers in this application, with lower numbers indicating higher priorities.

[0130] In one example, the descending order of priority for the m protocol entities may be that the priority of the m protocol entities decreases sequentially by one level, e.g., the priorities of the m protocol entities are 1, 2, 3, ..., and m.

[0131] In one example, the priorities of m protocol entities in descending order may be that the priority of the zth protocol entity among the m protocol entities is higher than the priority of the (z+1)th protocol entity, but the priorities of the zth protocol entity and the (z+1)th protocol entity may not 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 of the m protocol entities may be 2, 4, and 7.

[0132] Optionally, the priority of any protocol entity is the priority of a first resource associated with the protocol entity, which may be any one of 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] In the following, several embodiments related to S320 will be described in detail.

[0134] Embodiment 1 S320 may particularly include the steps of sequentially transmitting the k PDU sets using transmission resources, and adjusting the priorities of the m protocol entities when the current transmission resources are exhausted or are less than a first preset value.

[0135] An uplink transmission is used as an illustrative example. 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 scheduled to be transmitted for PDU set 1, and the receiver allocates transmission resource 1 for transmitting PDU set 1. After the sender completely transmits PDU set 1, if transmission resource 1 remains and the remaining transmission resource (denoted as transmission resource 1a) is greater than a first preset value, the sender may use transmission resource 1a to transmit PDU set 2. After the sender completely transmits 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 resource (denoted as transmission resource 1b) is less than the first preset value, the priorities of the m protocol entities are adjusted. After the sender completely transmits PDU set 2, if transmission resources 1a remain and the remaining transmission resources 1b are greater than the first preset value, the sender can continue to use transmission resources 1b to transmit PDU set 3. If transmission resources 1b are exhausted or the remaining transmission resources in transmission resources 1b are less than the first preset value after some of the PDUs in PDU set 3 are transmitted, the priorities of the m protocol entities are adjusted.

[0136] When the priority is adjusted, or thereafter, the receiver can again allocate resources to the sender, and the sender can continue to transmit the PDU set or PDUs of the PDU set that were not transmitted or were not successfully transmitted, using the resources now allocated by the receiver.

[0137] It should be understood that the transmission resource may be a time-frequency resource. In addition, the first preset value may be specified in a protocol or may be pre-configured, which is not limited in this application.

[0138] Based on embodiment 1, in one example, if the current transmission resources are insufficient to completely transmit the s-th PDU set among the 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 transmission resource 1b is exhausted after some of the PDUs in PDU set 3 have been transmitted or the remaining transmission resources in transmission resource 1b are less than the first preset value, the priority of the protocol entity corresponding to PDU set 3 is adjusted to be the highest.

[0140] Based on this solution, after reacquiring transmission resources, the receiving side may first transmit the remaining PDUs in the previously transmitted s-th PDU set to ensure that the PDU sets are transmitted sequentially.

[0141] Furthermore, in addition to adjusting the priority of the protocol entity corresponding to the sth PDU set to be 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 jth protocol entity among the m protocol entities is the raw priority of the ([j+(ab)+m] mod m)th protocol entity among the m protocol entities. When [j+(ab)+m] mod m=0, the adjusted priority of the jth protocol entity among the m protocol entities is the raw priority of the mth protocol entity among the m protocol entities. The ath protocol entity among the m protocol entities is used to carry the sth PDU set, and before adjustment, the bth protocol entity among the m protocol entities is the protocol entity with the highest priority among the m protocol entities, where 1≦a≦m and 1≦b≦m.

[0143] For example, the 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 PDU set 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, the 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 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.

[0145] Based on embodiment 1, in another example, if the current transmission resources are used to completely transmit the sth 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 transmission resource 1 is exhausted after the sender has completely transmitted PDU set 2, i.e., transmission resource 1a is used up, or if transmission resource 1a remains but the remaining transmission resource is 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 reacquiring transmission resources, the receiver may transmit the (s+1)th PDU set first to ensure that the PDU sets are transmitted sequentially.

[0148] Furthermore, in addition to the step of adjusting the priority of the protocol entity corresponding to the (s+1)th PDU set to be 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 jth protocol entity among the m protocol entities is the unadjusted priority of the ([j+(ab)+m] mod m)th protocol entity among the m protocol entities. When [j+(ab)+m] mod m=0, the adjusted priority of the jth protocol entity among the m protocol entities is the unadjusted priority of the mth protocol entity among the m protocol entities. The ath protocol entity among the m protocol entities is used to carry the (s+1)th PDU set, and before adjustment, the bth protocol entity among the m protocol entities is the protocol entity with the highest priority among the m protocol entities, where 1≦a≦m and 1≦b≦m.

[0150] For example, the 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 PDU set 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, the 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 particularly include adjusting the priorities of the m protocol entities after each PDU set is completely transmitted.

[0153] The raw 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. In other words, when 2≦j≦m, the adjusted priority of the jth protocol entity among the m protocol entities is the raw priority of the (j-1)th protocol entity among the m protocol entities. When j=1, the adjusted priority of the 1st protocol entity among the m protocol entities is the raw priority of the mth protocol entity among the m protocol entities.

[0154] Specifically, after PDU set 1 is completely transmitted, the priorities of the m protocol entities are adjusted. After PDU set 2 is completely transmitted, the priorities of the m protocol entities are adjusted again. After PDU set 3 is completely transmitted, the priorities of the m protocol entities continue to be adjusted until k PDU sets are completely transmitted.

[0155] An example will be used for explanation with reference to Figure 9. See Figure 9. The m protocol entities are protocol entity 1, protocol entity 2, and protocol entity 3. Before PDU set 1 is transmitted, the priorities of protocol entity 1, protocol entity 2, and protocol entity 3 are 1, 3, and 4, respectively. After PDU set 1 is completely transmitted, 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 completely transmitted, 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 completely transmitted, 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 same applies to other PDU sets, and details will not be described again in this specification.

[0156] Embodiment 3 In the process of sequentially transmitting k PDU sets, if the wth PDU set among the k PDU sets is invalid, the PDUs that are not successfully transmitted in the wth PDU set are discarded, where w≧1.

[0157] It should be understood that in the present application, a PDU set being invalid may mean 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 completely transmitted but another subsequent PDU set has been received; the PDUs in the PDU set have not been completely transmitted within the validity period of the PDU set; the percentage of PDUs in the PDU set that have not been transmitted within the validity period of the PDU set exceeds a certain value; the PDU set is not transmitted within the expected time; the PDU set is not received by the receiver within the expected time; or an ACK response for the PDU set is not received from the receiver within the expected time.

[0158] Embodiment 3 will be described using an example in which the m protocol entities are three protocol entities. From the above corresponding description of Figure 7, it can be seen that if PDU set 1 is not completely transmitted when PDU set 4 arrives, PDU set 1 is invalid. In this case, the PDUs not successfully transmitted in PDU set 1 may be discarded. Similarly, if PDU set 4 is not completely transmitted when PDU set 7 arrives, PDU set 4 is invalid. In this case, the PDUs not successfully transmitted in PDU set 4 may be discarded.

[0159] Additionally, at least one PDU set may be discarded, the at least one PDU set being from the (w+1)th PDU set to the (w+e)th PDU set, where e≧1, the at least one PDU set being of a first type and associated with the wth PDU set, and both the wth PDU set and the (w+e+1)th PDU set being of a second type, the first type being different from the second type.

[0160] There are dependencies between some PDU sets. See, for example, the frames shown in FIG. 10. I frames carry complete information, and P frames can only be successfully decoded by relying on I frames. Therefore, if an I frame fails to be transmitted, P frames that depend on the I frame do not need to be transmitted. In addition, there are dependencies between P frames. For example, the last P frame can only be successfully decoded by relying on the previous P frame. In this case, if the wth PDU set is invalid and therefore discarded, and one or more PDU sets after the wth PDU set need to depend on the wth PDU set, then one or more PDU sets that depend on the wth 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 side.

[0162] In one example, the first type may be a P frame, and the second type is not a P frame, 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. Alternatively, the first type is a PDU set that can be discarded and the second type is a PDU set that cannot be discarded. Alternatively, the first type is a non-critical PDU set and the second type is a critical PDU set. Alternatively, the first type is a PDU set that carries video data and the second type is a PDU set that carries audio data. Alternatively, the first type is a PDU set that carries non-control information and the second type is a PDU set that carries control information. Alternatively, the first type is a PDU set with a lower priority and the second type is a PDU set with a higher priority. Alternatively, the first type is a dependent PDU set and the second type is a non-dependent PDU set.

[0164] For example, if PDU set 1 is not a P-frame but is, for example, an I-frame, and some PDUs in PDU set 1 were not transmitted correctly and are invalid, PDU set 1 may be discarded. If PDU set 2 is a P-frame, PDU set 2 may also be discarded. If PDU set 3 is an I-frame, PDU set 3 is not discarded. If PDU set 3 is a P-frame, 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 in it were not transmitted correctly and are invalid, then PDU set 1 may be discarded. If PDU set 2 is a non-critical PDU set frame, then PDU set 2 may also be discarded. If PDU set 3 is a critical PDU set, then PDU set 3 is not discarded. If PDU set 3 is a non-critical PDU set frame, then PDU set 3 is discarded. This continues until a critical PDU set is encountered, then the 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 adjusting the priority of the protocol entity corresponding to the (w+e+1)th PDU set. Further, the priorities of the other m-1 protocol entities of the m protocol entities may be adjusted.

[0168] For example, when [j+(ab)+m] mod m≠0, the adjusted priority of the jth protocol entity among the m protocol entities is the unadjusted priority of the ([j+(ab)+m] mod m)th protocol entity among the m protocol entities. When [j+(ab)+m] mod m=0, the adjusted priority of the jth protocol entity among the m protocol entities is the unadjusted priority of the mth protocol entity among the m protocol entities. The ath protocol entity among the m protocol entities is used to carry the (w+e+1)th PDU set, and before adjustment, the bth protocol entity among the m protocol entities is the protocol entity with the highest priority among the m protocol entities, where 1≦a≦m and 1≦b≦m.

[0169] Based on this solution, it can be ensured that the first PDU set that does not need to be discarded is transmitted first, which can ensure that the PDU sets are transmitted sequentially.

[0170] In the above solution, PDU sets of different types, e.g., P frames and I frames, may be delivered to the same protocol entity. In some other embodiments of the present application, only frames of the same type may be transmitted to the same protocol entity. k consecutive PDU sets may be delivered to 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 PDU set and the second type PDU set is m, where the value of m is described above.

[0172] The k PDU sets are classified based on first and second types, including the 1st through k1th first-type PDU sets and the 1st through k2nd second-type PDU sets, where k1+k2=k. The 1st through k1th first-type PDU sets are sequentially delivered to the m protocol entities corresponding to the first-type PDU sets according to the above-mentioned delivery sequence or rule, and the 1st through k1th second-type PDU sets are sequentially delivered to the m protocol entities corresponding to the second-type PDU sets according to the above-mentioned delivery sequence or rule.

[0173] For example, if PDU Set 1 and PDU Set 2 are of the first type, then PDU Set 1 and PDU Set 2 are the first and second first-type PDU sets. If PDU Set 3 is of the second type, then PDU Set 3 is the first second-type PDU set. If PDU Set 4 is of the first type, then PDU Set 3 is the third first-type PDU set. 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 it may be delivered to PDU Set 1. Other PDU set distribution rules are similar and will not be described in detail again here.

[0174] The above describes the method embodiments provided in the present application, and the following describes the device embodiments provided in the present application. It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Therefore, for the contents that are not described in detail, please refer to the method embodiments. For the sake of brevity, the details will not be described again in this specification.

[0175] FIG. 11 is a block diagram of a communication device according to an embodiment of the present application. As shown in FIG. 11, the device 2000 may include a processing unit 2100 and a transceiver unit 2200. The transceiver unit 2200 may implement a corresponding communication function, for example, receive or transmit a PDU set. The processing unit 2100 may implement a corresponding processing function, for example, deliver the PDU set to a protocol entity. The transceiver unit 2200 may also be referred to as a communication interface or a 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 in the storage unit so that the device implements the aforementioned method embodiments.

[0176] In a possible design, the apparatus 2000 may be a transmitter in the aforementioned method embodiments, or may be a module or chip used in the transmitter. The apparatus 2000 may be configured to perform steps or procedures performed by the transmitter in any one of the aforementioned method embodiments.

[0177] Specifically, the processing unit 2100 is configured to sequentially deliver k consecutive protocol data unit sets (PDU sets) to m protocol entities in a first sequence, where k>m, and km consecutive PDU sets starting from the (m+1)th PDU set of the k PDU sets are sequentially delivered to m protocol entities in the first sequence, where the priorities of the m protocol entities are different from each other and m>1. The transceiver unit 2200 is configured to sequentially transmit the k PDU sets.

[0178] Optionally, the first sequence is an arrangement sequence of the m protocol entities, or the m protocol entities are arranged in the first sequence.

[0179] Optionally, the processing unit 2100 is specifically configured to deliver the q-th PDU set of the k PDU sets to the v-th protocol entity of the m protocol entities, where v=q mod m if q mod m≠0, or v=m if q mod m=0, and mod denotes the modulo operation.

[0180] Optionally, the transceiver unit 2200 is specifically configured to sequentially transmit the k PDU sets using the transmission resources. The processing unit 2100 is further configured to adjust the priorities of the m protocol entities when the current transmission resources are exhausted or are less than a first preset value.

[0181] Optionally, the processing unit 2100 is specifically configured to adjust the priority of the protocol entity corresponding to the sth PDU set to be the highest when the current transmission resources are insufficient to completely transmit the sth PDU set among the k PDU sets, or to adjust the priority of the protocol entity corresponding to the (s+1)th PDU set to be the highest when the current transmission resources are used to completely transmit the sth 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 priorities of the m protocol entities after each PDU set is completely transmitted, where the raw priorities of the m protocol entities are m, m, ..., and mm, in sequence, and the adjusted priorities of the m protocol entities are mm, m, ..., and m(m-1), in sequence.

[0183] Optionally, the processing unit 2100 is further configured to discard a PDU that was not successfully transmitted in the wth PDU set when the wth PDU set among the k PDU sets is invalid, where w≧1.

[0184] Optionally, the processing unit 2100 is further configured to discard at least one PDU set, the at least one PDU set being from the (w+1)th PDU set to the (w+e)th PDU set, where e≧1, the at least one PDU set being of a first type and associated with the wth PDU set, and both the wth PDU set and the (w+e+1)th PDU set being of a second type, and the first type being different from the second type.

[0185] Optionally, 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.

[0186] Optionally, m≧x, where x is determined based on any one of the periodicity of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.

[0187] In another possible design, the apparatus 2000 may be a receiver in the described method embodiments, or may be a module or chip used in the receiver. The apparatus 2000 may be configured to perform steps or procedures performed by the receiver in any one of the foregoing method embodiments.

[0188] Specifically, the transceiver unit 2200 is configured to sequentially receive k consecutive protocol data unit sets (PDU sets). The processing unit 2100 is configured to sequentially deliver the k PDU sets to m protocol entities in a first sequence. When k>m, km consecutive PDU sets starting from the (m+1)th PDU set of the k PDU sets are sequentially delivered to m protocol entities in the first sequence, where the priorities of the m protocol entities are different from each other and m>1.

[0189] Optionally, the first sequence is an arrangement sequence of the m protocol entities, or the m protocol entities are arranged in the first sequence.

[0190] Optionally, the processing unit 2100 is specifically configured to deliver the q-th PDU set of the k PDU sets to the v-th protocol entity of the m protocol entities, where v=q mod m if q mod m≠0, or v=m if q mod m=0, and mod denotes the modulo operation.

[0191] Optionally, 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.

[0192] Optionally, m≧x, where x is determined based on any one of the periodicity of the PDU set, the validity period of the PDU set, or the maximum period of the PDU set.

[0193] It should be understood that the "units" in apparatus 2000 may be implemented in hardware, software, or hardware executing corresponding software. For example, a "unit" herein may be an application-specific integrated circuit (ASIC), an electronic circuit, a processor (e.g., a shared processor, a dedicated processor, or a group processor) configured to execute one or more software or firmware programs, a memory, a combinational logic circuit, and / or other suitable components supporting the described functionality. As another example, transceiver unit 2200 may be replaced with transceiver circuitry (e.g., which may include receive circuitry and transmit circuitry), and processing unit 2100 may be replaced with a processor or processing circuitry.

[0194] 12 is a block diagram of another communication device 3000 according to an embodiment of the present application. The device 3000 may be a transmitter, or a receiver, or may be a chip, chip system, processor, etc. that supports the transmitter in implementing the aforementioned method, or may be a chip, chip system, processor, etc. that supports the receiver in implementing the aforementioned method. The device may be configured to implement the method described in the aforementioned method embodiments. For details, please refer to the description of the aforementioned method embodiments.

[0195] The device 3000 may include one or more processors 3100. The processor 3100 may also be referred to as a processing unit and may implement specific control functions. The processor 3100 may be a general-purpose processor, a special-purpose processor, or the like, such as a baseband processor or a central processing unit. The baseband processor may be configured to process communication protocols and communication data. The central processing unit may be configured to control a communication device (e.g., a base station, a baseband chip, a user chip, a DU, or a CU), execute software programs, and process data of the software programs.

[0196] In an optional design, the processor 3100 may also store instructions and / or data 28, which may be executed by the processor 3100 such that the apparatus 3000 performs the methods described in the preceding method embodiments.

[0197] In another optional design, the processor 3100 may include a transceiver 3200 configured to implement receiving and transmitting functions. For example, the transceiver 3200 may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit configured to implement receiving and transmitting 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 forward signals.

[0198] In yet another possible design, the apparatus 3000 may include circuitry that may implement the transmitting, receiving, or communication functionality in the aforementioned method embodiments.

[0199] Optionally, the apparatus 3000 may include one or more memories 3300. The memory 3300 may store instructions. The instructions may be executed on the processor 3100 so that the apparatus 3000 performs the methods described in the preceding method embodiments. Optionally, the memory 3300 may further store data. Optionally, the processor 3100 may also store instructions and / or data. The processor 3100 and the memory may be located separately or integrated.

[0200] 13 is a diagram of the structure of a terminal device 4000 according to the present 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 may perform the operations performed by the transmitter or receiver in the above-described method embodiments. Optionally, for ease of explanation, FIG. 13 shows only the main components of the terminal device. As shown in FIG. 13, the terminal device 4000 includes a processor, a memory, a control circuit, an antenna, and an input / output device.

[0201] The processor is primarily configured to process communication protocols and communication data, control the entire terminal device, execute software programs, and process data from the software programs. For example, the processor is configured to support the terminal device in performing the operations described in the aforementioned data transmission method embodiment. The memory is primarily configured to store software programs and data, for example, the PDU set described in the aforementioned embodiment. The control circuit is primarily configured to convert between baseband signals and radio frequency signals and process radio frequency signals. The combination of the control circuit and the antenna may be referred to as a transceiver and may be primarily configured to transmit / receive radio frequency signals in the form of electromagnetic waves. The input / output device, such as a touchscreen, display, or keyboard, is primarily configured to receive data input by a user and output data to the user.

[0202] After the terminal device is powered on, the processor can read the software program in the storage unit, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 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 the form of an electromagnetic wave through an 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 into a baseband signal, and outputs the baseband signal to the processor. The processor converts the baseband signal into data and processes the data.

[0203] Those skilled in the art will understand that for ease of explanation, Figure 13 shows only one memory and one processor. In an actual terminal device, there may be multiple processors and multiple memories. The memory may also be referred to as a storage medium, a storage device, or the like. This is not limited to the embodiments of the present application.

[0204] For example, the 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 FIG. 13 integrates the functions of the baseband processor and the central processing unit. Those skilled in the art will appreciate that the baseband processor and the central processing unit may instead be independent processors and be interconnected using technology such as a bus. Those skilled in the art will appreciate that a terminal device may include multiple baseband processors to accommodate different network standards, 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 referred to as a baseband processing circuit or a baseband processing chip. The central processing unit may also be referred to as a central processing circuit or a central processing chip. The function of processing communication protocols and communication data may be built into the processor or stored in a storage unit in the form of a software program. The processor executes the software program to perform the baseband processing function.

[0205] For example, in this embodiment of the present application, an antenna and a control circuit having receiving and transmitting functions may be regarded as a transceiver unit 4100 of the terminal device 4000, and a processor having processing functions may be regarded as a processing unit 4200 of the terminal device 4000. As shown in FIG. 13, the terminal device 4000 includes a transceiver unit 4100 and a processing unit 4200. The transceiver unit may also be referred to as a transceiver, a transceiver machine, a transceiver apparatus, etc. Optionally, a component configured to implement a receiving function in the transceiver unit 4100 may be regarded as a receiving unit, and a component configured to implement a transmitting function in the transceiver unit 4100 may be regarded as a transmitting unit. That is, the transceiver unit 4100 includes a receiving unit and a transmitting unit. For example, the receiving unit may be referred to as a receiver, a receiver machine, a receiver circuit, etc., and the transmitting unit may be referred to as a transmitter, a transmitter machine, a transmitter circuit, etc.

[0206] 14 is a diagram of the structure of a network device 5000 according to one embodiment of the present application. The communication device 2000 or the 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 may perform the operations performed by the sender or receiver in the aforementioned method embodiments.

[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 referred to as digital units (DUs)). The RRU 5100 may also be referred to as 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 mainly configured to receive and transmit radio frequency signals and perform conversion between radio frequency signals and baseband signals. The BBU 5200 is mainly configured to perform baseband processing, control the network device 5000, etc. The RRU 5100 and the BBU 5200 may be physically co-located or physically separate, i.e., in distributed base stations.

[0208] The BBU 5200 is the control center of the network device 5000, and may also be referred to as a processing unit, and is mainly configured to perform baseband processing functions such as channel coding, multiplexing, modulation, and spectrum spreading, etc. For example, the BBU (processing unit) 5200 may be configured to control the network device 5000 to perform operation procedures related to the transmitting side or receiving side of the aforementioned method embodiments.

[0209] In one example, the BBU 5200 may include one or more boards. The multiple boards may jointly support a radio access network of a single access standard (e.g., an LTE system or a 5G system) or 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 necessary instructions and data. The processor 5220 is configured to control the network device 5000 to perform necessary operations, for example, to control the network device 5000 to perform operation procedures related to the transmitter or receiver in the aforementioned method embodiments. The memory 5210 and the processor 5220 may be responsible for one or more boards. In other words, the memory and the processor may be provided on each board. Alternatively, multiple boards may share the same memory and the same processor. In addition, necessary circuits may be further disposed 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 can also read its own memory to implement the base station-related functions.

[0211] It should be understood that the structure of the network device shown in Figure 14 is only a possible form and should not constitute any limitation on the embodiments of the present application. The present application does not exclude 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 herein may be implemented using hardware integrated logic circuits in a processor or using instructions in the form of software. The steps of the methods disclosed with reference to the embodiments of the present application may be directly executed by a hardware processor, or may be executed by a combination of hardware and software modules in a processor. The software modules may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the aforementioned method together with the hardware of the processor. To avoid repetition, details will not be described again in this specification.

[0213] It should be noted that the processor in the embodiments of the present application may be an integrated circuit chip and have signal processing capabilities. In one implementation process, the steps in the above-described method embodiments can be implemented by using hardware integrated logic circuitry in 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 the present 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 the embodiments of the present application may be performed directly by a hardware decoding processor or by a combination of hardware and a software module in the decoding processor. The software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the aforementioned method together with the processor's hardware.

[0214] It should be understood that the memory in the embodiments of the present application may be volatile memory or nonvolatile memory, or may include volatile memory and nonvolatile memory. The nonvolatile 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. The volatile memory may be random access memory (RAM) and is used as an external cache. By way of example and not limitation, many forms of RAM may be used, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink dynamic random access memory (SLDRAM), and direct rambus random access memory (DR RAM). It should be noted that memory in the systems and methods described herein includes, but is not limited to, these and any other suitable types of memory.

[0215] The present application further provides a computer program product, which includes computer program code that, when executed on a computer, enables the computer to perform the steps or procedures performed by the sender or receiver in any one of the aforementioned method embodiments.

[0216] The present application further provides a computer-readable storage medium, which stores program code, which, when executed on a computer, enables the computer to perform the steps or procedures performed by the sender or receiver in any one of the above-described method embodiments.

[0217] The present application further provides a communication system, including a sending side and a receiving side.

[0218] The above-described apparatus embodiments fully correspond to the above-described method embodiments. Corresponding modules or units perform corresponding steps. For example, a transceiver unit or transceiver may perform a receiving step or a transmitting step in a method embodiment, and a processing unit or processor may perform steps other than a transmitting step or a receiving step.

[0219] In the embodiments of the present application, all terms and English abbreviations are examples given for ease of explanation and should not constitute any limitation to the present application. The present application does not exclude the possibility of defining other terms that can 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, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, a thread of execution, a program, and / or a computer. As illustrated using figures, both computing devices and applications running on computing devices may be components. One or more components may reside within a process and / or thread of execution, and components may be located on one computer and / or distributed between two or more computers. Additionally, these components may execute 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 two components interacting with another component in a local system, a distributed system, and / or over a network such as the Internet that interacts with other systems using signals).

[0221] Those skilled in the art may recognize that the illustrative logical blocks and steps described in the embodiments disclosed herein may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether a function is 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 each specific application, but the implementation should not be considered to go beyond the scope of this application.

[0222] It should be clearly understood by those skilled in the art that for the sake of convenience and concise description, for the detailed operation processes of the aforementioned systems, devices and units, please refer to the corresponding processes in the aforementioned method embodiments, and the details will not be described again in this specification.

[0223] It should be understood that in some embodiments provided in this application, the disclosed systems, devices, and methods may be implemented in other manners. For example, the described device embodiments are merely examples. For example, the division into units is merely a division of logical functions, and other divisions may be used in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented via some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electrical, mechanical, or other forms.

[0224] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, and may be located in one location or distributed over multiple network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.

[0225] In addition, the functional units of the embodiments of the present application may be integrated into one processing unit, each of the units may exist physically alone, or two or more units may be integrated into one unit.

[0226] In the above-described embodiments, all or part of the functions of the functional units may be implemented by software, hardware, firmware, or any combination thereof. When software is used to implement an embodiment, all or part of the embodiment may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded into a computer and executed, the procedures or functions according to the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or another programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, or digital subscriber line (DSL)) or wireless (e.g., infrared, radio, or microwave) transmission. The computer-readable storage medium may be any available medium that can be accessed by a computer, or may be a data storage device, such as a server or a data center, that integrates one or more available media. 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] When a function is implemented in the form of a software functional unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application may essentially be implemented, or a portion of the technical solution may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes some 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 the present application. The aforementioned storage medium includes any medium capable of storing program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0228] The above description is merely a specific embodiment of the present application and is not intended to limit the scope of protection of the present application. Any variations or replacements that can be easily conceived by those skilled in the art within the technical scope disclosed in the present application shall fall within the scope of protection of the present application. Therefore, the scope of protection of the present 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 equipment 2100,4200 processing units 2200,4100 transceiver unit 3100,5220 processor 3200 Transceiver 3300,5210 memory 5100 Remote Radio Unit (RRU) 5110 Antenna 5120 Radio Frequency Unit 5200 Baseband Unit (BBU)

Claims

1. 1. A data transmission method, comprising: a step of sequentially delivering, by a processing unit, k consecutive protocol data unit sets (PDU sets) to m protocol entities in a first sequence, wherein the first sequence is an 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 priorities of the m protocol entities are different from each other, and m>1; transmitting, by a transceiver unit, the k sets of PDUs sequentially; A method comprising:

2. The step of sequentially delivering a set of k consecutive PDUs in a first sequence to m protocol entities comprises: delivering a q-th PDU set of the k PDU sets to a v-th protocol entity 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 denotes a modulo operation; 2. The method of claim 1, comprising:

3. The step of sequentially transmitting the k PDU sets comprises: transmitting the k PDU sets sequentially using transmission resources; adjusting the priorities of the m protocol entities when current transmission resources are exhausted or are less than a first preset value; 2. The method of claim 1, comprising:

4. adjusting the priorities of the m protocol entities when current transmission resources are exhausted or are less than a first preset value; if the current transmission resources are insufficient to completely transmit the s-th PDU set of the k PDU sets, adjusting the priority of the protocol entity corresponding to the s-th PDU set to be the highest; or adjusting the priority of the protocol entity corresponding to the (s+1)th PDU set to be the highest if the current transmission resources are used to completely transmit the sth PDU set but are insufficient to transmit the (s+1)th PDU set.

4. The method of claim 3, comprising:

5. The step of sequentially transmitting the k PDU sets comprises: adjusting the priorities of the m protocol entities after each PDU set is completely transmitted, wherein the raw priorities of the m protocol entities are m1, m2, ..., and mm, in order, and the adjusted priorities of the m protocol entities are mm, m1, ..., and m(m-1), in order.

2. The method of claim 1, comprising:

6. The method of claim 5, wherein the processing unit discards a PDU that is not successfully transmitted in the w-th PDU set if the w-th PDU set among the k PDU sets is invalid, where w≧1. The method of claim 1 further comprising:

7. The method of claim 6, further comprising: discarding, by the processing unit, at least one PDU set, the at least one PDU set being from the (w+1)th PDU set to the (w+e)th PDU set, e≧1; the at least one PDU set being a first type PDU set associated with the wth PDU set; and both the wth PDU set and the (w+e+1)th PDU set being second type PDU sets, the first type being different from the second type.

7. The method of claim 6, further comprising:

8. 2. The method of claim 1, wherein 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.

9. The method of claim 1 , wherein m≧x, and x is determined based on one or more of a periodicity of the PDU set, a validity period of the PDU set, or a maximum period of the PDU set.

10. 1. A data transmission method, comprising: receiving, by a transceiver unit, k consecutive sets of protocol data units (PDU sets); a step of sequentially delivering, by a processing unit, the k PDU sets to m protocol entities in a first sequence, the first sequence being a placement sequence of the m protocol entities, where 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, the transmission order priorities of the m protocol entities are different from each other, and m>1; A method comprising:

11. The step of sequentially delivering the k sets of PDUs in a first sequence to m protocol entities comprises: delivering a q-th PDU set of the k PDU sets to a v-th protocol entity 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 denotes a modulo operation; 11. The method of claim 10, comprising:

12. 11. The method of claim 10, wherein 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.

13. The method of claim 10, wherein m≧x, and x is determined based on one or more of a periodicity of the PDU set, a validity period of the PDU set, or a maximum period of the PDU set.

14. A communication device, a processing unit configured to sequentially deliver k consecutive protocol data unit sets (PDU sets) to m protocol entities in a first sequence, wherein the first sequence is an arrangement sequence of the m protocol entities, and when k>m, k-m consecutive PDU sets starting from the (m+1)th PDU set of the k PDU sets are sequentially delivered to the m protocol entities in the first sequence, and the transmission order priorities of the m protocol entities are different from each other, and m>1; a transceiver unit configured to sequentially transmit the k PDU sets; An apparatus comprising:

15. The processing unit delivering a q-th PDU set of the k PDU sets to a v-th protocol entity of the m protocol entities, where v = q mod m if q mod m ≠ 0, or v = m if q mod m = 0, and mod denotes a modulo operation; 15. The apparatus of claim 14, further configured to:

16. the transceiver unit is further configured to transmit the k PDU sets sequentially using transmission resources; the processing unit is further configured to adjust the priorities of the m protocol entities when current transmission resources are exhausted or are less than a first preset value.

15. The apparatus of claim 14.

17. The processing unit If the current transmission resources are insufficient to completely transmit the s-th PDU set of the k PDU sets, 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 completely 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 be the highest.

17. The apparatus of claim 16, further configured to:

18. The transceiver unit adjusting the priorities of the m protocol entities after each PDU set is completely transmitted, wherein the raw priorities of the m protocol entities are m1, m2, ..., and mm, in order, and the adjusted priorities of the m protocol entities are mm, m1, ..., and m(m-1), in order; 15. The apparatus of claim 14, further configured to:

19. The processing unit 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 successfully transmitted, where w≧1.

15. The apparatus of claim 14, further configured to:

20. The processing unit discarding at least one PDU set, the at least one PDU set being from the (w+1)th PDU set to the (w+e)th PDU set, e≧1, the at least one PDU set being a first type PDU set associated with the wth PDU set, and both the wth PDU set and the (w+e+1)th PDU set being second type PDU sets, the first type being different from the second type; 20. The apparatus of claim 19, further configured to:

21. 15. The apparatus of claim 14, wherein 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.

22. 15. The apparatus of claim 14, wherein m≧x, and x is determined based on one or more of a periodicity of the PDU set, a validity period of the PDU set, or a 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 deliver the k PDU sets to m protocol entities in a first sequence, the first sequence being an arrangement sequence of the m protocol entities, where when k>m, k-m consecutive PDU sets starting from an (m+1)th PDU set among the k PDU sets are sequentially delivered to the m protocol entities in the first sequence, the transmission order priorities of the m protocol entities being different from each other, and m>1; An apparatus comprising:

24. The processing unit delivering a q-th PDU set of the k PDU sets to a v-th protocol entity of the m protocol entities, where v = q mod m if q mod m ≠ 0, or v = m if q mod m = 0, and mod denotes a modulo operation; 24. The apparatus of claim 23, further configured to:

25. 24. The apparatus of claim 23, wherein 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.

26. 24. The apparatus of claim 23, wherein m≧x, and x is determined based on one or more of a periodicity of the PDU set, a validity period of the PDU set, or a maximum period of the PDU set.

27. 14. A communications device comprising a processor, the processor coupled to a memory, the memory configured to store a program or instructions that, when executed by the processor, enable the communications device to perform a method according to any one of claims 1 to 9 or any one of claims 10 to 13.

28. 14. A computer-readable storage medium having stored thereon a computer program or instructions that, when executed, enable a computer to perform the method of any one of claims 1 to 9 or any one of claims 10 to 13.

29. 14. A computer program comprising computer program instructions that enable a computer to carry out a method according to any one of claims 1 to 9 or any one of claims 10 to 13.