Communication method and device

By dynamically adjusting the PBR of the logical channel, the problem that the transmission delay of the logical channel in the prior art does not meet the requirements of high bandwidth and low delay is solved, and service data transmission within the specified delay is realized, which improves the user experience.

CN115038126BActive Publication Date: 2025-08-26HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110655744.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-08
Filing Date
2021-06-11
Publication Date
2025-08-26
Estimated Expiration
2041-06-11

AI Technical Summary

Technical Problem

The existing token bucket mechanism in the resource mapping from logical channels to transmission channels causes the service data transmission delay of the logical channel to not meet the requirements of high bandwidth and low delay. Especially in the XR service scenario, the static PBR allocation method cannot meet the image transmission needs with large fluctuations in data volume, affecting the user experience.

Method used

By dynamically adjusting the priority bit rate (PBR) of the logical channel, the PBR is dynamically calculated based on the remaining amount of service data and the remaining transmission time to ensure that data transmission is completed within the specified delay, and the token bucket mechanism is used for resource mapping.

Benefits of technology

It improves the probability of completing service data transmission within the specified delay, improves the service user experience, and meets the needs of high bandwidth and low delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115038126B_ABST
    Figure CN115038126B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides a communication method and device, in which a terminal device can dynamically determine the PBR corresponding to a target service based on the remaining data volume and remaining transmission time of the service data of the target service, so as to transmit the service data according to the PBR; wherein the remaining transmission time is the difference between the target transmission duration determined based on the transmission delay of the target service and the duration of the transmission of the service data. Since the PBR of the target service changes dynamically according to the transmission rate requirements of the service data, this method can maximize the probability of transmitting all service data within the specified transmission delay of the target service. In short, this method can ensure the transmission delay of the service data of the terminal device and improve the user experience of the service.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on March 8, 2021, with application number 202110250199.3 and application name “A communication method, terminal and network device”, the entire contents of which are incorporated by reference into this application. Technical Field

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

[0004] In communication systems, three main types of channels are defined: logical channels, transport channels, and physical channels. Logical channels provide data transmission services, with different logical channels defined for different data transmission services. Transport channels define the method and characteristics of data transmission over the air interface, while physical channels define the bearer for signal transmission over the air interface. In practical applications, multiple logical channels can be multiplexed on the same transport channel. That is, service data from multiple logical channels can be scheduled onto the same transport channel and then transmitted over the physical channel.

[0005] When a communication device in a communication system sends service data, the media access control (MAC) layer needs to schedule the MAC service data unit (SDU) in the logical channel to the MAC protocol data unit (PDU) in the transport channel. Currently, a token bucket mechanism is used in communication systems to implement resource mapping from logical channels to transport channels. When multiple logical channels in a communication device are mapped to the same transport channel, the resource mapping process is as follows:

[0006] In descending order of priority of the multiple logical channels assigned by the network device, the service data in the MAC SDU of each logical channel is mapped to the MAC PDU of the transport channel based on the number of tokens contained in the token bucket corresponding to each logical channel. The number of tokens contained in the token bucket corresponding to each logical channel directly affects the data volume of the service data mapped to the logical channel.

[0007] In the token bucket mechanism, to ensure that service data in logical channels can be continuously multiplexed onto transmission channels, the tokens in the token bucket corresponding to each logical channel increase uniformly at a rate called the prioritized bit rate (PBR). The PBR is a fixed static minimum guaranteed bit rate assigned by the network device to the logical channel.

[0008] In summary, the PBR configured by the network device for each logical channel directly affects the rate at which the service data in the logical channel is mapped to the transmission channel, thereby affecting the service data transmission delay of the service corresponding to the logical channel.

[0009] With the advancement of communication technology and users' increasing demands for quality of service (QoS), terminal devices in communication systems are required to deliver higher or more flexible transmission rates. For example, real-time broadband communication (RTBC) scenarios aim to support high bandwidth and low latency. The goal is to increase bandwidth within given latency and certain reliability requirements, creating an immersive experience when interacting with the virtual world. This scenario includes extended reality (XR) services, which require ultra-high bandwidth and ultra-low latency. Because XR services require terminal devices to upload images, and the amount of data encoded from different images fluctuates significantly (for example, within a group of pictures (GOP), the amount of data encoded from an I-frame is large, while the amount of data encoded from a P-frame is generally small), yet the transmission latency requirement for each frame remains the same, the specific PBR value for the logical channel corresponding to the XR service may be set by the network device based on the average bitrate of the logical channel. Consequently, large images may not be fully transmitted within the specified transmission latency. Therefore, the PBR static allocation of logical channels in the above token bucket mechanism will have a significant impact on the transmission delay of the XR service, thereby reducing the user experience of the service. Summary of the Invention

[0010] The present application provides a communication method and device for ensuring the transmission delay of service data of terminal devices and improving the user experience of the service.

[0011] In the first aspect, the embodiment of the present application provides a communication method, which can be applied to Figure 4 The transmitting end of the communication system in which service data is transmitted is, for example, a terminal device in the uplink direction or a network device in the downlink direction of a mobile communication system, or any terminal device in a sidelink communication system. The method is described below using a communication device as an example. The method includes the following steps:

[0012] The communication device determines the remaining data volume of the first service data of the target service and the first remaining transmission time of the first service data; then determines the first priority bit rate PBR corresponding to the target service based on the remaining data volume and the first remaining transmission time; wherein the first remaining transmission time is the difference between the first target transmission duration and the duration of transmitting the first service data; the first target transmission duration is determined based on the transmission delay of the target service.

[0013] Through this method, a communications device can dynamically determine the PBR corresponding to a target service based on the remaining data volume and remaining transmission time of the target service's service data, thereby transmitting the service data according to this PBR. The remaining transmission time is the difference between the target transmission duration determined based on the target service's transmission latency and the duration required to transmit the service data. Because the target service's PBR changes dynamically based on the required transmission rate of the service data, this method can maximize the probability of fully transmitting the service data within the specified target service's transmission latency. In short, this method can ensure the transmission latency of the communication device's service data and improve the user experience of the service.

[0014] In one possible design, when the communication device is a terminal device in a mobile communication system or a sidelink communication system, the communication device can receive indication information from a network device, where the indication information is used to indicate the transmission delay of the target service.

[0015] In this way, the network device can configure the transmission delay of the target service for the terminal device, so that the terminal device can determine the target transmission duration of each service data according to the transmission delay of the target service when sending the service data.

[0016] In one possible design, after determining the first PBR corresponding to the target service, the communication device may further perform the following steps according to the PBR:

[0017] According to the first PBR, the value of the first variable (i.e., the number of tokens corresponding to the target logical channel) is increased, and the first variable corresponds to the target logical channel; wherein the target logical channel is the logical channel corresponding to the target service; according to the value of the first variable, the remaining data of the first service data is multiplexed to the target transmission channel; wherein the target transmission channel is the transmission channel corresponding to the target logical channel.

[0018] With this design, the communication device can adopt a token bucket mechanism to transmit the remaining data of the first service data according to the calculated first PBR.

[0019] In one possible design, after multiplexing the remaining data of the first business data to the target transmission channel, the communication device can also determine the total size of the first business data multiplexed to the target transmission channel; and then reduce the value of the first variable according to the total size of the first business data multiplexed to the target transmission channel.

[0020] With this design, the communication device can update the value of the first variable according to the amount of data multiplexed to the target transmission channel each time.

[0021] In one possible design, when the communication device multiplexes part of the remaining data of the first business data to the target transmission channel according to the value of the first variable, the communication device can also reduce the amount of remaining data of the first business data according to the total size of the partial data; and reduce the first remaining transmission time according to the time consumed for multiplexing the partial data to the target transmission channel this time; and then when the first remaining transmission time is greater than 0, determine the second PBR corresponding to the target business based on the updated amount of remaining data of the first business data and the first remaining transmission time.

[0022] With this design, the communication device can continue to dynamically calculate the PBR when the first service data is not fully multiplexed into the target transmission channel, thereby continuing to transmit the remaining data of the first service data using the latest calculated PBR.

[0023] In one possible design, when the first remaining transmission time is less than or equal to a judgment threshold (taking 0 as an example), the communication device may also discard the remaining data of the first service data.

[0024] If the first remaining transmission time is less than or equal to the judgment threshold, it indicates that the actual transmission duration of the current first service data no longer meets the transmission delay requirement of the target service. With this design, the communication device no longer multiplexes the remaining data of the first service data onto the target transmission channel, so that the vacant resources can be used to continue multiplexing the next service data onto the target transmission channel.

[0025] In one possible design, when the first remaining transmission time is less than or equal to a judgment threshold (taking 0 as an example), the communication device may also increase the value of the first variable based on the last calculated PBR (ie, the first PBR).

[0026] Since the first remaining transmission time is less than or equal to the judgment threshold, the communication device can no longer dynamically calculate the PBR. Therefore, the communication device can select the last calculated PBR to continue to increase the value of the first variable to continue transmitting the remaining data of the first service data.

[0027] In one possible design, if the communication device continues to transmit the remaining data of the first service data after the first service data times out, in order to ensure that the transmission duration of the next service data (second service data) after the first service data can meet the transmission delay requirement of the target service as much as possible, the communication device can start counting the occupancy duration according to the arrival time of the second service data, as shown in the following two methods:

[0028] Mode 1: Before the first remaining transmission time is less than or equal to 0, determining that the second service data of the target service arrives at the target logical channel; when the first remaining transmission time is less than or equal to 0, starting to count the occupation time;

[0029] Mode 2: After the first remaining transmission time is less than or equal to 0 and before all the first service data are multiplexed onto the target transmission channel, determine that the second service data of the target service arrives at the target logical channel; when the second service data arrives, start timing the occupancy duration;

[0030] After starting the timing of the occupancy time, when all the first service data are multiplexed into the target transmission channel, the communication device stops timing the occupancy time; then the communication device initializes the remaining data volume of the second service data to the total data volume of the second service data, and initializes the second remaining transmission time of the second service data to the second target transmission time; wherein, the second target transmission time is the difference between the transmission delay of the target service and the occupancy time; and determines the third PBR corresponding to the target service based on the remaining data volume of the second service data and the second remaining transmission time.

[0031] Through this design, if the second service data arrives before the first service data is fully multiplexed into the target transmission channel, the communication device can sample the occupancy time of the first service data according to the above design. In this way, when the first service data is fully multiplexed into the target transmission channel and the communication device begins to multiplex the second service data into the target transmission channel, the second target transmission time of the second service data can be set equal to the difference between the transmission delay of the target service and the occupancy time of the first service data. Through this occupancy time deduction mechanism, it can be ensured that the actual transmission time of the second service data is close to the second target transmission time, and then the second service data can be fully multiplexed into the target transmission channel within the transmission delay requirement of the target service.

[0032] In a second aspect, an embodiment of the present application provides a communication method, which can be applied to a network device, and includes the following steps:

[0033] The network device determines the transmission delay of the target service; and then sends indication information to the terminal device, where the indication information is used to indicate the transmission delay of the target service.

[0034] Through this method, the network device can configure the transmission delay of the target service for the terminal device, so that the terminal device can determine the target transmission duration of each service data according to the transmission delay of the target service when sending the service data.

[0035] In a third aspect, an embodiment of the present application provides a communication device, comprising a unit for executing the steps of the method provided in any one of the above aspects of the present application.

[0036] In a fourth aspect, an embodiment of the present application provides a communication device comprising at least one processing element and at least one storage element, wherein the at least one storage element is used to store programs and data, and the at least one processing element is used to execute the steps of the method provided in any aspect of the present application.

[0037] In a fifth aspect, an embodiment of the present application provides a communication system, comprising: a terminal device for implementing the method provided in the first aspect above, and a network device for implementing the method provided in the second aspect above.

[0038] In a sixth aspect, an embodiment of the present application further provides a computer program, which, when executed on a computer, enables the computer to execute the method provided in any of the above aspects.

[0039] In a seventh aspect, an embodiment of the present application further provides a computer storage medium, in which a computer program is stored. When the computer program is executed by a computer, the computer executes the method provided in any of the above aspects.

[0040] In an eighth aspect, an embodiment of the present application further provides a chip, which is used to read a computer program stored in a memory and execute the method provided in any of the above aspects.

[0041] Ninthly, embodiments of the present application further provide a chip system, comprising a processor configured to support a computer device in implementing the method provided in any of the above aspects. In one possible design, the chip system further comprises a memory configured to store the necessary programs and data for the computer device. The chip system may be composed of a chip alone, or may include a chip and other discrete components.

[0042] In a tenth aspect, an embodiment of the present invention provides a device comprising a unit for executing the method introduced in any embodiment of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1A schematic diagram of an encoding method for image frames within a GOP provided in an embodiment of the present application;

[0044] Figure 2 A schematic diagram of the amount of data after encoding each graphic frame in a GOP provided in an embodiment of the present application;

[0045] Figure 3 An example diagram of MAC layer scheduling of a terminal device provided in an embodiment of the present application;

[0046] Figure 4 An architectural diagram of a communication system provided in an embodiment of the present application;

[0047] Figure 5 A schematic diagram of a network topology of a communication system provided in an embodiment of the present application;

[0048] Figure 6A A flow chart of a communication method provided in an embodiment of the present application;

[0049] Figure 6B A schematic diagram of a dynamic PBB and static PBR change curve provided in an embodiment of the present application;

[0050] Figure 7 An example flow chart of a communication method provided in an embodiment of the present application;

[0051] Figure 8 An example diagram of MAC layer scheduling of a terminal device provided in an embodiment of the present application;

[0052] Figure 9 A structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0053] This application provides a communication method and device for ensuring the transmission latency of service data of a terminal device and improving the user experience of the service. The method and device are based on the same technical concept. Since the method and device solve similar problems, the implementation of the device and method can refer to each other, and the repeated parts will not be repeated.

[0054] Below, some terms in this application are explained to facilitate understanding by those skilled in the art.

[0055] 1) Network equipment: A device in a communication system that connects a terminal device to a wireless network. As a node in a radio access network, the network equipment can be called a base station, a radio access network (RAN) node (or device), or an access point (AP).

[0056] Currently, some examples of network equipment include: new generation Node B (gNB), transmission reception point (TRP), evolved Node B (eNB), radio network controller (RNC), Node B (NB), access point (AP), base station controller (BSC), base transceiver station (BTS), home base station (for example, home evolved NodeB, or home Node B, HNB), or base band unit (BBU), Enterprise LTE Discrete Narrowband Aggregation (eLTE-DSA) base station, etc.

[0057] In addition, in one network structure, the network equipment may include centralized unit (CU) nodes and distributed unit (DU) nodes. This structure splits the protocol layer of the eNB in ​​the long-term evolution (LTE) system, placing some protocol layer functions centrally controlled by the CU, and distributing some or all of the remaining protocol layer functions in the DU, which is centrally controlled by the CU.

[0058] 2) Terminal equipment: A device that provides voice and / or data connectivity to users. Terminal equipment can also be called user equipment (UE), mobile station (MS), or mobile terminal (MT).

[0059] For example, the terminal device may be a handheld device with wireless connection function, various vehicle-mounted devices, a roadside unit, etc. Currently, some examples of terminal devices include: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), smart point of sale (POS) terminals, wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving cars, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, various smart meters (smart water meters, smart electricity meters, smart gas meters), eLTE-DSA UE, devices with integrated access and backhaul (IAB) capabilities, on-board electronic control units (ECUs), on-board computers, on-board cruise control systems, telematics boxes (T-BOXs), etc.

[0060] 3) Communication equipment refers to equipment with communication functions in a communication system. It can be a network device or a terminal device, and this application does not limit this.

[0061] 4) Channel: The communication channel is the medium for signal / data transmission. In the communication system, three main channels are defined: logical channel, transport channel, and physical channel. The following describes the different types of channels:

[0062] Logical channels are used to provide data transmission services. Different logical channels are defined for different data transmission services, such as common transaction channel (CTCH), dedicated transaction channel (DTCH), broadcast control channel (BCCH), common control channel (CCCH), etc.

[0063] Transport channels are used to define the mode and characteristics of data transmission in the air interface, such as random access channel (RACH), downlink shared channel (DSCH), uplink shared channel (USCH), broadcast channel (BCH), common packet channel (CPCH), etc.

[0064] The physical channel is used to define the bearer of the signal transmitted in the air interface. For example, the physical channel can define specific time domain resources and frequency domain resources, scrambling codes, etc. Exemplary physical channels may include: physical random access channel (PRACH), physical downlink shared channel (PDSCH), physical uplink shared channel (PUSCH), physical common packet channel (PCPCH), etc.

[0065] 5) Data volume: A value obtained by measuring the size of the data using a predetermined unit of measurement. In the embodiments of the present application, the unit of measurement for data volume may be, but is not limited to, bits or bytes. Here, 1 byte = 8 bits.

[0066] 6) Services are functions or services implemented by terminal devices, or data streams related to services at the application layer. Optionally, the services involved in this application can be divided into different categories from different perspectives.

[0067] For example, services can be divided according to the degree of stringency of latency requirements, and thus services can be divided into normal services (services with transmission latency greater than or equal to a first threshold), low-latency services (transmission latency less than the first threshold), real-time services (transmission latency less than a second threshold), etc., where the second threshold is less than the first threshold.

[0068] For another example, services can also be divided according to the type of function or service, so services can be divided into data services, voice services, video services, XR services, etc. Among them, XR services mainly include virtual reality (VR), augmented reality (AR), mixed reality (MR) and other virtual and real-world interactive services. Terminal devices that support XR services are generally equipped with internal cameras to capture images of the current scene, and the terminal devices are required to continuously upload the captured images. Therefore, XR services have high requirements for the data transmission latency and bandwidth of the terminal devices.

[0069] For another example, when multiple data streams can be transmitted within the same function or service, services can also be divided according to the type of data stream. For example, if the application layer service includes video streams and audio streams, the video stream can be one service and the audio stream can be another service.

[0070] For another example, regardless of the desired function or service, a terminal device must establish a connection to a corresponding data network (DN). Furthermore, different functions or services require different data networks. Therefore, services can also be divided based on the data network to which the terminal device is connected.

[0071] Based on the above theory, in the embodiments of the present application, the presentation form of the service is not limited. The service can be divided by latency requirements, by function or service type, by data flow type, or by the data network identifier (DNN) requested by the terminal device.

[0072] 7) Service transmission delay, i.e., the delay required for a service data packet to travel from the sending device to the receiving device, reflects the service's QoS. In this application, transmission delay may also be referred to as the air interface packet delay budget, delay ceiling, or air interface delay.

[0073] Taking a mobile communication system consisting of a UE and a base station as an example, the service transmission latency is the latency requirement from the UE MAC layer to the base station (latency requirement from UE MAC to gNB / eNB packet arrival).

[0074] 8) Tokens are resources used by the MAC layer scheduling process of the communication device to control the amount of data transmitted. It should be noted that since the MAC layer of the communication device will increase the number of tokens according to the PBR, and the number of tokens will also be consumed in the process of transmitting data, the number of tokens will continue to change, that is, the number of tokens is a variable. In the embodiment of the present application, token data can also be referred to as token number variables, variables, etc. Among them, changing the number of tokens can be understood as changing the value of the token number variable (or variable), increasing the number of tokens can be understood as increasing the value of the variable, and reducing the number of tokens can be understood as reducing the value of the variable.

[0075] For example, in this application Figure 6A In the embodiment shown, the “first variable” is the number of tokens corresponding to the target logical channel.

[0076] 9) "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.

[0077] It should be noted that the term "plurality" in this application refers to two or more, and "at least one" refers to one or more.

[0078] In addition, it should be understood that, in the description of this application, words such as "first" and "second" are only used for the purpose of distinguishing the description, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.

[0079] The following uses the example of a terminal device sending service data in implementing XR services to illustrate.

[0080] like Figure 1 As shown, the service data of the XR service can be encoded using the H.264 / H.265 video coding standard. The multiple images generated by the terminal device when executing the XR service can be divided into multiple GOPs. Optionally, each GOP can contain the same number of images. The terminal device can perform intra-frame encoding or inter-frame encoding on each frame of the image in each GOP. Figure 1As shown in the figure, the first frame in each GOP is called an intra-frame coding frame (I-frame), which can be independently encoded and decoded. Subsequent frames are called inter-frame coding frames, including predicated frames (P-frames) and bidirectionally predicted frames (B-frames). Inter-frame coding frames are encoded and decoded based on previously encoded images, thereby improving codec compression performance and reducing the amount of transmitted service data.

[0081] See Figure 2 As shown in the figure, the data volume of the first frame image (i.e., I frame) after encoding is significantly larger than the data volume of the subsequent frame images (i.e., P frame or B frame) after encoding. In addition, due to the changes in the content of the image captured by the terminal device, the data volume of each encoded P frame is also different. For example, Figure 2 The data volume of the fourth frame image after encoding is about twice the data volume of the second frame image after encoding.

[0082] The transmission delay of XR services is the transmission delay of each frame of the image, that is, the transmission delay requirement for each frame of the image is the same (for example, 10 milliseconds). In addition, XR services have higher requirements for transmission delay, so images with larger data volumes have more stringent requirements for transmission rates. If the terminal device has the same transmission rate for all images, then within the specified transmission delay, the terminal device may not be able to complete the transmission of the entire image (for example, the I frame in the GOP). This has a significant impact on the XR service, thereby reducing the user experience of this service.

[0083] It should be noted that the above XR services are only examples and do not constitute a limitation on the services to which the methods provided in the embodiments of the present application can be applied. The methods provided in the embodiments of the present application can be applied to various services, such as services with large fluctuations in the amount of service data and services with strict transmission latency requirements, such as video calling services and artificial intelligence (AI) services.

[0084] The token bucket mechanism is described below.

[0085] The token bucket mechanism is used in communication systems to limit the data flow of communication devices to a specific bandwidth. Specifically, a certain number of tokens are placed in the token bucket, and one token allows the transmission of a set amount of data (1 byte is used as an example below). After each byte of data is transmitted, a token is removed from the token bucket. If there are no tokens in the token bucket, further transmission of data of any size will be considered as exceeding the rated bandwidth of the communication device. The token bucket is like a pool of water, and tokens are like water. Tokens in the token bucket are not only removed but also continuously added. To ensure that the communication device can continuously transmit data, tokens must be continuously added to the token bucket. Therefore, the rate at which tokens are added to the token bucket determines the data transmission speed of the communication device. For example, if the bandwidth of a communication device is 1000 bytes per second (Bps), the bandwidth of the communication device can be guaranteed by adding 1000 tokens to the token bucket every second.

[0086] Those skilled in the art understand that when a communication device in a communication system sends service data, the MAC layer needs to schedule the service data carried in the MAC SDU in the logical channel to the MAC PDU in the transmission channel.

[0087] In the token bucket mechanism, the MAC layer of the communication device needs to maintain a token bucket for each logical channel, as well as the parameters corresponding to the token bucket. Each token is used to transmit a set amount of data. Continuing with the example of a token that can transmit 1 Byte of data. Among them, the parameters corresponding to each token bucket include: the number variable of tokens in the token bucket, the PBR, and the token bucket depth (bucket size duration, BSD) (optional). Among them, the PBR and the BSD are configured by the (radio resource control, RRC) layer of the network device in the communication system.

[0088] The PBR of any token bucket is the rate at which tokens are added to the bucket, that is, the number of tokens added per unit time. Because each token is used to transmit a fixed amount of data, the rate at which tokens are added can be expressed as the data transmission rate. For example, PBR = 8k BPS = 8k tokens per second.

[0089] The depth BSD of the token bucket, that is, the maximum capacity of the token bucket, the maximum number of tokens that can be contained, or the maximum amount of data that can be transmitted based on the tokens in the token bucket. Optionally, BSD can be directly set to the set token number threshold; or BSD can be expressed by time, such as in seconds (s) or milliseconds (ms); or directly set to the set data volume threshold. For example, the BSD of a token bucket = 100ms; when PBR = 8k tokens / second, the number of tokens added every 1 millisecond is 8; therefore, the BSD of the token bucket = 100ms = 0.1s, which is equivalent to PBR*0.1s = 800 tokens, equal to 800Bytes.

[0090] It should be noted that in a communication system, a communication device implements data exchange between the MAC layer and the physical layer according to a transmission time interval (TTI). Each TTI performs one transmission, or each TTI corresponds to a transmission moment. TTI can also be called a scheduling period or a transmission period, that is, two adjacent transmission moments (transmission opportunities, scheduling opportunities). Exemplarily, TTI can be 1ms, 2ms, 0.5ms, etc. It should be noted that in some mobile communication systems (such as 5G NR systems), TTI can vary.

[0091] In addition, for the process of continuously adding tokens to the token bucket, this application can also introduce the concept of a token increment time interval T (also known as a token increment period T). Optionally, the token increment time interval T can be the same as or different from the value of TTI, and this application does not limit this.

[0092] In short, the number of tokens in the token bucket cannot exceed PBR*BSD, and in each T, the number of tokens in the token bucket increases at a rate of PBR*T.

[0093] In addition, when multiple logical channels in a communication device (i.e., a network device or terminal device in a communication system) can be multiplexed into the same transport channel, the RRC layer of the network device can also assign a priority to each logical channel of the communication device. The priority of any logical channel determines the order in which the MAC SDU of the logical channel is scheduled to the MAC PDU of the transport channel among multiple logical channels. That is, the MAC SDU of the logical channel with a higher priority will be scheduled to the MAC PDU first.

[0094] Furthermore, to prevent data of high-priority logical channels from occupying MAC PDU resources all the time, the RRC layer of the network device allocates a corresponding PBR for each logical channel of the communication device to avoid the situation where low-priority logical channels cannot be multiplexed into MAC PDU resources.

[0095] It should be noted that when a communication device sends data, it generally processes the data in descending order of the protocol stack. This means that there is a one-to-one correspondence between the MAC SDU and the Radio Link Control (RLC) PDU. This means that the size of the MAC SDU depends on the RLC PDU, which in turn is segmented from the RLC SDU, with the segmentation criteria depending on the MAC PDU size. This means that the MAC layer can determine how much data in the RLC SDU to segment into a single RLC PDU (i.e., the size of the RLC PDU (or MAC SDU)) based on the available resources in the MAC PDU.

[0096] Therefore, the MAC layer of the communication device can use the token bucket algorithm to multiplex the MAC SDU in the logical channel into the MAC PDU of the transport channel. In fact, it can be understood that the MAC layer uses the token bucket algorithm to multiplex the RLC SDU in the logical channel into the MAC PDU of the transport channel.

[0097] It should be noted that when the MAC layer divides the RLC SDU into at least one RLC PDU, it also configures a header for each RLC PDU. Therefore, the sum of the data volume of the at least one RLC PDU obtained after dividing the RLC SDU will increase the data volume of at least one header compared to the data volume of the RLC SDU. However, since the data volume of the header is generally small (for example, a header is 8 bits), it can be ignored relative to the data volume of the service data carried by the RLC SDU. In summary, in the embodiments and examples of the present application, only the example of the amount of MAC PDU resources (RLC SDU) occupied when all RLC SDUs are multiplexed into MAC PDUs is used to illustrate that it is equal to the amount of data carried by the RLC SDU.

[0098] The MAC layer of the communication device can use a token bucket algorithm to implement multiplexing of multiple logical channels to the MAC layer transmission channel, that is, the amount of data multiplexed from the logical channel to the transmission channel is determined according to the number of tokens of each logical channel.

[0099] Optionally, the MAC layer of the communication device maintains a variable B for the jth logical channel j , which indicates the number of tokens in the token bucket corresponding to the logical channel (i.e., the number of tokens remaining in the token bucket, or the number of tokens available in the token bucket), and each token is used to transmit a fixed amount of data. Where j is a non-negative integer, used to identify the jth logical channel. B j It is initialized to 0 when the jth logical channel is established, and PBR×T tokens are added every T.

[0100] In some implementations, during the MAC layer scheduling process of a communication device, the following principles may be followed:

[0101] 1. At a transmission moment, for all B j >0 logical channels, the MAC layer multiplexes the data in multiple logical channels to the transport channel in descending order of logical channel priority. When the target logical channel multiplexes the transport channel, the MAC layer multiplexes the data in multiple logical channels to the transport channel according to the B of the target logical channel. j The value of is taken, and the corresponding amount of data in the RLC SDU of the target logical channel is multiplexed into the MAC PDU.

[0102] 2. After the transmission time, the MAC layer updates the B of the target logical channel according to the amount of data multiplexed to the transmission channel in the target logical channel at the transmission time (hereinafter referred to as target data). j , that is, B j =B j -B', where B' is the number of tokens consumed by multiplexing the target data into the transport channel, which is a non-negative number. B' is the amount of target data divided by the fixed amount of data that can be transmitted by each token. It should be noted that considering the process of multiplexing the data of the logical channel into the transport channel MAC PDU (i.e., the MAC layer scheduling process), it is necessary to avoid segmenting the RLC SDU as much as possible, so B' can be greater than B j .

[0103] 3. After completing steps 1 and 2 above, if there are still free resources in the MAC PDU, the MAC layer multiplexes the data in the logical channels into the remaining resources of the MAC PDU in descending order of logical channel priority. This process does not consume the number of logical channel tokens. When all the data of the higher-priority logical channels are multiplexed into the MAC PDU and there are still free resources in the MAC PDU, the data of the lower-priority logical channels can continue to be multiplexed into the MAC PDU.

[0104] Below is Figure 3 Taking the example of FIG. 1 as an example, the process of MAC layer scheduling of the communication device is described in detail. Figure 3 As shown, from left to right are logical channels 1, 2, and 3, with decreasing priorities, and the corresponding token quantities are B1, B2, and B3, respectively, and B1, B2, and B3 are all greater than 0. For ease of distinction, this application numbers the RLC SDUs in each logical channel, namely RLC SDU ab, where a represents the logical channel and b represents the number of the RLC SDU in the logical channel. Figure 3As shown, the RLC SDUs that need to be transmitted in logical channel 1 are recorded as RLC SDU1-1 and RLC SDU1-2; the RLC SDUs that need to be transmitted in logical channel 2 are recorded as RLC SDU2-1, RLC SDU2-2, and RLC SDU2-3; and the RLC SDUs that need to be transmitted in logical channel 3 are recorded as RLC SDU3-1 and RLC SDU3-2.

[0105] When multiplexing resources from MAC SDU to MAC PDU, first multiplex the RLC SDU in logical channel 1 with the highest priority into the MAC PDU, such as Figure 3 As shown in:

[0106] If the data volume of RLC SDU1-1 in logical channel 1 is greater than the amount of free resources in MAC PDU (i.e., the amount of data that can be carried by the free resources), the MAC layer preferentially multiplexes the data in RLC SDU1-1 equal to the amount of free resources in MAC PDU into the MAC PDU (at this time, in the logical channel, RLC SDU1-1 is segmented, the MAC PDU is full, and there are no free resources);

[0107] If the data amount of RLC SDU1-1 in logical channel 1 is less than or equal to the idle resource amount in MAC PDU, the MAC layer preferentially multiplexes all data in RLC SDU1-1 onto MAC PDU.

[0108] If there are sufficient idle resources in the MAC PDU and all data in RLC SDU1-1 in logical channel 1 are multiplexed into the MAC PDU, if there are still idle resources in the MAC PDU, then the MAC layer will continue to multiplex the RLC SDU of the next logical channel with a token number greater than 0 into the MAC PDU according to the above principle. That is, if B2>0, then the data in RLC SDU2-1 in logical channel 2 will continue to be multiplexed into the MAC PDU. This process will continue until there are no idle resources in the MAC PDU or all RLC SDUs in logical channels with token data greater than 0 are multiplexed into the MAC PDU.

[0109] After each transmission moment, the MAC layer reduces the number of tokens B1, B2, and B3 for each logical channel by the number of tokens consumed by multiplexing the logical channel onto the transport channel. Within each token increment time interval T, the number of tokens B1, B2, and B3 increases at a rate of PBR1*T, PBR2*T, and PBR3*T, respectively. If the number of tokens consumed by the MAC layer to multiplex a logical channel's data onto the transport channel (the amount of scheduled data / the fixed amount of data that can be transmitted per token) exceeds the current number of tokens for that logical channel, the token count for that logical channel becomes negative. If the token count for that logical channel has not increased to a positive value by the next transmission moment, the MAC layer, after multiplexing all logical channels with token counts greater than 0, multiplexes the RLC SDUs for that logical channel into the MAC PDU in descending order of logical channel priority. This means that a logical channel can only be multiplexed into the MAC PDU after all logical channels with higher priority than it have completed transmission.

[0110] In addition, after the MAC layer multiplexes the RLC SDUs in each logical channel into the MAC PDU according to the number of tokens of each logical channel, if there are idle resources in the MAC PDU at this time, the MAC layer continues to multiplex the RLC SDUs in the logical channel into the idle resources in the MAC PDU according to the priority of the logical channel.

[0111] For example Figure 3 As shown in FIG, after the RLC SDUs in the three logical channels are multiplexed into the MAC PDU according to the number of tokens, if there are still idle resources in the MAC PDU, the MAC layer will give priority to multiplexing the remaining data in the logical channel 1 (at least one RLC SDU, and the remaining data below is taken as an example to explain only RLC SDU1-2) into the MAC PDU, regardless of the size of the token number B1 of the current logical channel 1, and this multiplexing does not consume the token of the logical channel 1. Figure 3 As shown, specifically including:

[0112] If the amount of free resources in the MAC PDU is greater than or equal to the amount of remaining data in logical channel 1 (i.e., RLC SDU1-2), the MAC layer multiplexes all the data in RLC SDU1-2 into the MAC PDU;

[0113] If the amount of idle resources in the MAC PDU is less than the amount of remaining data in logical channel 1 (ie, RLC SDU1-2), the MAC layer multiplexes part of the data in RLC SDU1-2 equal to the amount of idle resources in the MAC PDU into the MAC PDU.

[0114] It should also be noted that if there are still idle resources in the MAC PDU after all the remaining data in logical channel 1 has been multiplexed into the MAC PDU, the MAC layer will continue to multiplex the remaining data in logical channel 2 into the MAC PDU in the same manner as described above. This process continues in this manner until there are no more idle resources in the MAC PDU or the remaining data in each logical channel has been multiplexed into the MAC PDU. If the amount of idle resources in the MAC PDU is less than or equal to the amount of remaining data in logical channel 1, the MAC layer will multiplex some or all of the remaining data in logical channel 1 into the MAC PDU. At this point, the MAC PDU cannot multiplex the remaining data from other logical channels.

[0115] Finally, the MAC layer transmits the MAC PDU to the physical layer so that the physical layer can perform the next transmission.

[0116] The above detailed description of the traditional token bucket mechanism shows that the rate at which tokens are added to the token bucket corresponding to each logical channel, PBR, directly determines the data transmission rate of the RLC SDUs on that logical channel. However, PBR is a fixed static variable assigned by network devices, and when assigning it, the network device may consider the average bit rate of the logical channel.

[0117] However, the data volume generated by some services can fluctuate significantly. For example, in the XR service described above, the data volume of different frames within a GOP varies significantly, but the transmission latency requirement for each frame remains the same, resulting in different transmission rate requirements for each frame. In the traditional token bucket mechanism, the PBR is a fixed value, which may result in a transmission rate that cannot meet the transmission requirements of large images, thereby increasing transmission latency.

[0118] Continue with Figure 2 Let's take this as an example. In XR services, the amount of data in each encoded frame varies significantly, while the transmission latency requirement for each frame remains constant. For example, the data volume of the first encoded frame is approximately five times that of the second encoded frame, meaning the expected transmission rate for the first encoded frame is approximately five times that of the second encoded frame. However, because PBR is a fixed value, the transmission rate of the terminal device cannot change as the transmission rate requirements for different images change. Ultimately, this prevents some large images from being transmitted within the specified transmission latency.

[0119] In order to address the impact of the PBR static allocation method of logical channels on service data transmission, ensure the transmission delay of service data, and improve the user experience of the service, the embodiment of the present application provides a communication method and device. The embodiment of the present application will be described in detail below with reference to the accompanying drawings.

[0120] Figure 4 The structure of a possible communication system to which the communication method provided in the embodiment of the present application is applicable is shown. Figure 4 As shown, the communication system includes: a network device, and at least one terminal device (such as Figure 4 Terminal device a-terminal device g).

[0121] The network device is a network-side entity capable of receiving and transmitting wireless signals. It is responsible for providing wireless access-related services to terminal devices within its coverage area, implementing physical layer functions, resource scheduling and wireless resource management, Quality of Service (QoS) management, wireless access control, and mobility management. Optionally, the network device can be a base station, AP, or other RAN device, which is not limited in this application.

[0122] The terminal device is an entity on the user side that can receive and transmit wireless signals and needs to access the network through the network device. The terminal device can be any device that provides voice and / or data connectivity to the user, such as Figure 4 As shown, the terminal device can be a vehicle-mounted device, VR glasses, AR glasses, a smart phone, HMD, etc.

[0123] Optional, Figure 4 The communication system shown can support sidelink communication technology. Sidelink communication technology is a near-field communication technology that can directly connect terminal devices, also known as proximity services (ProSe) communication technology, or D2D communication technology. In this communication system, multiple terminal devices that are geographically close and support sidelink communication can form a sidelink communication system (also known as a sidelink communication subsystem, sidelink system, etc.). In this sidelink communication system, two terminal devices (also known as sidelink devices) can communicate through a direct link (sidelink connection). Sidelink communication technology can support broadcast, multicast and unicast transmission within the coverage area of ​​the network device, outside the coverage area of ​​the network device, and in scenarios with partial coverage of the network device.

[0124] exist Figure 4In the communication system shown, different sidelink communication systems can be formed for different application scenarios. For example, in a scenario where a user is driving a car, the user's smartphone can form a sidelink communication system with the on-board equipment installed in the car, as shown in the figure. For another example, in a scenario where a user uses VR glasses and / or AR glasses to watch a movie, the user's smartphone can form a sidelink communication system with the VR glasses and / or VR glasses, as shown in the figure. For another example, in a scenario where a user uses an HMD to watch a movie, the user's smartphone can form a sidelink communication system with the HMD, as shown in the figure. In other scenarios, the on-board equipment between different cars can form a sidelink communication system, or the mobile phones in different cars can form a sidelink communication system.

[0125] based on Figure 4 The communication system architecture shown in FIG. 1 is provided in the embodiment of the present application. The network topology architecture of the communication system is also provided in the embodiment of the present application. Figure 5 As shown. The network device and the terminal device can be connected via an air interface (i.e., a Uu interface) to enable communication between the terminal device and the network device (this communication can be referred to as Uu communication or cellular network communication). Adjacent terminal devices can establish a direct link for sidelink data transmission via a ProSe communication 5 (PC5) interface.

[0126] Both the Uu and PC5 interfaces include a control plane protocol stack and a user plane protocol stack. The user plane protocol stack includes at least the following protocol layers: the physical (PHY) layer, the MAC layer, the radio link control (RLC) layer, the packet data convergence protocol (PDCP) layer, and the service data adaptation protocol (SDAP) layer. The control plane protocol stack includes at least the following protocol layers: the physical layer, the MAC layer, the RLC layer, the PDCP layer, and the radio resource control (RRC) layer.

[0127] exist Figure 4 In the communication system shown, terminal devices can communicate with network devices or other terminal devices to implement specific services. For example, a smartphone can communicate with a network device to implement a video call service; VR glasses or AR glasses can communicate with a smartphone or network device to implement XR services, etc.

[0128] exist Figure 4 In the communication system shown, any communication device (terminal device or network device) can send service data for the target service to another communication device (network device or terminal device) when implementing the target service. During the service data transmission process, the MAC layer of the communication device can use the token bucket mechanism to multiplex the service data carried by the RLC SDU in the logical channel into the MAC PDU in the transport channel, ultimately transmitting the data to the other communication device via the physical channel of the Uu interface or PC5 interface.

[0129] For example, in a VR downlink transmission scenario, the network device can transmit VR service data to the terminal device through the token bucket mechanism; in the AR uplink and downlink transmission scenarios, the network device or terminal device can transmit AR service data to the other end through the token bucket mechanism; in the sidelink communication system, any terminal device can transmit various service data to another terminal device through the token bucket mechanism.

[0130] It should also be pointed out that if Figure 4 The communication system shown is used as an example and does not limit the communication system to which the method provided in the embodiment of the present application is applicable. In short, the method provided in the embodiment of the present application is applicable to communication systems or application scenarios of various types and standards. For example: The 5th Generation (5G) communication system, Long Term Evolution (LTE) communication system, Wi-Fi system, vehicle to everything (V2X), Long Term Evolution-Vehicle Network (LTE-vehicle, LTE-V), vehicle to vehicle (V2V), Internet of Vehicles, Machine Type Communications (MTC), Internet of Things (IoT), Long Term Evolution-Machine to Machine (LTE-machine to machine, LTE-M), Machine to Machine (M2M), the embodiment of the present application is not limited.

[0131] The embodiment of the present application provides a communication method, which can be applied to the uplink direction (i.e., the terminal device sends service data to the network device) of a mobile communication system composed of a terminal device and a network device. Figure 6A The flowchart shown illustrates the method in detail.

[0132] S600a: The terminal device and the network device establish a wireless connection.

[0133] Optionally, the terminal device may establish an RRC connection with the network device in, but not limited to, the following ways:

[0134] Method 1: The terminal device can establish an RRC connection with the network device through processes such as cell search, time synchronization, random access, and RRC connection establishment.

[0135] Method 2: The terminal device establishes an RRC connection with the network device through cell selection, cell reselection or cell switching process.

[0136] Method 3: A terminal device in the RRC idle state (RRC_idle) or RRC inactive state (RRC inactive) can establish / restore an RRC connection with a network device through the RRC connection establishment / restore process. At this time, the terminal device enters the RRC connected state.

[0137] After the terminal device establishes an RRC connection with the network device, the network device may establish at least one data bearer (DRB) of the terminal device based on the RRC connection to transmit service data of at least one service of the terminal device. A data bearer is also called a radio bearer, and each data bearer corresponds to a logical channel in the MAC layer of the terminal device and the network device, respectively. To establish a data bearer, the MAC layer of the terminal device and the network device needs to establish a corresponding logical channel for each data bearer to transmit the service data of the corresponding data bearer.

[0138] In one embodiment, the terminal device may establish an RRC connection in the above manner when starting to execute the target service (i.e., the terminal device opens a function, service, or application that implements the target service and requests to establish a target data bearer for the target service), and establish a target data bearer for transmitting service data of the target service with the network device. In the process of establishing the target data bearer, the MAC layer of the terminal device and the network device establishes a target logical channel corresponding to the target data bearer.

[0139] In another embodiment, after the terminal device establishes an RRC connection with the network device, when the terminal device starts executing the target service, it can send a bearer establishment request to the network device, so that the network device can establish a target data bearer for transmitting the service data of the target service. In the process of establishing the target data bearer, the MAC layer of the terminal device and the network device establishes a target logical channel corresponding to the target data bearer.

[0140] It should be noted that the terminal device and the network device can establish / restore the RRC connection through the traditional RRC connection establishment / restore process, and establish the target data bearer of the target service through the traditional wireless bearer establishment / modification process. The specific process will not be repeated in the embodiment of this application.

[0141] S600b: The network device determines the transmission delay of the target service (i.e., the air interface transmission delay of the target service) and sends indication information to the terminal device, where the indication information is used to indicate the transmission delay of the target service. The terminal device receives the indication information from the network device and determines the transmission delay of the target service based on the indication information.

[0142] In an embodiment of the present application, when a terminal device requests a target service, the network device may determine the transmission delay of the target service in the following manner:

[0143] Method 1: The network device stores transmission delays of multiple services. The network device can determine the transmission delay of the target service requested to be executed by the terminal device from the transmission delays of the multiple services.

[0144] Optionally, the transmission delay of the multiple services may be factory configured, or specified by the protocol, or configured by the core network equipment, and this application does not limit this.

[0145] Method 2: The network device may first determine the target service requested by the terminal device, and then determine the transmission delay of the target service based on the QoS information of the target service. The QoS information of the target service may be obtained by the network device from the contract information of the terminal device stored in the core network device, or may be configured by the core network device based on the contract information of the terminal device.

[0146] For example, the indication information may be an RRC message, which carries the transmission delay of the target service. For another example, the indication information may be downlink control information (DCI), which may include a first field carrying the transmission delay of the target service; or the DCI may include a first indication bit, which is used to indicate the transmission delay of the target service.

[0147] It should also be noted that S600b can be executed after executing S600a, or during the execution of S600a, and this application does not limit this.

[0148] The following describes in detail the steps of the communication method provided in this application by taking S601-S607 as an example of MAC layer scheduling performed by a terminal device based on a token bucket mechanism during the uplink transmission of the target service.

[0149] S601: After the first service data of the target service arrives at the target logical channel of the terminal device, the terminal device determines the remaining data amount of the first service data and the first remaining transmission time of the first service data during the process of multiplexing the first service data to the target transmission channel.

[0150] The first service data is any service data of the target service, and the target transmission channel is the transmission channel corresponding to the target logical channel. The first remaining transmission time is the difference between the first target transmission duration and the duration of transmission of the first service data, where the first target transmission duration is determined based on the transmission delay of the target service. The remaining data volume of the first service data is the amount of data remaining in the first service data that has not yet been multiplexed into the target transmission channel.

[0151] The duration of transmitting the first service data may be the sum of TTIs from the moment the terminal device starts transmitting the first service data to the current moment.

[0152] Exemplarily, when the first service data arrives at the target logical channel and the terminal device starts to transmit the first service data (the first service data has not been multiplexed at this time), the terminal device initializes the remaining data volume of the first service to the total data volume of the first service data, and initializes the first remaining transmission time to the first target transmission duration.

[0153] In an embodiment of the present application, to ensure that the transmission duration of the first service data satisfies the transmission delay requirement of the target service as much as possible, the terminal device may set the first target transmission duration to be less than or equal to the transmission delay of the target service. Furthermore, to maximize the transmission duration of the first service data, the terminal device may set the first target transmission duration to be equal to the transmission delay of the target service.

[0154] Exemplarily, when the first service data is the first service data of the target service, or when the first service data arrives, the previous service data has been fully multiplexed into the target transmission channel, or when the first service data arrives, the remaining data of the previous service data is discarded, the terminal device can set the first target transmission duration equal to the transmission delay of the target service.

[0155] As another example, in the case where the remaining transmission time of the previous service data of the first service data is less than or equal to 0 but there is still remaining data, the terminal device can continue to transmit the previous service data. In this case, if the first service data arrives before the previous service data is fully multiplexed into the target transmission channel, the terminal device will count the occupancy time of the previous service data. When the previous service data is fully multiplexed into the target transmission channel, the terminal device can set the first target transmission time equal to the difference between the transmission delay of the target service and the occupancy time of the previous service data.

[0156] In an embodiment of the present application, the terminal device may determine whether the first remaining transmission time of the first service data is greater than a judgment threshold each time it determines / updates the first remaining transmission time, wherein the judgment threshold is used to determine whether the service data has timed out, and the judgment threshold may be set by the user, or specified by the protocol, or configured by the network device, or configured by the terminal device at the factory, or defaulted in this field; the judgment threshold is usually 0, but the present application does not limit the value of the judgment threshold. If the first remaining transmission time is greater than the judgment threshold, it means that the actual transmission duration of the current first service data meets the transmission delay requirement of the target service; and if the first remaining transmission time is less than or equal to the judgment threshold, it means that the actual transmission duration of the current first service data no longer meets the transmission delay requirement of the target service. It should also be noted that the embodiment of the present application does not limit the value of the judgment threshold of the first remaining transmission time. The embodiments of the present application all take 0 as an example. In other scenarios, the judgment threshold may also be other set values.

[0157] The following first describes steps S602 and S604 executed by the terminal device under the condition that the first remaining transmission time is greater than 0.

[0158] S602: The terminal device determines a first PBR according to the remaining data amount of the first service data and the first remaining transmission time.

[0159] The first PBR represents the rate at which tokens in the token bucket corresponding to the target logical channel are added, that is, the rate at which the number of tokens corresponding to the target logical channel (hereinafter referred to as the first variable) increases. Therefore, when the first PBR is expressed as the amount of data added per unit time, the first PBR = the remaining data volume of the first service data / the first remaining transmission time; when the first PBR is expressed as the number of tokens added per unit time, and one token is used to transmit a set data volume (e.g., 1 byte, 2 bytes, 1 bit, etc.), the first PBR = (remaining data volume of the first service data / set data volume) / the first remaining transmission time.

[0160] Exemplarily, when the first service data has not yet been multiplexed, the terminal device initializes the remaining data volume of the first service to the total data volume of the first service data, and initializes the first remaining transmission time to the first target transmission duration. Therefore, the first PBR = the total data volume of the first service data / the first target transmission duration, or the first PBR = (the total data volume of the first service data / the set data volume) / the first target transmission duration.

[0161] S603: The terminal device increases the number of tokens corresponding to the target logical channel (i.e., the first variable) based on the first PBR. That is, the terminal device increases the first variable by the first PBR*T during each token increment time interval T. At the first transmission time, the terminal device may multiplex the remaining data of the first service data onto the target transmission channel based on the value of the first variable.

[0162] At the first transmission moment, the value of the first variable is greater than 0.

[0163] Since the first service data can be carried in multiple RLC SDUs, when the terminal device multiplexes the remaining data of the first service data into the target transmission channel according to the value of the first variable, it is necessary to avoid segmenting the RLC SDU as much as possible.

[0164] In the embodiment of the present application, at each transmission moment, the process in which the terminal device multiplexes the service data to the target transmission channel according to the value of the first variable is the same as the multiplexing process in the traditional token mechanism, so it can be referred to Figure 3 The process shown, or Figure 7 or Figure 8 The specific description of the multiplexing process in the example shown (eg Figure 7 The description in S704 in the example shown, and Figure 8 The descriptions in A3 and A4 in the example shown) will not be repeated here.

[0165] In summary, when multiple logical channels including the target logical channel multiplex the target transport channel, the following principles need to be met:

[0166] 1. At each transmission moment, for all logical channels with a token number greater than 0, the terminal device multiplexes the data in each logical channel to the target transmission channel according to the token number of each logical channel in descending order of logical channel priority;

[0167] 2. After each transmission moment, for each logical channel, subtract the corresponding number of tokens from the number of tokens according to the total size of the data multiplexed to the target transmission channel in the previous step;

[0168] 3. After completing the above steps, if there are still remaining idle resources in the target transmission channel, the terminal device will continue to multiplex the data in the logical channel into the remaining resources of the target transmission channel in descending order of the logical channel priority, and this process does not consume the number of tokens of the logical channel.

[0169] Furthermore, during resource allocation, the following principles must be observed to minimize the overhead caused by RLC SDU segmentation:

[0170] 1. If the entire RLC SDU can be transmitted in the idle resources of the MAC PDU of the target transport channel, the RLC SDU is not segmented;

[0171] 2. If the terminal device segments an RLC SDU, it should maximize the length of the segment based on the amount of free resources in the MAC PDU;

[0172] 3. The terminal device should transmit as much data as possible, that is, multiplex as much data in the logical channel as possible in the MAC PDU.

[0173] Through this S603, the terminal device can multiplex the remaining data of the first service data into the target transmission channel, and then transmit the first service data to the base station through the physical channel.

[0174] S604: After the first transmission moment, the terminal device reduces the value of the first variable according to the total size of the first service data multiplexed to the target transmission channel at the first transmission moment.

[0175] It should be noted that, according to the third principle of multiplexing the target transmission channel, the total size of the first service data here refers only to the total size of the first service data multiplexed onto the target transmission channel based on the value of the first variable. If idle resources are available on the target transmission channel, the first service data continues to be multiplexed onto the target transmission channel based on the priority of the target logical channel, without reducing the value of the first variable.

[0176] When continuing to transmit the set data volume with each token, in S604, the first variable is decremented by the total size of the first business data / the set data volume, that is, the first variable = the first variable - the decrement of the first variable (the total size of the first business data / the set data volume).

[0177] Through S602-S604, the terminal device can dynamically determine the first PBR of the target logical channel based on the remaining data amount and the remaining transmission time of the first business data, so that the value of the first variable can be increased according to the first PBR. In this way, at the first transmission moment, the remaining data of the first business data can be multiplexed to the target transmission channel according to the value of the first variable to realize the transmission of the first business data.

[0178] like Figure 6A As shown, when the terminal device multiplexes part of the remaining data of the first business data to the target transmission channel in S603 (that is, the first business data is not all multiplexed to the target transmission channel), then after S604, the terminal device continues to execute S601, so that it can continue to go through S602-S604 to dynamically update the first PBR, and continue to multiplex the remaining data in the first business data to the target transmission channel according to the dynamically updated first PBR.

[0179] When the terminal device continues to execute S601, the following steps are included:

[0180] The terminal device can update the remaining data amount of the first business data based on the total size of the partial data multiplexed to the target transmission channel in S603; and update the first remaining transmission time based on the time consumed in multiplexing the partial data to the target transmission channel this time.

[0181] It should be noted that if there are still idle resources in the target transmission channel after the terminal device multiplexes the remaining data of the first service data to the target transmission channel according to the value of the first variable in S603, the terminal device continues to multiplex the remaining data in the first service data to the target transmission channel according to the priority of the target logical channel. In this case, the terminal device can update the remaining data amount of the first service data based on the total size of the said part of the data multiplexed to the target transmission channel in S603 and the data amount of the first service data that continues to be multiplexed to the target transmission channel.

[0182] The updating of the first remaining transmission time according to the time consumed for multiplexing the portion of data to the target transmission channel comprises:

[0183] The terminal device updates the first remaining transmission time according to the TTI corresponding to the first transmission moment, that is, updates the first remaining transmission time to the first remaining transmission time minus the TTI.

[0184] The following describes the steps performed by the terminal device when the first remaining transmission time is less than or equal to 0. Figure 6A As shown, the embodiments of the present application provide two solutions.

[0185] Option 1:

[0186] S605: When the terminal device determines that the first remaining transmission time of the first service data is less than or equal to 0, the terminal device discards the remaining data of the first service data.

[0187] Since the first service data is not fully transmitted within the transmission delay of the target service, in some cases the target service no longer needs the remaining data of the first service data. Therefore, through this solution, the terminal device no longer multiplexes the remaining data of the first service data into the target transmission channel, so that the vacant resources can be used to continue to multiplex the next service data into the target transmission channel.

[0188] For example, in a terminal device's video service, if a frame of image is not fully transmitted to the network device within the set transmission delay, the processing / display time for this frame has expired and it no longer needs to be processed / displayed. Continuing to transmit this frame will not improve the user experience. Therefore, to avoid wasting resources and affecting the transmission delay of the next frame, the remaining data in this frame can be discarded.

[0189] It should be noted that in the scenario where the terminal device adopts solution one, when the first remaining transmission time of the first service data is greater than 0, the next service data of the first service data (recorded as the second service data) arrives at the target logical channel, then the terminal device needs to continue to multiplex the remaining data of the first service data to the target transmission channel until the first remaining transmission time of the first service data is less than or equal to 0. When the first remaining transmission time of the first service data is less than or equal to 0, if the first service data has not been fully transmitted, the terminal device discards the remaining data of the first service data and starts multiplexing the second service data to the target transmission channel through the following steps:

[0190] Initialize the remaining data volume of the second service data to the total data volume of the second service data, and initialize the second remaining transmission time of the second service data to the second target transmission duration; wherein the second target transmission duration may be equal to the transmission delay of the target service;

[0191] A second PBR corresponding to the target service is determined according to the remaining data amount of the second service data and the second remaining transmission time.

[0192] Afterwards, similar to S603-S604, the terminal device may increase the value of the first variable according to the second PBR, and multiplex the second service data to the target transmission channel according to the value of the first variable.

[0193] In summary, the terminal device can refer to S601-S607 above, dynamically update the second PBR according to the remaining data amount and the second remaining transmission time of the second service data, and multiplex the second service data to the target transmission channel according to the dynamically updated second PBR, which will not be repeated here.

[0194] Of course, if the terminal device discards the remaining data of the first service data when the first remaining transmission time is less than or equal to 0, or if the terminal device multiplexes all the first service data into the target transmission channel and the second service data arrives at the target logical channel, then the terminal device also needs to adopt the above steps to initialize the remaining data amount and the second remaining transmission time of the second service data, and determine the second PBR based on the remaining data amount and the second remaining transmission time of the second service data, etc. The specific process will not be repeated here.

[0195] Option 2:

[0196] S606: The terminal device increases the value of the first variable according to the first PBR calculated last time; at the second transmission time, the terminal device multiplexes the remaining data of the first service data to the target transmission channel according to the value of the first variable.

[0197] Since the first remaining transmission time is less than or equal to 0, the terminal device cannot dynamically calculate the first PBR anymore. Therefore, the terminal device may select the first PBR calculated last time to continue increasing the value of the first variable.

[0198] It should be noted that S606 is an optional step. Optionally, when the first remaining transmission time is less than or equal to 0, the terminal device may also use the PBR statically configured by the network device to increase the value of the first variable, which is not limited in this application.

[0199] S607: After the second transmission moment, the terminal device reduces the value of the first variable according to the total size of the first service data multiplexed to the target transmission channel at the second transmission moment.

[0200] In this solution, the terminal device multiplexes the remaining data of the first service data to the target transmission channel according to the value of the first variable, and the process of reducing the value of the first variable can refer to the description in S603-S604 above and will not be repeated here.

[0201] As shown in the figure, when the first remaining transmission time is less than or equal to 0, the terminal device can execute S606-S607 in a loop to continuously multiplex the remaining data of the first service data to the target transmission channel.

[0202] In solution two, since the actual transmission duration of the first business data does not meet the transmission delay requirements of the target business, in order to avoid affecting the transmission of the next business data (hereinafter referred to as the second business data), an embodiment of the present application provides an occupied time deduction mechanism.

[0203] In this mechanism, if the second service data arrives before the first service data is fully multiplexed onto the target transmission channel, the terminal device will count the occupancy duration of the first service data. Once the first service data is fully multiplexed onto the target transmission channel and the terminal device begins multiplexing the second service data onto the target transmission channel, a second target transmission duration for the second service data can be set equal to the difference between the transmission delay of the target service and the occupancy duration of the first service data.

[0204] The following describes how to calculate the occupancy time based on the different arrival times of the second service data:

[0205] Method 1: Before the first remaining transmission time is less than or equal to 0, it is determined that the second service data of the target service arrives at the target logical channel. In this case, when the first remaining transmission time is less than or equal to 0, the terminal device starts counting the occupancy time.

[0206] Method 2: After the first remaining transmission time is less than or equal to 0 and before all the first service data are multiplexed into the target transmission channel, it is determined that the second service data of the target service arrives at the target logical channel. In this case, when the second service data arrives, the terminal device starts counting the occupancy duration.

[0207] Furthermore, when all the first service data are multiplexed into the target transmission channel, the terminal device stops timing the occupation duration; and starts multiplexing the second service data into the target transmission channel through the following steps:

[0208] Initialize the remaining data volume of the second service data to the total data volume of the second service data, and initialize the second remaining transmission time of the second service data to the second target transmission duration; wherein the second target transmission duration is the difference between the transmission delay of the target service and the occupied duration;

[0209] A second PBR corresponding to the target service is determined according to the remaining data amount of the second service data and the second remaining transmission time.

[0210] Afterwards, similar to S603-S604, the terminal device may increase the value of the first variable according to the second PBR, and multiplex the second service data to the target transmission channel according to the value of the first variable.

[0211] In summary, the terminal device can refer to S601-S607 above, dynamically update the second PBR according to the remaining data amount and the second remaining transmission time of the second service data, and multiplex the second service data to the target transmission channel according to the dynamically updated second PBR, which will not be repeated here.

[0212] In the scenario where the terminal device adopts solution 2, if the second service data arrives at the target logical channel after all the first service data are multiplexed into the target transmission channel, the terminal device starts multiplexing the second service data into the target transmission channel through the following steps:

[0213] Initialize the remaining data volume of the second service data to the total data volume of the second service data, and initialize the second remaining transmission time of the second service data to the second target transmission duration; wherein the second target transmission duration may be equal to the transmission delay of the target service;

[0214] A second PBR corresponding to the target service is determined according to the remaining data amount of the second service data and the second remaining transmission time.

[0215] Afterwards, similar to S603-S604, the terminal device may increase the value of the first variable according to the second PBR, and multiplex the second service data to the target transmission channel according to the value of the first variable.

[0216] Finally, it should be understood that the above terminal device executing the MAC layer scheduling process can be specifically executed by the MAC layer of the terminal device, or executed by other protocol layers, and this application does not limit this.

[0217] The embodiment of the present application provides a communication method, in which a terminal device can dynamically determine the PBR corresponding to a target service based on the remaining data volume and remaining transmission time of the service data of the target service, so as to transmit the service data according to the PBR; wherein the remaining transmission time is the difference between the target transmission time determined based on the transmission delay of the target service and the time taken to transmit the service data. Since the PBR of the target service changes dynamically according to the transmission rate requirement of the service data, such as Figure 6B As shown, compared to the PBR static allocation method, this method can maximize the probability of fully transmitting service data within the specified target service transmission delay. In short, this method can ensure the transmission delay of service data on terminal devices and improve the user experience of the service.

[0218] The embodiment of the present application provides another communication method, which can be applied to the downlink direction of a mobile communication system composed of a terminal device and a network device (i.e., the network device sends service data to the terminal device). In this method, after the network device establishes a wireless connection with the terminal device, the transmission delay of the target service is determined. The specific process can be referred to Figure 6A The descriptions of S600a and S600b in FIG. 5 are not further described here.

[0219] Afterwards, the MAC layer of the network device can dynamically determine the PBR corresponding to the target service according to the remaining data volume and remaining transmission time of the first service data of the target service according to the steps in S601-S607, so as to transmit the first service data according to the PBR; wherein the remaining transmission time is the difference between the target transmission time determined according to the transmission delay of the target service and the time taken to transmit the first service data. This process can be Figure 6A The detailed description of the corresponding steps in the illustrated embodiment will not be expanded here.

[0220] The present application also provides another communication method, which can be applied to a sidelink communication system composed of multiple terminal devices. In this method, after two terminal devices establish a sidelink connection, the MAC layer of the first terminal device (sending device) determines the transmission delay of the target service and uses the steps in S601-S607 to send the service data of the target service to the second terminal device (receiving device). The specific process can be referred to Figure 6A The detailed description of the illustrated embodiments will not be repeated here.

[0221] It should be noted that the first terminal device may determine the transmission delay of the target service in the following manners, but is not limited to:

[0222] Method 1: When the transmission mode adopted by the sidelink system is mode 1, the network device may send indication information to the first terminal device, where the indication information is used to indicate the transmission delay of the target service.

[0223] Method 2: When the transmission mode adopted by the sidelink system is mode 2, the RRC layer or PDCP layer of the first terminal device can determine the transmission delay of the target service and configure it to the MAC layer of the first terminal device; or the first terminal device stores the transmission delays of multiple services, and determines the transmission delay of the target service after starting the target service; or the second terminal device sends indication information to the first terminal device, and the indication information is used to indicate the transmission delay of the target service.

[0224] based on Figure 6AIn the embodiment shown, the present application also provides an example of a communication method. This example takes a mobile communication system including a terminal device and a base station as an example, and takes the MAC layer scheduling of the terminal device during the process of transmitting XR service data to the base station as an example. Figure 7 The flowchart shown is used for explanation.

[0225] S700: After the base station establishes a wireless connection with the terminal device, the base station allocates a transmission delay of the XR service to the terminal device.

[0226] Optionally, the base station can Figure 6A In the description of S600a in the embodiment shown, an RRC connection is established with the terminal device, and a data bearer for the XR service is established based on the RRC connection. In the process of establishing the data bearer, the MAC layer of the base station and the terminal device establishes a target logical channel corresponding to the data bearer.

[0227] In this step, the base station can determine the transmission delay of the XR service in the manner described in S600b and send indication information indicating the transmission delay of the XR service to the terminal device. In this way, the terminal device can determine the transmission delay of the XR service so as to transmit service data of the XR service (hereinafter referred to as XR service data) according to the transmission delay.

[0228] S701: The MAC layer of the terminal device initializes the token quantity Bxr=0 in the token bucket corresponding to the target logical channel, where the target logical channel is the logical channel corresponding to the XR service and is used to transmit service data of the XR service.

[0229] In the embodiment of the present application, the number of tokens Bxr in the token bucket corresponding to the target logical channel can also be called the number of tokens Bxr corresponding to the target logical channel.

[0230] This example only takes the initialization of the token data Bxr corresponding to the target logical channel to 0 as an example for explanation. However, it should be noted that this example does not limit the initial value of the number of tokens, and the initial value can also be other values.

[0231] S702: When one or more RLC SDUs carrying the Vth XR service data arrive at the MAC layer target logical channel of the terminal device (the Vth XR service data has not yet been multiplexed), the MAC layer of the terminal device initializes the remaining transmission time D of the Vth XR service data = the transmission delay of the XR service; and initializes the data volume Sv of the remaining data of the Vth XR service data = the total data volume of the Vth XR service data.

[0232] The Vth XR service data may be any XR service data.

[0233] Each XR service data may be a frame image, a set frame image or multiple frames of images; or may be an image slice in a frame image, a set frame image or multiple frames of images, which is not limited in this application.

[0234] Exemplarily, the Vth XR service data may be the Vth frame image, or the Vth image slice.

[0235] Among them, the amount of data carried by each RLC SDU carrying the Vth XR service data is determined by the terminal device itself, and this application will not describe it in detail.

[0236] In addition, it should be noted that this example does not limit the format of the data packets carrying XR service data. This example only takes RLC SDU as an example. In other communication systems or application scenarios, the data packets carrying service data can also be data packets in other formats.

[0237] In this example, the MAC layer of the terminal device can multiplex multiple RLC SDUs carrying the Vth XR service data into the target transmission channel in sequence according to the set order. The target transmission channel is the transmission channel corresponding to the target logical channel.

[0238] S703: The MAC layer of the terminal device calculates the PBR of the target logical channel based on the data volume Sv of the remaining data of the Vth XR service data and the remaining transmission time D; and updates the number of tokens Bxr in the token bucket corresponding to the target logical channel according to the PBR.

[0239] Since PBR represents the rate at which tokens in the token bucket increase, it can represent the transmission speed of XR service data. Therefore, when the amount of remaining data Sv and the remaining transmission time D of the Vth XR service data are known, the rate at which tokens in the token bucket increase within the remaining time D can be determined. For example, when PBR is expressed as the amount of data added per unit time (e.g., the number of bits), PBR = Sv / D; when PBR is expressed as the number of tokens added per unit time, PBR = (Sv / q) / D, where each token is used to transmit a fixed amount of data, q. The unit time can be a standard time unit such as seconds (s) or milliseconds (ms).

[0240] The following description only uses the example of PBR represented by the number of tokens added per unit time.

[0241] In S703, the MAC layer of the terminal device can update Bxr according to the PBR, that is, in each token increment time interval T, Bxr increases by Bxr' (that is, Bxr = Bxr + Bxr'). Wherein, Bxr' is the token increment within the time T, that is, the product of PBR and T, that is, Bxr' = PBR × T. Wherein, the token increment time interval T is the update period of Bxr, and its value can be the same as the transmission time interval TTI or different from TTI, which is not limited in this application.

[0242] It should also be noted that when the RRC layer of the base station also configures the token bucket depth BSD (used to indicate the token number threshold of the token bucket) for the target logical channel of the terminal device, the MAC layer of the terminal device needs to ensure that Bxr is less than or equal to the token number threshold indicated by BSD when updating Bxr according to PBR.

[0243] S704: At each transmission moment, the MAC layer of the terminal device multiplexes the target data with a data volume Z from the remaining data of the Vth XR service data into the MAC PDU based on the number of tokens Bxr in the current token bucket, the data volume K of the remaining data in the RLC SDU to be transmitted in the target logical channel, and the amount of idle resources M in the MAC PDU of the target transmission channel (that is, the data volume M that the idle resources in the MAC PDU can carry), and updates the number of tokens Bxr in the token bucket based on the data volume Z of the target data.

[0244] The RLC SDU to be transmitted is: during the MAC layer sequentially transmitting multiple RLC SDUs carrying the Vth XR service data, the RLC SDU carrying data that has not been fully transmitted. Of course, the remaining data in the RLC SDU to be transmitted is included in the remaining data of the Vth XR service data.

[0245] The amount of idle resources M in the MAC PDU = the total amount of data that can be carried in the MAC PDU - the total amount of all data multiplexed into the MAC PDU.

[0246] At a transmission moment, when Bxr is determined to be greater than 0, the MAC layer of the terminal device can multiplex a maximum of M data into the MAC PDU. Depending on the relationship between the amount of remaining data K in the RLC SDU to be transmitted and the amount of idle resources M in the MAC PDU, the value of the target data amount Z for this multiplexing also varies, and can be specifically divided into the following situations:

[0247] Case 1: If the amount of data K of the remaining data in the to-be-transmitted RLC SDU is greater than or equal to the amount of idle resources M in the MAC PDU, then the amount of data Z of the target data is Z = M, that is, the target data is the data with an amount of M in the to-be-transmitted RLC SDU. In this case, the MAC layer can determine that the number of tokens N consumed for scheduling the target data this time is N = Z / q, and can update the number of tokens in the token bucket to Bxr = Bxr - N = Bxr - Z / q.

[0248] Case 2: If the amount of data K of the remaining data in the to-be-transmitted RLC SDU is less than the amount of idle resources M in the MAC PDU, the MAC layer further needs to compare the amount of data K of the remaining data in the to-be-transmitted RLC SDU with the total amount of data L (L = q * Bxr) that can be transmitted by the tokens of the number of tokens Bxr:

[0249] If K ≥ L, the MAC layer multiplexes all the to-be-transmitted RLC SDU into the MAC PDU, that is, the target data is all the remaining data in the to-be-transmitted RLC SDU. In this case, the MAC layer can determine that the amount of data Z of the target data multiplexed this time is Z = K, the number of tokens N consumed is N = Z / q, and can update the number of tokens in the token bucket to Bxr = Bxr - N = Bxr - Z / q.

[0250] If K < L, the MAC layer can determine that the amount of data Z of the target data multiplexed this time is Z = K, multiplexes all the to-be-transmitted RLC SDU into the MAC PDU, updates the number of tokens in the token bucket to Bxr = Bxr - Z / q, and updates the amount of idle resources M in the MAC PDU to M = M - K. Then the MAC layer further needs to use the next RLC SDU in this logical channel as the to-be-transmitted RLC SDU and continue to multiplex it into the MAC PDU. This multiplexing process is the same as the above steps, that is, it is necessary to continue to compare the amount of data K of the remaining data in the updated to-be-transmitted RLC SDU with the updated amount of idle resources M in the MAC PDU, and multiplex some or all of the data in the updated to-be-transmitted RLC SDU into the MAC PDU according to the comparison result until any of the following stop conditions is met:

[0251] All the RLC SDU in the target logical channel are multiplexed into the MAC PDU; the token data amount Bxr in the token bucket is less than or equal to 0; there is no idle resource in the MAC PDU (that is, the amount of idle resources M in the MAC PDU = 0).

[0252] Exemplarily, assume that the RLC SDUs carrying the V-th XR service data in the target logical channel are RLC SDU0 and RLC SDU1, and the currently pending RLC SDU for transmission is RLC SDU0. If the amount of remaining data K in RLC SDU0 is less than the amount of idle resources M in the MAC PDU, and K < the total amount of data L that can be transmitted by the tokens of the current token number Bxr (L = q * Bxr), then the MAC layer first multiplexes all the remaining data in RLC SDU0 into the MAC SDU, updates the token number in the token bucket to Bxr = Bxr - K / q, and updates the amount of idle resources M in the MAC PDU to M = M - K. Then, RLC SDU1 is used as the new pending RLC SDU for transmission (at this time, the amount of remaining data K in the pending RLC SDU is equal to the amount of data in RLC SDU1), and the data in RLC SDU1 is continuously multiplexed into the MAC SDU until the above stop condition is met: if Bxr > 0 and K < M, the MAC layer multiplexes all of RLC SDU1 into the MAC PDU (since there is only one RLC SDU left, there is no need to consider the total amount of data that Bxr can transmit), and updates the token amount in the token bucket to Bxr = Bxr - K / q; if Bxr > 0 and K ≥ M, the MAC layer multiplexes the data with the amount of M in RLC SDU1 into the MAC PDU (at this time, the MAC PDU is full and there are no more idle resources), and updates the token amount in the token bucket to Bxr = Bxr - M / q.

[0253] It should be noted that since the MAC layer needs to avoid fragmenting the RLC SDU as much as possible during the multiplexing process, the updated Bxr may be less than 0. When Bxr of this target logical channel is less than or equal to 0, if Bxr is still less than 0 at the next TTI transmission moment, that is, after adding PBR * TTI tokens, the MAC layer no longer multiplexes the remaining data in the V-th XR service data of this target logical channel until Bxr of this target logical channel is greater than 0.

[0254] It should also be noted that when multiple logical channels including this target logical channel multiplex this target transport channel, the RRC layer of the base station also needs to configure the priorities of these multiple logical channels. The priority parameter of any logical channel determines the order in which this logical channel multiplexes the target transport channel among multiple logical channels, that is, the RLC SDU in the logical channel with a higher priority will be preferentially multiplexed into the MAC PDU.

[0255] Continue with Figure 3For example, assume that logical channel 2 is the target logical channel corresponding to the XR service, and B2 = Bxr. After the MAC layer of the terminal device multiplexes the data in the three logical channels into the MAC PDU in accordance with the parameters such as the number of tokens of each logical channel (that is, the MAC layer executes the above S704 for the parameters such as the number of tokens of each logical channel), if there are still idle resources in the MAC PDU, the MAC layer of the terminal device can perform additional multiplexing and continue to multiplex the remaining data in the logical channels into the MAC PDU in accordance with the priority of the multiple logical channels. Figure 8 As shown, the additional multiplexing process includes:

[0256] 1. The MAC layer of the terminal device multiplexes RLC SDU1-1 in logical channel 1, RLC SDU2-1 in logical channel 2, and RLC SDU3-1 in logical channel 3 into a MAC PDU, respectively, based on parameters such as the token data amount of each logical channel. That is, the MAC layer performs the above S704 based on parameters such as the token amount of each logical channel, thereby multiplexing RLC SDU1-1 in logical channel 1, RLC SDU2-1 in logical channel 2, and RLC SDU3-1 in logical channel 3 into a MAC PDU, respectively.

[0257] 2. After step 1, if there are still idle resources in the MAC PDU and the idle resources are sufficient, the MAC layer will prioritize multiplexing all the remaining data in logical channel 1 (i.e., RLC SDU1-2) into the MAC PDU, such as Figure 8 As shown in .

[0258] 3. After step 2, since there are still idle resources in the MAC PDU (capable of carrying a data volume of X), the MAC layer continues to multiplex data with a data volume of X from the remaining data (RLC SDU2-2 and RLC SDU2-3) in logical channel 2 (i.e., the target logical channel) into the MAC PDU. For example, when X is greater than the total data volume of RLC SDU2-2 and less than the total data volume of RLC SDU2-2 and the total data volume of RLC SDU2-3, the MAC layer multiplexes all the data in RLC SDU2-2 and part of the data in RLC SDU2-2 into the MAC PDU.

[0259] It should be noted that after completing a round of multiplexing for multiple logical channels based on the number of tokens, the number of tokens required for the multiplexed logical channels will no longer be consumed due to the possibility that there are still idle resources for the MAC PDU to be reused. Therefore, regardless of whether the target logical channel has this additional multiplexing process, the number of tokens consumed for this multiplexing of the target data is N = Z / q.

[0260] S705: After each transmission moment, the MAC layer of the terminal device updates the data volume Sv of the remaining data of the V-th XR service data and the remaining transmission time D.

[0261] In one embodiment, in S705, after the MAC layer of the terminal device completes a multiplexing process for multiple logical channels based on parameters such as the number of tokens for each logical channel, if there are no idle resources in the MAC PDU, or the idle resources in the MAC PDU are occupied by data from other logical channels with a higher priority than the target logical channel, then in S705, the MAC layer multiplexes only the target data with a data volume of Z in the target logical channel into the MAC PDU. In this case, the MAC layer updates the data volume of the remaining data of the Vth XR service data to Sv=Sv-Z.

[0262] In another embodiment, in S705, after the MAC layer of the terminal device completes a round of multiplexing process for multiple logical channels according to parameters such as the number of tokens of each logical channel, there are still idle resources in the MAC PDU, and the MAC layer continues to perform an additional multiplexing process. In addition, in the additional multiplexing process, the idle resources are not occupied by data with a higher priority than the target logical channel, and the MAC layer continues to multiplex the data with a data volume of Z from the remaining data of the Vth XR service data in the target logical channel into the MAC PDU, such as Figure 8 In this case, the MAC layer updates the amount of the remaining data of the V-th XR service data to Sv=Sv-(Z+X).

[0263] In addition, the MAC layer updates the remaining transmission time D=D-TTI.

[0264] Through this step, the MAC layer can continue to update the PBR of the target logical channel according to the updated Sv and D.

[0265] S706: The MAC layer of the terminal device determines whether the remaining transmission time D of the Vth XR service data is less than or equal to 0. If so, execute S707; otherwise, continue to execute S703 according to Sv and D updated in S705, so that the remaining data in the Vth XR service data can continue to be multiplexed into the MAC PDU in the target transmission channel.

[0266] This example only uses the judgment threshold of the remaining transmission time D as 0 as an example for explanation, but does not constitute a limitation on the judgment threshold. In actual applications, the judgment threshold may also be other set values.

[0267] The XR service has the same transmission delay requirements for each XR service data. When the remaining transmission time D of a certain XR service data is less than or equal to 0, it means that the transmission duration of the XR service data fails to meet the XR service transmission delay requirements. At this time, if the XR service data continues to be transmitted, it may continue to affect the transmission delay of the subsequently arriving XR service data. Therefore, in one embodiment of this example, in S706, when the MAC layer of the terminal device determines that the remaining transmission time D of the Vth XR service data is less than or equal to 0, the remaining data of the Vth XR service data in the target logical channel is discarded (that is, all RLC SDUs carrying the remaining data in the Vth XR service data are discarded in the target logical channel). In this way, the MAC layer no longer multiplexes the RLC SDU carrying the remaining data of the Vth XR service data, so that the RLC SDU carrying the next XR service data can be multiplexed to the target transmission channel.

[0268] like Figure 7 As shown, S707 is the first possible implementation method provided by the embodiment of the present application.

[0269] In the second embodiment, after the MAC layer of the terminal device determines that the remaining transmission time D of the Vth XR service data is less than or equal to 0, the MAC layer of the terminal device may choose to continue to multiplex the remaining data of the Vth XR service data in the target logical channel. In this process, since it is impossible to continue to update the PBR through the remaining transmission time D, the MAC layer can continue to use the PBR calculated last time to update Bxr. Since the actual transmission duration of the Vth XR service exceeds the transmission delay of the XR service, it may happen that the remaining data of the Vth XR service data has not been transmitted, and at least one RLC SDU carrying the V+1th service data arrives at the target logical channel. At this time, in order not to affect the transmission delay of the next XR service data (i.e., the V+1th XR service data), the MAC layer can deduct the occupied time of the Vth XR service data accordingly when initializing the remaining transmission time of the V+1th XR service data.

[0270] For example, after the MAC layer determines that the remaining transmission time D of the Vth XR service data is less than or equal to 0, it continues to use the last calculated PBR to update Bxr and continues to multiplex the remaining data of the Vth XR service data into the MAC PDU at each transmission time according to the implementation described in S704. During the process of continuing to transmit the remaining data of the Vth XR service data, when at least one RLC SDU carrying the V+1th service data arrives at the target logical channel, the MAC layer can count the occupation time of the Vth XR service data. When the transmission of the Vth XR service data is completed, the MAC layer stops counting the occupation time and then transmits the V+1th XR service data again through S702-S707. In S702, the MAC layer initializes the new remaining transmission time D of the V+1th XR service data to be equal to the transmission delay of the XR service - the occupation time. The process of counting the occupation time in this implementation is described in detail in S708.

[0271] S707: The MAC layer of the terminal device discards the remaining data of the V-th XR service data, that is, discards the RLC SDU carrying the remaining data of the V-th service data in the target logical channel.

[0272] S708: After one or more RLC SDUs carrying V+1 XR service data arrive at the target logical channel, the MAC layer of the terminal device updates V=V+1 and repeats S702-S707 so that the RLC SDU carrying the new XR service data can continue to be multiplexed into the MAC PDU through dynamic PBR. The specific process can refer to the above steps and will not be repeated here.

[0273] It should be noted that this step may occur at any time during the transmission of the Vth XR service data, or may occur after the transmission of the Vth XR service data is completed.

[0274] In the first embodiment, during the transmission of the Vth XR service data by the MAC layer of the terminal device, one or more RLC SDUs carrying V+1 XR service data arrive at the target logical channel. Then, when the MAC layer determines that the Vth XR service data has timed out (i.e., the remaining transmission time D of the Vth XR service data is ≤ 0), the MAC layer may discard the RLC SDU carrying the remaining data of the Vth service data to transmit the V+1th XR service data as soon as possible. In this way, the transmission delay of each VR service data in the XR service can be guaranteed.

[0275] In the second implementation, during the process of transmitting the Vth XR service data at the MAC layer of the terminal device, one or more RLC SDUs carrying V+1 XR service data arrive at the target logical channel. When the MAC layer determines that the Vth XR service data has timed out (i.e., the remaining transmission time D of the Vth XR service data is less than or equal to 0), the MAC layer can continue to use the last calculated PBR to update Bxr, and multiplex the remaining data in the Vth XR service data into the MAC PDU at each transmission time through the embodiment described in S704. In this method, the following two situations may occur:

[0276] If the V+1th XR service data arrives before the Vth XR service data times out, the MAC layer starts timing the occupation duration of the Vth XR service data when it determines that the Vth XR service data times out, and stops timing the occupation duration when the Vth XR service data is transmitted.

[0277] If the V+1th XR service data arrives after the Vth XR service data times out, the MAC layer starts timing the occupation duration of the Vth XR service data at the time the V+1th service data arrives, and stops timing the occupation duration when the Vth XR service data is transmitted.

[0278] After the MAC layer completes transmission of the Vth XR service data, it transmits the V+1th XR service data through S702-S707. In S702, the MAC layer initializes the remaining transmission time D of the new V+1th XR service data as = XR service transmission delay - occupied time of the Vth XR service data.

[0279] It should be noted that in this second embodiment, since the remaining transmission time of the V+1th XR service data initialized by the MAC layer is less than the transmission delay of the XR service, the V+1th XR service data is likely to time out. If the remaining transmission time D of the V+1th XR service data is less than or equal to 0 and there is still remaining data that has not been transmitted, the MAC layer can continue to occupy the transmission time of the V+2th XR service data, as described in the second embodiment, and will not be repeated here.

[0280] based on Figure 6A The embodiment shown and Figure 7 In the example shown, this application also provides another communication method example. In the example, the mobile communication system is continued as an example, and the MAC layer scheduling during the terminal device implementing the XR service is used as an example. The example includes the following steps:

[0281] by Figure 8For example, the MAC layer on the terminal device has three logical channels 1, 2, and 3, and their priorities are descending in order, that is, logical channel 1 is configured with the highest priority by the RRC layer of the base station, and logical channel 3 is configured with the lowest priority by the RRC layer of the base station, where the XR service is transmitted on logical channel 2. In this example, the PBR of logical channel 1 or logical channel 2 can be assigned a static PBR by the RRC layer of the base station, that is, the MAC layer multiplexes the RLC SDUs in logical channel 1 and logical channel 2 in a traditional way. Logical channel 2 is the target logical channel, and its PBR adopts Figure 6A or Figure 7 The documented method uses dynamic PBR to update tokens.

[0282] This example uses the XR service data as a frame of image data as an example, and each token is used to multiplex / transmit 1 bit of data as an example, that is, q = 1 bit / token.

[0283] A1: After establishing a wireless connection with a terminal device, the base station assigns the terminal device an XR service delay. Based on the XR service delay, the terminal device determines the XR service transmission delay D to be D = 10ms. The terminal device initializes an XR logical channel for transmitting the XR service and initializes the number of tokens in the token bucket corresponding to the XR logical channel, Bxr, to 0.

[0284] In this mobile communication system, the transmission time interval (scheduling period, transmission period) TTI and the token increment time interval T of the terminal device are both 1ms, that is, T=TTI=1ms.

[0285] A2: When the RLC SDU carrying the Vth frame of image data arrives at the XR logical channel, the terminal device's MAC layer initializes the remaining transmission time D for the Vth frame of image data, which equals the XR service transmission delay of 10 ms, and initializes the remaining data size Sv for the Vth frame of image data, which equals the total data size of the Vth frame (i.e., the total data size of the Vth frame of image data) to 1 Mbits. The Vth frame of image data is divided into 20 RLC SDUs, {SDU0, ..., SDU19}, with SDU0 = SDU1 = ... = SDU19 = 50 kbits. The terminal device's MAC layer determines the PBR of the XR logical channel based on Sv and D. This PBR is dynamic. In this example, the PBR is expressed as the amount of data added per unit time. In this example, the dynamic PBR can be represented by Pxr,v. Based on Sv and D, Pxr,v = Sv / D = 100 Mbps.

[0286] A3: First TTI:

[0287] (1) At this time, the MAC layer of the terminal device updates the number of tokens Bxr in the token bucket corresponding to the XR logical channel according to the PBR, that is, Bxr=Bxr+Bxr'=100kbits, where Bxr'=Pxr,v×T=100kbits.

[0288] (2) If the idle resource amount M in the MAC PDU is 327 kbits at the time of transmission, and since logical channel 1 has the highest priority, if the MAC layer multiplexes the data amount B1 = 155 kbits in logical channel 1 into the MAC PDU, the idle resource amount M of the MAC PDU is 327 kbits - 155 kbits = 272 kbits.

[0289] (3) The MAC layer of the terminal device adopts Figure 7 In the illustrated embodiment, the implementation described in S704 multiplexes the Vth frame of image data from logical channel 2 into the MAC PDU. In this scheduling, the MAC PDU's free resource amount M is greater than Bxr and greater than RLC SDU0, so RLC SDU0 does not require segmentation. At this point, the data of RLC SDU0 is first multiplexed into the MAC PDU, and Bxr is updated to = Bxr - the data amount in RLC SDU0, 50 kbits. At this point, Bxr still exceeds 0, and the MAC PDU's free resource amount M is greater than RLC SDU1, so RLC SDU1 also does not require segmentation. After the MAC layer completes multiplexing RLC SDU1 into the MAC PDU, Bxr = Bxr - the data amount in RLC SDU1, 50 kbits = 0, and the MAC layer no longer multiplexes the data from logical channel 2.

[0290] (4) See Figure 8 As shown in the figure, after completing the multiplexing of logical channels 1 and 2, the idle resources of the MAC PDU are M = 327kbits - 155kbits - 100kbits = 172kbits. Assume that 50kbits of data in logical channel 3 are multiplexed into the MAC PDU. At this time, all three logical channels have been multiplexed, and the MAC PDU still has 122kbits of remaining resources. Therefore, they will be multiplexed again according to the priority order of the logical channels:

[0291] If there is 60 kbits of remaining data in logical channel 1, all 60 kbits of data are multiplexed into the MAC PDU. At this point, the MAC PDU has 62 kbits of free resources, which can be used to multiplex data from logical channel 2. That is, the MAC layer multiplexes all the data of SDU2 and the first 12 kbits of SDU3 in logical channel 2 into the MAC PDU. Since there are no free resources in the MAC PDU, the MAC layer stops multiplexing all logical channels. SDU3 in logical channel 2 still has 38 kbits to transmit.

[0292] (5) After this scheduling, the MAC layer of the terminal device updates Sv=1Mbits-100kbits-62kbits=838kbits, D=10ms-1ms=9ms.

[0293] (6) After this scheduling, the MAC layer of the terminal device updates the dynamic PBR, that is, Pxr,v = Sv / D = 838kbits / 9ms = 94kbps.

[0294] A4: Second TTI:

[0295] (1) At this time, the MAC layer of the terminal device updates the number of tokens Bxr in the token bucket corresponding to the XR logical channel according to the new PBR, that is, Bxr = Bxr + Bxr' = 94kbits, where This application does not limit the calculation method of Bxr', for example, Bxr' can also be calculated by rounding down.

[0296] (2) The MAC layer of the terminal device determines that the idle resource amount M in the MAC PDU is 234 kbits. Note that the MAC PDU involved in this step is not the same MAC PDU involved in step A3. At this point, the MAC layer multiplexes 147 kbits of data from logical channel 1 into the MAC PDU. At this point, the idle resource amount M of the MAC PDU = 234 kbits - 147 kbits = 87 kbits.

[0297] (3) After logical channel 1 is multiplexed, there are still idle resources in the MAC PDU, so the MAC layer can multiplex logical channel 2. Figure 7In the illustrated embodiment, the implementation described in S704 multiplexes the Vth frame of image data from logical channel 2 into the MAC PDU. In this call, the MAC PDU's idle resource amount M is greater than Bxr and greater than the remaining data amount of RLC SDU3 (38 kbits). Therefore, the MAC layer can multiplex the remaining data of RLC SDU3 from logical channel 2 into the MAC PDU, consuming the corresponding number of tokens. At this point, Bxr = Bxr - Remaining data amount of MAC SDU3 = 94 kbits - 38 kbits = 56 kbits, and the MAC PDU's idle resource amount M = 87 kbits - 38 kbits = 49 kbits. Because Bxr > 0 and the MAC PDU still has idle resources, the MAC layer can continue to multiplex RLC SDU4 from logical channel 2 into the MAC PDU. Furthermore, because RLC SDU4 = 50 kbits > 49 kbits, only the first 49 kbits of SDU4 can be multiplexed into the MAC PDU. At this time, there are no available resources for the MAC PDU, and the MAC layer no longer multiplexes the data of logical channel 3 into the MAC PDU. After this scheduling, the number of tokens for logical channel 2 is Bxr = 56 kbits - 49 kbits = 7 kbits.

[0298] (4) After this scheduling, there are no idle resources in the MAC PDU.

[0299] (5) After this scheduling, the MAC layer of the terminal device updates Sv=838kbits-87kbits=751kbits, D=9ms-1ms=8ms.

[0300] (6) After this scheduling, the MAC layer of the terminal device continues to update the dynamic PBR, that is, Pxr,v = Sv / D = 751 kbits / 8ms = 94 kbits.

[0301] A5: In each subsequent TTI, the MAC layer of the terminal device can continue to multiplex the data in the logical channel into the MAC PDU of the transport channel by repeating steps A3 or A4.

[0302] A6: In the first embodiment, if, after a certain scheduling, the MAC layer of the terminal device updates the remaining transmission time D of the Vth frame image data to be less than or equal to 0, and the amount of remaining data Sv in the Vth frame image data is greater than 0, it indicates that the Vth frame image data has not been fully transmitted within the specified transmission delay of the XR service. To ensure the transmission delay of subsequent image frames, the MAC layer of the terminal device may discard the remaining data of the Vth frame image data, amount Sv, so that when the RLC SDU carrying the V+1th frame image data arrives at the XR logical channel, the MAC layer can schedule the RLC SDU carrying the V+1th frame image data as soon as possible.

[0303] In the second embodiment, if after a certain scheduling, the MAC layer of the terminal device updates the remaining transmission time D of the V-th frame image data to be less than or equal to 0, and the data volume Sv of the remaining data of the V-th frame image data is greater than 0, the MAC layer of the terminal device may choose to continue to multiplex the remaining data in the V-th frame image data, that is, continue to repeat steps A3 or A4; wherein in A3 and A4, the MAC layer no longer updates the PBR corresponding to the logical channel and uses the last calculated PBR to update Bxr.

[0304] A7: In the first implementation, when the RLC SDU carrying the V+1th frame image data arrives at the XR logical channel, if the Vth frame image data has not been completely transmitted, the MAC layer of the terminal device can discard the remaining data of the Vth frame image data when the remaining transmission time D of the Vth frame image data is less than or equal to 0, that is, the first implementation in A6; and the MAC layer continues to repeat the above steps A2-A6 for the RLC SDU carrying the V+1th frame image data, so as to multiplex all the V+1th frame image data into the MAC PDU as much as possible within the specified transmission delay of the XR service.

[0305] In a second embodiment, when the RLC SDU carrying the V+1th frame of image data arrives at the XR logical channel, if the Vth frame of image data has not been fully transmitted, the MAC layer of the terminal device may continue to repeat steps A3 or A4 to multiplex the remaining data in the Vth frame of image data. If, after a certain scheduling, the MAC layer of the terminal device determines that the Vth frame of image data has timed out and that there is still remaining data in the Vth frame of image data that has not been transmitted, the MAC layer of the terminal device may choose to continue multiplexing the remaining data in the Vth frame of image data, that is, continue to repeat steps A3 or A4. In steps A3 and A4, the MAC layer may use the most recently calculated PBR to update Bxr. If the V+1th frame of image data arrives before the Vth frame of image data times out, the MAC layer begins counting the occupancy duration of the Vth frame of image data at the moment the Vth frame of image data times out. If the V+1th frame of image data arrives after the Vth frame of image data times out, the MAC layer begins counting the occupancy duration of the Vth frame of image data at the moment the V+1th frame of image data arrives. After the Vth frame of image data is transmitted, the MAC layer stops timing the arrival time of the V+1th frame of image data and executes steps A2-A6 for the RLC SDU carrying the V+1th frame of image data. In step A2, the MAC layer initializes the remaining transmission time D for the V+1th frame of image data to be 10 ms minus the occupied time of the Vth frame of image data.

[0306] It should be noted that this example is illustrated using the XR service as an example. However, this example does not limit the services to which the method provided by this application applies. In addition, there are multiple logical channels in the terminal device, and the MAC layer of the terminal device can execute the above communication method on some or all of the multiple logical channels. In addition, when multiple logical channels reuse the same transmission channel, the MAC layer of the terminal device can execute the above communication method on some or all of these logical channels, and this application does not limit this.

[0307] In addition, the above example uses a TTI of 1ms, but in practice, the TTI can be of other durations, such as 1.5ms, 2ms, etc. Furthermore, the TTI duration can vary during MAC layer scheduling. For example, the TTI between a first transmission moment and an adjacent second transmission moment is 1ms, and the TTI between the second transmission moment and an adjacent third transmission moment is 1.5ms.

[0308] Finally, it should also be noted that the communication method provided in the embodiment of the present application is applicable to the initial transmission of business data. Due to the different retransmission mechanisms of business data, the retransmission of certain business data may not be applicable.

[0309] In addition, in some scenarios, such as in 5G communication systems, a logical channel may be associated with a transmission moment, so at that transmission moment, other logical channels may not be allowed to multiplex the transmission channel corresponding to the logical channel. For example, in a case where multiple logical channels of a communication device can multiplex the same transmission channel, the first transmission moment is associated with the first logical channel, so at the first transmission moment, the MAC layer of the communication device can only multiplex the service data in the first logical channel to the transmission channel, and will not multiplex the service data in other logical channels to the transmission channel. Although the embodiments and examples provided in the embodiments of the present application do not take into account the association relationship between logical channels and transmission moments, this does not constitute a limitation of the communication method provided in the embodiments of the present application.

[0310] Based on the same technical concept, the embodiment of the present application also provides a communication device, which can be applied to Figure 4 In the communication system shown. Optionally, the communication device can be a terminal device or network device in a mobile communication system, or a terminal device in a sidelink communication system, which is not limited in this application. The communication device can implement the method provided in the above embodiment or example. Figure 9 As shown, the communication device 900 includes: a transceiver 901, a processor 902, and a memory 903. The transceiver 901, the processor 902, and the memory 903 are interconnected.

[0311] Optionally, the transceiver 901, the processor 902, and the memory 903 are interconnected via a bus 904. The bus 904 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, Figure 9 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0312] The transceiver 901 is used to receive and send signals to implement communication with other devices. The transceiver 901 can be connected to an antenna to implement signal transmission.

[0313] The processor 902 is used to implement the communication method provided in the above embodiments or examples. The specific functions can be referred to the description in the above embodiments and will not be repeated here.

[0314] The processor 902 may be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP. The processor 902 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. When implementing the above functions, the processor 902 may be implemented through hardware, or may also execute corresponding software implementations through hardware.

[0315] Memory 903 is used to store program instructions, etc. Specifically, program instructions may include program code, which includes computer operating instructions. Memory 903 may include random access memory (RAM) or non-volatile memory (non-volatile memory), such as at least one disk storage device. Processor 902 executes the program instructions stored in memory 903 to implement the above functions, thereby implementing the methods provided in the above embodiments.

[0316] Based on the above embodiments, an embodiment of the present application further provides a computer program, which, when executed on a computer, enables the computer to execute the method provided in the above embodiments.

[0317] Based on the above embodiments, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, the computer executes the method provided in the above embodiments.

[0318] The storage medium may be any available medium that can be accessed by a computer. By way of example and not limitation, computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer.

[0319] Based on the above embodiments, an embodiment of the present application further provides a chip, which is used to read a computer program stored in a memory to implement the method provided in the above embodiments.

[0320] Based on the above embodiments, embodiments of the present application provide a chip system, which includes a processor for supporting a computer device to implement the functions involved in the communication device in the above embodiments. In one possible design, the chip system also includes a memory for storing the necessary programs and data for the computer device. The chip system can be composed of a chip or can include a chip and other discrete devices.

[0321] In summary, the embodiments of the present application provide a communication method and device. In this method, the communication device can dynamically determine the PBR corresponding to the target service based on the remaining data volume and remaining transmission time of the service data of the target service, so as to transmit the service data according to the PBR; wherein the remaining transmission time is the difference between the target transmission duration determined according to the transmission delay of the target service and the duration of the transmission of the service data. Since the PBR of the target service changes dynamically according to the transmission rate requirements of the service data, this method can maximize the probability of transmitting all service data within the specified transmission delay of the target service. In short, this method can ensure the transmission delay of the service data of the communication device and improve the user experience of the service.

[0322] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0323] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0324] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0325] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0326] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.

Claims

1. A communication method, applied to a terminal device, characterized in that: include: Determine a remaining data volume of first service data of a target service and a first remaining transmission time of the first service data; Determining a first priority bit rate (PBR) corresponding to the target service based on the remaining data volume and the first remaining transmission time; wherein the first remaining transmission time is the difference between a first target transmission duration and a duration elapsed for transmitting the first service data; and the first target transmission duration is the difference between a transmission delay of the target service and a duration occupied by a previous service data. Wherein, if the first service data arrives at the target logical channel before the remaining transmission time of the previous service data is less than or equal to 0, the occupation duration of the previous service data is from the time when the remaining transmission time of the previous service data is less than or equal to 0 to the time when all the previous service data are multiplexed into the target transmission channel; or If the remaining transmission time of the previous service data is less than or equal to 0 and the first service data arrives at the target logical channel before the previous service data is fully multiplexed into the target transmission channel, the occupation duration of the previous service data is from the arrival of the first service data to the end of the previous service data being fully multiplexed into the target transmission channel; The target logical channel is a logical channel corresponding to the target service; the target transmission channel is a transmission channel corresponding to the target logical channel.

2. The method according to claim 1, wherein The method further comprises: Indication information is received from a network device, where the indication information is used to indicate a transmission delay of the target service.

3. The method according to claim 1 or 2, wherein: After determining the first PBR corresponding to the target service, the method further includes: increasing a value of a first variable according to the first PBR, where the first variable corresponds to the target logical channel; The remaining data of the first service data is multiplexed into the target transmission channel according to the value of the first variable.

4. The method according to claim 3, wherein After multiplexing the remaining data of the first service data to the target transmission channel, the method further includes: determining a total size of the first service data multiplexed into the target transmission channel; The value of the first variable is reduced according to the total size of the first service data multiplexed into the target transmission channel.

5. The method according to claim 4, wherein Multiplexing the remaining data of the first service data to a target transmission channel according to a value of the first variable includes: multiplexing part of the remaining data of the first service data to the target transmission channel according to the value of the first variable; After multiplexing the remaining data of the first service data to the target transmission channel, the method further includes: reducing the remaining data amount of the first service data according to the total size of the partial data; and reducing the first remaining transmission time according to the time consumed for multiplexing the partial data to the target transmission channel this time; When the first remaining transmission time is greater than 0, a second PBR corresponding to the target service is determined according to the updated remaining data amount of the first service data and the first remaining transmission time.

6. The method according to claim 5, wherein When the first remaining transmission time is less than or equal to 0, the method further includes: discarding remaining data of the first service data.

7. The method according to claim 5, wherein When the first remaining transmission time is less than or equal to 0, the method further includes: According to the first PBR, the value of the first variable is increased.

8. The method according to claim 7, wherein The method further comprises: Before the first remaining transmission time is less than or equal to 0, determining that the second service data of the target service arrives at the target logical channel; when the first remaining transmission time is less than or equal to 0, starting to count the occupation duration; or After the first remaining transmission time is less than or equal to 0 and before all the first service data are multiplexed into the target transmission channel, determining that second service data of the target service arrives at the target logical channel; upon arrival of the second service data, starting to count the occupation duration; When all the first service data are multiplexed into the target transmission channel, stopping counting the occupation time; Initialize the remaining data volume of the second service data to the total data volume of the second service data, and initialize the second remaining transmission time of the second service data to the second target transmission duration; wherein the second target transmission duration is the difference between the transmission delay of the target service and the occupied duration; A third PBR corresponding to the target service is determined according to the remaining data amount of the second service data and the second remaining transmission time.

9. A terminal device, characterized in that: include: transceiver, used to receive and transmit signals; Memory, used to store program instructions and data; A processor is configured to read program instructions and data in the memory, and implement the method according to any one of claims 1 to 8 through the transceiver.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is run on a computer, the computer is enabled to execute the method according to any one of claims 1 to 8.

11. A chip, characterized in that: The chip is coupled to a memory, and the chip reads a computer program stored in the memory to execute the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Data transmission method and device

    CN110167066A

  • Communication method, device and system

    CN110324902A