A method of encoding rate adjustment and related apparatus
By determining the overall recommended rate and congestion priority of the data streams and adjusting the encoding rate of each data stream, the problem of data stream stuttering under network congestion was solved, improving data transmission efficiency and user experience.
Patent Information
- Application Number
- CN202411821062.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2044-12-11
AI Technical Summary
In situations of network congestion, existing technologies struggle to personalize the encoding rate for multiple data streams, leading to stuttering in videos or other data streams and reducing the user experience.
By determining the total recommended rate of the data stream and the congestion priority of each data stream, the encoding rate of each data stream is adjusted separately, thereby achieving data stream-level encoding rate adjustment.
It enables personalized encoding rate adjustment for each data stream under network congestion, improving data transmission efficiency and user experience.
Smart Images

Figure CN119363294B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, in particular to a coding rate adjusting method and related equipment. BACKGROUND
[0002] Network congestion is a kind of persistent overload network state, which occurs when the demand of users for network resources exceeds the inherent processing capacity and capacity.
[0003] With the development of information technology, the bandwidth resources required for transmitting data flow are more and more, and the probability of network congestion increases. In the case of network congestion, the phenomenon of video or other data flow jamming may occur, which reduces the user experience. Therefore, a solution is urgently needed to solve the above problems. SUMMARY
[0004] The present application provides a coding rate adjusting method and related equipment.
[0005] To achieve the above purpose, the present application adopts the following technical solutions:
[0006] In a first aspect, the present application provides a coding rate adjusting method, which determines a total recommended rate of data flow, adjusts the coding rate of each data flow according to the total recommended rate of data flow and the congestion priority of each data flow, and obtains the adjusted coding rate of each data flow.
[0007] In the present application, the coding rate of data flow can be adjusted according to the total recommended rate of data flow and the congestion priority of data flow. In the process of adjusting the coding rate of data flow according to the congestion priority of data flow, the adjusted coding rate of each data flow can be determined, and the coding rate adjustment of data flow level can be realized.
[0008] In a possible implementation, the coding rate of each data flow is adjusted according to the total recommended rate of data flow and the congestion priority of each data flow, and the adjusted coding rate of each data flow is obtained, including: when the guaranteed bit rate of the first data flow is greater than or equal to the total recommended rate of data flow, the coding rate of the first data flow is adjusted to the total recommended rate of data flow, and the coding rate of other data flow except the first data flow in each data flow is adjusted to 0.
[0009] The first data flow is the data flow with the highest congestion priority among the data flows. In the present application, when the guaranteed bit rate of the first data flow is greater than or equal to the total recommended rate of data flow, the total recommended rate of data flow can be directly allocated to the first data flow with the highest congestion priority to guarantee its transmission rate.
[0010] In a possible implementation, the encoding rate of each data stream is adjusted according to the total recommended rate of the data streams and the congestion priorities of the data streams, to obtain the adjusted encoding rates of the data streams. When the guaranteed bit rate of a first data stream with the highest congestion priority among the data streams is less than the total recommended rate of the data streams, the encoding rate of the first data stream is adjusted to the guaranteed bit rate of the first data stream. The encoding rates of other data streams than the first data stream are adjusted based on the difference between the total recommended rate of the data streams and the guaranteed bit rate of the first data stream, and the congestion priorities of the other data streams, to obtain the adjusted encoding rates of the other data streams.
[0011] In the embodiments, when the guaranteed bit rate of a first data stream with the highest congestion priority among the data streams is less than the total recommended rate of the data streams, the guaranteed bit rate of the first data stream is allocated from the total recommended rate of the data streams first. Then, the remaining rate of the total recommended rate of the data streams is allocated to other data streams according to the congestion priorities of the other data streams, to obtain the adjusted encoding rates of all the data streams.
[0012] In a possible implementation, the encoding rates of other data streams than the first data stream are adjusted based on the difference between the total recommended rate of the data streams and the guaranteed bit rate of the first data stream, and the congestion priorities of the other data streams, to obtain the adjusted encoding rates of the other data streams. When the guaranteed bit rate of an Nth data stream is greater than or equal to the first remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the first remaining recommended rate, and the encoding rates of data streams with congestion priorities lower than that of the Nth data stream are adjusted to 0. When the guaranteed bit rate of the Nth data stream is less than the first remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the guaranteed bit rate.
[0013] The first remaining recommended rate is the difference between the total recommended rate of the data streams and the sum of the guaranteed bit rates of the first N-1 data streams, and the first remaining recommended rate is greater than 0. The congestion priority of the Nth data stream is lower than that of the N-1th data stream, and N is an integer greater than or equal to 2.
[0014] In the embodiments of the present application, the rate can be allocated to each data stream from the total recommended rate according to the congestion priority order of each data stream. For example, there are a first data stream, a second data stream and a third data stream, wherein the congestion priority of the first data stream is greater than that of the second data stream, and the congestion priority of the second data stream is greater than that of the third data stream. In this case, if the guaranteed bit rate of the first data stream is less than the total recommended rate, the encoding rate of the first data stream is adjusted to the guaranteed bit rate of the first data stream. At this time, if the remaining rate in the total recommended rate is greater than the guaranteed bit rate of the second data stream, the encoding rate of the second data stream is adjusted to the guaranteed bit rate of the second data stream. If the remaining rate in the total recommended rate is less than or equal to the guaranteed bit rate of the second data stream, the encoding rate of the second data stream is adjusted to the current remaining rate in the total recommended rate.
[0015] Similarly, after the remaining rate in the total recommended rate is greater than the guaranteed bit rate of the second data stream, and the encoding rate of the second data stream is adjusted to the guaranteed bit rate of the second data stream, if the current remaining rate in the total recommended rate is greater than the guaranteed bit rate of the third data stream, the encoding rate of the third data stream is adjusted to the guaranteed bit rate of the third data stream. If the current remaining rate is less than or equal to the guaranteed bit rate of the third data stream, the encoding rate of the third data stream is adjusted to the current remaining rate.
[0016] Therefore, in the embodiments of the present application, the corresponding adjusted encoding rate of each data stream can be determined, and the encoding rate adjustment at the data stream level is realized.
[0017] In a possible implementation, before the encoding rate of each data stream is adjusted respectively according to the total recommended rate of the data streams and the congestion priority of each data stream, and the adjusted encoding rate of each data stream is obtained, the congestion level is determined; and the encoding rate of each data stream is adjusted respectively according to the total recommended rate of the data streams, the recommended rate of each data stream corresponding to the congestion level, and the congestion priority of each data stream, and the adjusted encoding rate of each data stream is obtained.
[0018] The method provided by the embodiments of the present application can adjust the encoding rate of each data stream respectively based on the congestion level and the congestion priority of each data stream, realize the encoding rate adjustment at the data stream level, and allocate the encoding rate to as many data streams as possible from the total recommended rate of the data streams.
[0019] In a possible implementation, the encoding rates of the data streams are respectively adjusted according to the total recommended rate of the data streams, the recommended rate of each data stream under the congestion level, and the congestion priorities of the data streams, to obtain the adjusted encoding rates of the data streams, including: when the first recommended rate of the first data stream under the congestion level is greater than or equal to the total recommended rate of the data streams, the encoding rate of the first data stream is adjusted to the total recommended rate of the data streams, and the encoding rates of the data streams other than the first data stream are adjusted to 0.
[0020] The first data stream is the data stream with the highest congestion priority among the data streams. In the embodiment of the application, when the first recommended rate of the first data stream is greater than or equal to the total recommended rate of the data streams, the total recommended rate of the data streams can be directly allocated to the first data stream with the highest congestion priority, to guarantee the transmission rate of the first data stream.
[0021] In a possible implementation, the encoding rates of the data streams are respectively adjusted according to the total recommended rate of the data streams, the recommended rate of each data stream under the congestion level, and the congestion priorities of the data streams, to obtain the adjusted encoding rates of the data streams, including: when the first recommended rate of the first data stream under the congestion level is less than the total recommended rate of the data streams, the encoding rate of the first data stream is adjusted to the first recommended rate; the encoding rates of the data streams other than the first data stream are respectively adjusted based on the difference between the total recommended rate of the data streams and the first recommended rate, and according to the recommended rate of each data stream other than the first data stream under the congestion level and the congestion priorities of the data streams.
[0022] In the embodiment of the application, the recommended rate of each data stream under the congestion level can be allocated from the total recommended rate of the data streams according to the congestion priority order of the data streams, to allocate the encoding rate to as many data streams as possible from the total recommended rate of the data streams while realizing the encoding rate adjustment of the data stream level.
[0023] In a possible implementation, the encoding rates of the data streams other than the first data stream are respectively adjusted based on the difference between the total recommended rate of the data streams and the first recommended rate, and according to the recommended rate of each data stream other than the first data stream under the congestion level and the congestion priorities of the data streams, to obtain the adjusted encoding rates of the data streams, including: when the Nth recommended rate of the Nth data stream under the congestion level is greater than or equal to the second remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the second remaining recommended rate, and the encoding rates of the data streams with the congestion priorities lower than the congestion priority of the Nth data stream are adjusted to 0; when the Nth recommended rate of the Nth data stream under the congestion level is less than the second remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the Nth recommended rate.
[0024] wherein the second residual recommended rate is a difference between the total recommended rate of the data streams and a sum of the recommended rates corresponding to the first N-1 data streams at the congestion level; the second residual recommended rate is greater than 0; the congestion priority of the Nth data stream is lower than the congestion priority of the N-1th data stream; and N is an integer greater than or equal to 2.
[0025] In the embodiments of the present application, the recommended rates corresponding to the data streams at the congestion level can be allocated from the total recommended rate of the data streams according to the congestion priority order of the data streams, so as to allocate the coding rates to as many data streams as possible from the total recommended rate of the data streams while realizing the coding rate adjustment at the data stream level.
[0026] In a possible implementation, when the Nth data stream is the data stream with the lowest congestion priority among the data streams, and when the Nth recommended rate corresponding to the Nth data stream at the congestion level is less than the second residual recommended rate, the coding rate of the Nth data stream is adjusted to the Nth recommended rate, and further comprising: when a fourth residual recommended rate remaining after the total recommended rate of the data streams is allocated to all the data streams is less than or equal to a third residual recommended rate, the coding rate of the first data stream is adjusted from the first recommended rate to a sum of the first recommended rate and the fourth residual recommended rate, and the third residual recommended rate is a difference between the guaranteed bit rate of the first data stream and the first recommended rate. When the fourth recommended rate is greater than the third residual recommended rate, the coding rate of the first data stream is adjusted to the guaranteed bit rate of the first data stream.
[0027] In the embodiments of the present application, after the recommended rates of all the data streams are allocated, if there is still a residual recommended rate, the recommended rates can be allocated to the data streams from the current residual recommended rate according to the congestion priority order of the data streams, starting from the first data stream with the highest congestion priority. For example, if the coding rate of the first data stream is the guaranteed bit rate of the first data stream after the recommended rate is allocated to the first data stream from the current residual recommended rate, there is still a residual recommended rate, then the recommended rate is allocated to the second data stream with the congestion priority lower than that of the first data stream, and so on. In this way, the coding rates can be allocated to as many data streams as possible from the total recommended rate of the data streams while realizing the coding rate adjustment at the data stream level.
[0028] In a possible implementation, when the Nth data stream is the data stream with the lowest congestion priority among the data streams, and when the Nth recommended rate corresponding to the Nth data stream at the congestion level is less than the second residual recommended rate, the coding rate of the Nth data stream is adjusted to the Nth recommended rate, and further comprising: the coding rate of the first data stream is adjusted from the first recommended rate to a sum of the first recommended rate and a fifth residual recommended rate, and the fifth residual recommended rate is a difference between the second residual recommended rate and the Nth recommended rate.
[0029] In the embodiment of the present application, after the recommended rates of all data streams are allocated, if there is still a surplus of the total recommended rate of data streams, the current surplus recommended rate can be directly allocated to the first data stream with the highest congestion priority, so as to improve the efficiency of the encoding rate adjustment.
[0030] In a possible implementation, before determining the total recommended rate of data streams, the terminal device further sends service initial signaling to the network device in the case that the terminal device establishes a protocol data unit session with the network device. The service initial signaling is used to indicate the identification information of each data stream configured by the network device for the terminal device, the guaranteed bit rate of each data stream, and the congestion priority of each data stream. Thus, the adjusted encoding rate of each data stream can be determined subsequently, and the encoding rate adjustment at the data stream level is realized.
[0031] In a possible implementation, the total recommended rate of data streams is determined by receiving the total recommended rate of data streams from the network device. In the embodiment of the present application, the total recommended rate of data can be configured by the network device according to the actual situation, so as to guarantee the data transmission efficiency as much as possible.
[0032] In a possible implementation, after the encoding rate of each data stream is adjusted according to the total recommended rate of data streams and the congestion priority of each data stream, and the adjusted encoding rate of each data stream is obtained, the adjusted encoding rate of each data stream is further received from the network device.
[0033] In the embodiment of the present application, the adjusted encoding rate of each data stream can be determined by the network device, and on this basis, the terminal device can directly receive the adjusted encoding rate of each data stream sent by the network device, so as to improve the operation efficiency of the terminal device.
[0034] In a possible implementation, the network state of the uplink logical channel can be detected by the network device, and when the network state is congestion, the total recommended rate of data streams is determined.
[0035] The second aspect: the embodiment of the present application provides a terminal device, which comprises a processor and a memory.
[0036] The memory is used to store program code and transmit the program code to the processor.
[0037] The processor is used to execute the steps of the encoding rate adjustment method performed by the terminal device according to the instructions in the program code.
[0038] The third aspect: the embodiment of the present application provides a network device, which comprises a processor and a memory.
[0039] The memory is configured to store program code and transmit the program code to the processor.
[0040] The processor is configured to execute steps of the method according to the instructions in the program code.
[0041] The fourth aspect: the embodiments of the present application provide a computer readable storage medium, the computer readable storage medium has a computer program stored thereon, the computer program is executed by a processor to realize steps of the method for adjusting the encoding rate.
[0042] The fifth aspect: the embodiments of the present application provide a computer program product, when the computer program product runs on a computer, the computer executes steps of the method for adjusting the encoding rate. BRIEF DESCRIPTION OF DRAWINGS
[0043] Figure 1 It is a schematic diagram of rate control signaling;
[0044] Figure 2 It is a parameter diagram of recommended encoding rate;
[0045] Figure 3 It is a schematic diagram of the correspondence between the information identification of the logical channel and the data stream;
[0046] Figure 4 It is a schematic diagram of the application scenario of the method for adjusting the encoding rate provided by the embodiments of the present application;
[0047] Figure 5 It is a timing diagram of the first method for adjusting the encoding rate provided by the embodiments of the present application;
[0048] Figure 6 It is a flowchart of the first method for adjusting the encoding rate provided by the embodiments of the present application;
[0049] Figure 7 It is a timing diagram of the second method for adjusting the encoding rate provided by the embodiments of the present application;
[0050] Figure 8 It is a flowchart of the second method for adjusting the encoding rate provided by the embodiments of the present application;
[0051] Figure 9 It is a timing diagram of the third method for adjusting the encoding rate provided by the embodiments of the present application;
[0052] Figure 10 It is a flowchart of the third method for adjusting the encoding rate provided by the embodiments of the present application;
[0053] Figure 11A timing diagram of the fourth coding rate adjustment method provided by the embodiment of the present application;
[0054] Figure 12 A flow chart of the fourth coding rate adjustment method provided by the embodiment of the present application;
[0055] Figure 13 A schematic diagram of the hardware composition of a terminal device provided by the embodiment of the present application. DETAILED DESCRIPTION
[0056] The terms "first", "second", and "third" and the like in the specification and claims of the present application and the description of the drawings are used to distinguish different objects, and are not used to limit a specific order.
[0057] In the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, or illustration, in no way limiting of other similarly configured embodiments. The use of any of these terms in the present specification is intended to further convey the meaning that a particular embodiment exemplified is in no way essential, important, or critical.
[0058] Network congestion is a persistent overload state of a network, which occurs when the demand of users for network resources exceeds the inherent processing capacity and capacity.
[0059] In the first aspect, the network device can provide a certain amount of network resources. In the case of a large number of users, the network resources provided by the network device may be difficult to meet the needs of all users for network resources at the same time, at which time network congestion may occur.
[0060] In the second aspect, with the development of information technology, the bandwidth resources required for data flow transmission are increasing. Taking a video stream as an example, when the video stream is transmitted at a specification of 1080@60fps, the required broadband resources can reach 2Mbps~3Mbps. For 4K, 8K, and other high-definition videos, the required broadband resources are even more. In the case of an increase in the bandwidth resources required for data flow transmission, the probability of network congestion increases.
[0061] In the case of network congestion, the phenomenon of video or other data flow freezing may occur, resulting in a decrease in user experience. At present, when network congestion occurs, the logical channel that needs to be adjusted can be indicated, and rate control signaling is sent to it, so that the terminal device adjusts the coding rate of the data flow corresponding to the logical channel according to the recommended rate in the rate control signaling.
[0062] However, one logical channel can be mapped to multiple data streams, and when the terminal device adjusts the coding rate of the data stream corresponding to the logical channel based on the rate control signaling (MAC CE), it is difficult to adjust the coding rate of the data stream.
[0063] As shown in the following Figure 1 , the figure is a schematic diagram of rate control signaling. Among them, LCID is used to indicate the information identification (ID) of the logical channel that needs to be adjusted; UL / DL is used to indicate the direction that needs to be adjusted, and the direction of the adjustment includes uplink and downlink; Bit Rate represents the recommended coding rate, which occupies 6 bits, as shown in the following Figure 2 , the figure is a parameter diagram of the recommended coding rate, which shows the value of the recommended coding rate corresponding to different indexes (Index); X is the multiple of the recommended coding rate, that is, the product of the recommended coding rate and X is the real recommended coding rate; R is a reserved bit.
[0064] Currently, based on the MAC CE, the LCID can be indicated to adjust the coding rate of the data stream of the logical channel corresponding to the LCID. However, as shown in the following Figure 3 , although the LCID is in a one-to-one mapping relationship with the data radio bearer (Data Rate Bridge, DRB), the DRB and the data stream can be in a one-to-many mapping relationship, that is, one DRB can correspond to multiple data streams, so that one logical channel can correspond to multiple data streams.
[0065] Therefore, in the case where one logical channel corresponds to multiple data streams, by indicating the LCID, multiple data streams are indicated at the same time, and the terminal device has difficulty in adjusting the coding rate of one or part of the multiple data streams. Some services require data stream level coding rate adjustment, such as extended reality (Extended Reality, XR) services containing multiple data streams, and the current coding rate adjustment method is difficult to adjust the coding rate for such services.
[0066] Based on this, the embodiment of the present application provides a coding rate adjustment method, by determining the total recommended rate of the data stream, and according to the total recommended rate of the data stream and the congestion priority of each data stream, the coding rate of each data stream can be adjusted respectively to obtain the adjusted coding rate of each data stream. In the embodiment of the present application, based on the congestion priority of the data stream, the corresponding adjusted coding rate of each data stream can be determined, and the data stream level coding rate adjustment can be realized.
[0067] The application scenarios provided by the embodiments of the present application will be introduced below. Figure 4
[0068] In the embodiments of the present application, the terminal device 1001 and the network device 1002 can interact to adjust the encoding rates of the data streams.
[0069] The terminal device 1001 can be a device accessing a network, and can generally be a terminal. The network device 1002 can be a device for providing network communication functions on the network side, and is also referred to as a network element in some cases. The network device can generally include, but is not limited to, a base station (including a functional unit of the base station or a combination of functional units of the base station), a core network, and the like.
[0070] In the first example, when network congestion occurs (where the network can refer to a base station), the network device 1002 can send recommendation rate indication information to the terminal device 1001. The recommendation rate indication information includes a total recommended rate of data streams configured by the network device, and can be used to instruct the terminal device to adjust the encoding rates of the data streams.
[0071] The terminal device 1001 can determine the total recommended rate of data streams in response to the recommendation rate indication information, and adjust the encoding rates of the data streams according to the total recommended rate of data streams and the congestion priorities of the data streams, to obtain adjusted encoding rates of the data streams.
[0072] In the second example, when network congestion occurs, the network device 1002 can send recommendation rate indication information to the terminal device 1001. The recommendation rate indication information includes a total recommended rate of data streams configured by the network device and a current congestion level, and can be used to instruct the terminal device to adjust the encoding rates of the data streams.
[0073] The terminal device 1001 can determine the total recommended rate of data streams and the congestion level in response to the recommendation rate indication information, and adjust the encoding rates of the data streams according to the total recommended rate of data streams, the recommended rate of each data stream corresponding to the congestion level, and the congestion priorities of the data streams, to obtain adjusted encoding rates of the data streams.
[0074] In the third example, when network congestion occurs, the network device 1002 can determine a total recommended rate of data streams, and adjust the encoding rates of the data streams according to the total recommended rate of data streams and the congestion priorities of the data streams, to obtain adjusted encoding rates of the data streams.
[0075] After obtaining the adjusted encoding rates of the data streams, the network device 1002 sends recommendation rate indication information to the terminal device 1001. The recommendation rate indication information includes the adjusted encoding rates of the data streams. In this way, the terminal device 1001 can directly adjust the encoding rates of the data streams based on the recommendation rate indication information.
[0076] In the fourth example, when network congestion occurs, network device 1002 can determine the total recommended rate of data streams and the congestion level. Based on the total recommended rate of data streams, the recommended rate of each data stream under the congestion level, and the congestion priority of each data stream, the encoding rate of each data stream is adjusted to obtain the adjusted encoding rate of each data stream.
[0077] After obtaining the adjusted coding rates for each data stream, network device 1002 sends recommended rate indication information to terminal device 1001. This recommended rate indication information includes the adjusted coding rates for each data stream. Therefore, terminal device 1001 can directly adjust the coding rates of each data stream based on this recommended rate indication information.
[0078] Based on the congestion priority and congestion level of the data stream, the embodiment of this application can determine the corresponding adjusted coding rate for each data stream, thereby realizing coding rate adjustment at the data stream level.
[0079] The coding rate adjustment method provided in the embodiments of this application is described below.
[0080] Example 1
[0081] like Figure 5 As shown, this figure is a timing diagram of the first coding rate adjustment method provided in the embodiment of this application.
[0082] S101. The terminal device and the network device establish a protocol data unit session.
[0083] A Protocol Data Unit (PDU) Session refers to a single transmission path from a terminal device to the core network within the network equipment, used for data transmission. Based on PDU Sessions, different data streams can be transmitted along the same path, providing better performance and efficiency.
[0084] In this embodiment, when a PDU Session is established between the terminal device and the network device, data transmission can occur between them, and different data streams can be transmitted. Data transmission based on the PDU Session can provide users with a fast, secure, and stable data transmission experience.
[0085] S102, The terminal device sends the initial service signaling to the network device.
[0086] In this embodiment, the service initialization signaling is used to instruct the network device to configure configuration information for each data stream for the terminal device. The configuration information for the data streams may include, but is not limited to, the identification information of the data streams, the guaranteed bit rate of each data stream, and the congestion priority of each data stream.
[0087] The data stream can include, but is not limited to, a video stream, an audio stream, a gesture stream, a control stream, and the like. The identification information of the data stream is used to distinguish the data stream, that is, each data stream corresponds to a unique identification information. The guaranteed bit rate (GBR) of the data stream refers to the minimum encoding rate guaranteed by the system for the data stream. The congestion priority of the data stream is used to indicate the order of allocating the encoding rate for the data stream. For example, the higher the congestion priority of the data stream, the higher the priority of allocating the encoding rate.
[0088] S103, the terminal device receives the configuration information of each data stream sent by the network device.
[0089] In a possible implementation, after the network device configures the configuration information of each data stream, the network device can package the configuration information of the plurality of data streams into a data packet and send the data packet to the terminal device. In this case, the terminal device can obtain the configuration information of the plurality of data streams by decompressing the data packet after receiving the data packet.
[0090] In another possible implementation, the network device can send the configuration information of the data stream to the terminal device respectively, so that the terminal device receives the configuration information corresponding to the plurality of data streams respectively.
[0091] S104, the network device detects that network congestion occurs.
[0092] In a possible implementation, the network device can detect the network state in real time, and send the total recommended rate of the data stream to the terminal device when detecting that network congestion occurs.
[0093] In another possible implementation, the terminal device can send a network state acquisition request to the network device, and the network device can detect the network state after receiving the network state acquisition request, and send the total recommended rate of the data stream to the terminal device when detecting that network congestion occurs.
[0094] In the embodiment of the application, the total recommended rate of the data stream is the sum of the recommended encoding rates of all data streams within the bandwidth capability range of the network device.
[0095] The network device can configure the corresponding total recommended rate of the data stream according to the congestion degree and the bandwidth capability of the network device. For example, the total recommended rate of the data stream can be 80% of the bandwidth, and the bandwidth is 100 Mbps, so the recommended rate can be set to 80 Mbps. As the congestion degree increases, the network device can reduce the total recommended rate of the data stream according to the actual situation to reduce the congestion degree.
[0096] It can be understood that the value of the total recommended rate of data streams is not limited in the embodiments of the present application, and the above is only introduced by taking 80% of the bandwidth as an example.
[0097] In S105, the terminal device receives the total recommended rate of data streams sent by the network device.
[0098] In a possible implementation, the terminal device receives the recommended rate indication information sent by the network device, wherein the recommended rate indication information includes the total recommended rate of data streams configured by the network device, and can be used to instruct the terminal device to adjust the encoding rate of each data stream.
[0099] In the embodiments of the present application, the network device can indicate the total recommended rate of data streams corresponding to the logical channel or DRB, and the terminal device can determine the total recommended rate of data streams based on the recommended rate indication information sent by the network device, and perform S106. The total recommended rate of data streams can be greater than or equal to the sum of the adjusted encoding rates of each data stream.
[0100] In S106, the terminal device adjusts the encoding rate of each data stream according to the total recommended rate of data streams and the configuration information of each data stream, to obtain the adjusted encoding rate of each data stream.
[0101] In the embodiments of the present application, the terminal device can adjust the encoding rate of each data stream according to the order of the congestion priority of the data stream. For example, there are a first data stream, a second data stream and a third data stream, and the congestion priority of the three data streams decreases in turn, then the encoding rate of the first data stream can be adjusted first, the encoding rate of the second data stream can be adjusted second, and the encoding rate of the third data stream can be adjusted last.
[0102] In a possible implementation, when the guaranteed bit rate of the first data stream is greater than or equal to the total recommended rate of data streams, the terminal device adjusts the encoding rate of the first data stream to the total recommended rate of data streams, and adjusts the encoding rate of each data stream except the first data stream to 0.
[0103] The first data stream is the data stream with the highest congestion priority among the data streams.
[0104] For example, the guaranteed bit rate of the first data stream is 1M, and the total recommended rate of data streams is 0.8M. At this time, the guaranteed bit rate of the first data stream is greater than the total recommended rate of data streams, and the terminal device can adjust the encoding rate of the first data stream to 0.8M. If there are other data streams, the encoding rate of the other data streams can be adjusted to 0. That is, the adjusted encoding rate of the first data stream is 0.8M, and the adjusted encoding rate of the other data streams is 0M.
[0105] When the guaranteed bit rate of the first data stream is less than the total recommended rate of the data streams, the encoding rate of the first data stream is adjusted to the guaranteed bit rate of the first data stream, and the adjusted encoding rate corresponding to the first data stream is the guaranteed bit rate of the first data stream.
[0106] In this case, since there is still a remaining rate to be allocated in the total recommended rate of the data streams, the encoding rates of the data streams other than the first data stream can be adjusted respectively based on the difference between the total recommended rate of the data streams and the guaranteed bit rate of the first data stream, and according to the congestion priorities of the data streams other than the first data stream, to obtain the adjusted encoding rates of the data streams other than the first data stream.
[0107] For example, the guaranteed bit rate of the first data stream is 1M, and the total recommended rate of the data streams is 1.5M. Since the guaranteed bit rate of the first data stream is greater than the total recommended rate of the data streams, the terminal device can adjust the encoding rate of the first data stream to 1M, and the adjusted encoding rate of the first data stream is 1M. At this time, the remaining 0.5M recommended rate can continue to be allocated, and if there are other data streams, the remaining 0.5M recommended rate can be allocated to each data stream according to the congestion priority of the other data streams.
[0108] In a possible implementation, when the guaranteed bit rate of the Nth data stream is greater than or equal to the first remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the first remaining recommended rate, and the encoding rate of a data stream with a congestion priority lower than that of the Nth data stream is adjusted to 0.
[0109] wherein N is an integer greater than or equal to 2; the first remaining recommended rate is a difference value obtained by subtracting the sum of the guaranteed bit rates of the first N-1 data streams from the total recommended rate of the data streams, and the first remaining recommended rate is greater than 0; and the congestion priority of the Nth data stream is lower than that of the N-1th data stream.
[0110] For example, N is 3, and there are four data streams. The congestion priority of the first data stream is higher than that of the second data stream, the congestion priority of the second data stream is higher than that of the third data stream, and the congestion priority of the third data stream is higher than that of the fourth data stream.
[0111] In the case that the guaranteed bit rates of the first data stream, the second data stream, the third data stream, and the fourth data stream are all 1M, and the total recommended rate of the data streams is 2.5M, the terminal device can first adjust the encoding rate of the first data stream to 1M, and at this time, the remaining 1.5M recommended rate can be allocated. Since the second data stream is the data stream with the highest congestion priority among the unadjusted data streams, the terminal device can allocate 1M to the second data stream from the 1.5M to adjust the encoding rate of the second data stream to 1M, and at this time, the remaining 0.5M recommended rate can be allocated.
[0112] For the third data stream, the guaranteed bit rate is greater than the current remaining recommended rate, i.e., the guaranteed bit rate of the third data stream is greater than the first remaining recommended rate, in this case, the terminal device can adjust the encoding rate of the third data stream to 0.5M.
[0113] After adjusting the encoding rate of the third data stream to 0.5M, the remaining recommended rate is 0, indicating that there is no allocatable recommended rate, at this time, the encoding rate of the fourth data stream can be adjusted to 0.
[0114] In another possible implementation, when the guaranteed bit rate of the Nth data stream is less than the first remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the guaranteed bit rate.
[0115] Also taking N as 3 as an example, there are 4 data streams, the congestion priority of the first data stream is higher than that of the second data stream, the congestion priority of the second data stream is higher than that of the third data stream, and the congestion priority of the third data stream is higher than that of the fourth data stream.
[0116] In the case that the guaranteed bit rates of the first data stream, the second data stream, the third data stream and the fourth data stream are all 1M, and the total recommended rate of the data streams is 3.5M, the terminal device can first adjust the encoding rate of the first data stream to 1M, at this time, the remaining 2.5M recommended rate can be allocated. Since the second data stream is the data stream with the highest congestion priority among the unadjusted data streams, the terminal device can allocate 1M to the second data stream from the 2.5M to adjust the encoding rate of the second data stream to 1M, at this time, the remaining 1.5M recommended rate can be allocated.
[0117] For the third data stream, the guaranteed bit rate is less than the current remaining recommended rate, i.e., the guaranteed bit rate of the third data stream is less than the first remaining recommended rate, in this case, the terminal device can adjust the encoding rate of the third data stream to 1M.
[0118] After adjusting the encoding rate of the third data stream to 1M, the remaining 0.5M recommended rate can be allocated, at this time, since the guaranteed bit rate of the fourth data stream is 1M, which is greater than the current remaining recommended rate, the terminal device can adjust the encoding rate of the fourth data stream to 0.5M.
[0119] In another possible implementation, the terminal device and the network device can transmit data streams without configuration information, such as control signaling and data streams without codec. The terminal device can not adjust the encoding rate of the data stream without configuration information.
[0120] In order to facilitate understanding, the following will be described in combination with Figure 6The first coding rate adjusting method provided by the embodiment of the application is introduced as a whole.
[0121] S1100, the terminal device establishes a protocol data unit session with a base station in the network device and a core network.
[0122] S1101, the terminal device sends service initial signaling to the core network.
[0123] S1102, the core network sends configuration information of a first data flow to the terminal device in response to the service initial signaling.
[0124] The configuration information of the first data flow can include but is not limited to identification information of the first data flow, a guaranteed bit rate of the first data flow, and a congestion priority of the first data flow.
[0125] S1103, the core network sends configuration information of a second data flow to the terminal device in response to the service initial signaling.
[0126] The configuration information of the second data flow can include but is not limited to identification information of the second data flow, a guaranteed bit rate of the second data flow, and a congestion priority of the second data flow.
[0127] The identification information of the data flow can be information identification (QFI) of a quality service flow corresponding to the data flow, for example, as shown in Figure 6 The configuration information of the first data flow sent by the core network to the terminal device includes a command to update a PDU Session, QFI, GBR, and a congestion priority. The QFI is 1, the GBR is 1M, and the congestion priority is 1.
[0128] The configuration information of the second data flow sent by the core network to the terminal device also includes a command to update a PDU Session, QFI, GBR, and a congestion priority. The QFI is 2, the GBR is 1M, and the congestion priority is 2.
[0129] It can be understood that the representation method of the congestion priority is not specifically limited in the embodiment of the application, and here only a case where the smaller the numerical value of the congestion priority is, the higher the congestion priority of the corresponding data flow is is introduced.
[0130] In the case of network congestion, S1104 is performed, and the base station sends a recommended rate indication to the terminal device.
[0131] As shown in Figure 6 The recommended rate indication includes a total recommended rate of the data flow of 1.5M.
[0132] S1105, the terminal device adjusts the encoding rate of the first data stream corresponding to QFI1 to 1M and the encoding rate of the second data stream corresponding to QFI2 to 0.5M based on the recommended rate indication and the configuration information of each data stream.
[0133] In conclusion, the encoding rate adjustment method provided by the embodiments of the present application can be used by the terminal device to determine the adjusted encoding rate of each data stream based on the congestion priority of the data stream in the case of network congestion, so as to realize the encoding rate adjustment at the data stream level.
[0134] Embodiment Two,
[0135] As Figure 7 shown, the figure is a timing diagram of a second encoding rate adjustment method provided by the embodiments of the present application. Different from the above-mentioned embodiment one, the embodiments of the present application consider the recommended rate corresponding to the congestion level when adjusting the encoding rate based on the congestion priority of each data stream, so as to allocate the encoding rate to as many data streams as possible from the total recommended rate of the data streams.
[0136] S201, the terminal device establishes a protocol data unit session with the network device.
[0137] It can be understood that S201 is the same as S101 described above, and will not be described here.
[0138] S202, the terminal device sends service initial signaling to the network device.
[0139] In the embodiments of the present application, the service initial signaling is used to indicate the configuration information of each data stream configured by the network device for the terminal device. The configuration information of the data stream can include but is not limited to the identification information of the data stream, the guaranteed bit rate of each data stream, the congestion priority of each data stream, and the recommended rate of each data stream corresponding to different congestion levels.
[0140] The recommended rate corresponding to the congestion level indicates that the data stream is recommended to be transmitted at the recommended rate under the congestion level. For example, the congestion degree of the first congestion level is lower than that of the second congestion level, and the guaranteed bit rate of the first data stream can be 1M; the recommended rate of the first data stream under the first congestion level can be 0.8M, and the recommended rate under the second congestion level can be 0.5M.
[0141] It can be understood that the values of the recommended rates corresponding to each congestion level of the data stream in the embodiments of the present application are not specifically limited, and can be set according to actual needs. The above is only an example.
[0142] S203, the terminal device receives the configuration information of each data stream sent by the network device.
[0143] S204, the network device detects that network congestion occurs.
[0144] After detecting that network congestion occurs, the network device can determine a congestion level and configure a corresponding total recommended rate of data flows according to the congestion level and bandwidth capability of the network device.
[0145] After determining the congestion level and the total recommended rate of data flows, the network device can send the congestion level and the total recommended rate of data flows to the terminal device.
[0146] In a possible implementation, the network device can send recommended rate indication information to the terminal device, wherein the recommended rate indication information includes the congestion level determined by the network device and the total recommended rate of data flows configured by the network device.
[0147] S205, the terminal device receives the congestion level and the total recommended rate of data flows sent by the network device.
[0148] In a possible implementation, the terminal device receives recommended rate indication information sent by the network device, wherein the recommended rate indication information includes the congestion level and the total recommended rate of data flows, and can be used to instruct the terminal device to adjust the encoding rate of each data flow.
[0149] In the embodiment of the application, the terminal device can determine the congestion level and the total recommended rate of data flows based on the recommended rate indication information, and perform S206. The total recommended rate of data flows can be greater than or equal to the sum of the adjusted encoding rates of each data flow.
[0150] S206, the terminal device adjusts the encoding rate of each data flow according to the total recommended rate of data flows, the recommended rate corresponding to each data flow under the congestion level, and the congestion priority of each data flow, to obtain the adjusted encoding rate of each data flow.
[0151] In the embodiment of the application, the terminal device can adjust the encoding rate of each data flow according to the high-low order of the congestion priority of the data flow. Different from the above-mentioned embodiment one, the embodiment of the application considers the recommended rate corresponding to each data flow under the congestion level when adjusting the encoding rate of each data flow.
[0152] In a possible implementation, when the first recommended rate corresponding to the first data flow under the congestion level is greater than or equal to the total recommended rate of data flows, the terminal device can adjust the encoding rate of the first data flow to the total recommended rate of data flows, and adjust the encoding rate of each data flow except the first data flow to 0.
[0153] The first data flow is the data flow with the highest congestion priority among the data flows.
[0154] For example, the current congestion level is 2, the guaranteed bit rate of the first data stream is 1M, and the first recommended rate of the first data stream is 0.5M when the congestion level is 2. If the total recommended rate of the data streams is 0.3M, at this time, the first recommended rate of the first data stream corresponding to the current congestion level is greater than the total recommended rate of the data streams, and the terminal device can adjust the encoding rate of the first data stream to 0.3M. If there are other data streams, the encoding rate of the other data streams can be adjusted to 0. That is, the adjusted encoding rate of the first data stream is 0.3M, and the adjusted encoding rate of the other data streams is 0M.
[0155] When the first recommended rate of the first data stream corresponding to the congestion level is less than the total recommended rate of the data streams, the encoding rate of the first data stream is adjusted to the first recommended rate, and the adjusted encoding rate of the first data stream is the first recommended rate of the first data stream.
[0156] In this case, since there is still a remaining rate to be allocated in the total recommended rate of the data streams, the terminal device can adjust the encoding rate of each data stream other than the first data stream based on the difference between the total recommended rate of the data streams and the first recommended rate, and according to the recommended rate of each data stream other than the first data stream corresponding to the congestion level and the congestion priority of the other data streams, to obtain the adjusted encoding rate of the other data streams.
[0157] For example, the current congestion level is 2, the guaranteed bit rate of the first data stream is 1M, and the first recommended rate of the first data stream is 0.5M when the congestion level is 2. If the total recommended rate of the data streams is 1M, at this time, the first recommended rate of the first data stream corresponding to the current congestion level is less than the total recommended rate of the data streams, and the terminal device can adjust the encoding rate of the first data stream to 0.5M. At this time, the remaining 0.5M recommended rate can continue to be allocated, and if there are other data streams, the remaining 0.5M recommended rate can be allocated to each data stream according to the recommended rate of the other data streams corresponding to the congestion level and the congestion priority of the other data streams.
[0158] In a possible implementation, when the Nth recommended rate of the Nth data stream corresponding to the congestion level is greater than or equal to the second remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the second remaining recommended rate, and the encoding rate of the data stream with a congestion priority lower than the congestion priority of the Nth data stream is adjusted to 0.
[0159] Wherein, N is an integer greater than or equal to 2; the second remaining recommended rate is the difference between the total recommended rate of the data streams and the sum of the recommended rates of the first N-1 data streams corresponding to the congestion level, and the second remaining recommended rate is greater than 0; and the congestion priority of the Nth data stream is lower than the congestion priority of the N-1th data stream.
[0160] Taking N as 3 as an example, if there are four data streams, the congestion priority of the first data stream is higher than that of the second data stream, the congestion priority of the second data stream is higher than that of the third data stream, and the congestion priority of the third data stream is higher than that of the fourth data stream.
[0161] The guaranteed bit rates of the first data stream, the second data stream, the third data stream, and the fourth data stream are all 1M, the recommended rates of the first data stream, the second data stream, the third data stream, and the fourth data stream are all 0.5M under the current congestion level, and the total recommended rate of the data streams is 1.3M, the terminal device can first adjust the encoding rate of the first data stream to 0.5M, at this time, 0.8M of the recommended rate can be allocated.
[0162] Since the second data stream is the data stream with the highest congestion priority among the unadjusted data streams, the terminal device can allocate the recommended rate corresponding to the current congestion level to the second data stream from the 0.8M, that is, allocate 0.5M to the second data stream to adjust the encoding rate of the second data stream to 0.5M, at this time, 0.3M of the recommended rate can be allocated.
[0163] For the third data stream, the recommended rate corresponding to the current congestion level is greater than the current remaining recommended rate, that is, the third recommended rate of the third data stream is greater than the second remaining recommended rate, in this case, the terminal device can adjust the encoding rate of the third data stream to 0.3M.
[0164] After adjusting the encoding rate of the third data stream to 0.3M, the remaining recommended rate is 0, indicating that there is no recommended rate to allocate, at this time, the encoding rate of the fourth data stream can be adjusted to 0.
[0165] In another possible implementation, when the Nth recommended rate corresponding to the Nth data stream under the congestion level is less than the second remaining recommended rate, the encoding rate of the Nth data stream is adjusted to the Nth recommended rate.
[0166] Similarly, taking N as 3 as an example, if there are four data streams, the congestion priority of the first data stream is higher than that of the second data stream, the congestion priority of the second data stream is higher than that of the third data stream, and the congestion priority of the third data stream is higher than that of the fourth data stream.
[0167] The guaranteed bit rates of the first data stream, the second data stream, the third data stream, and the fourth data stream are all 1M, the recommended rates of the first data stream, the second data stream, the third data stream, and the fourth data stream are all 0.5M under the current congestion level, and the total recommended rate of the data streams is 2M, the terminal device can first adjust the encoding rate of the first data stream to 0.5M, at this time, 1.5M of the recommended rate can be allocated.
[0168] Since the second data stream is the data stream with the highest congestion priority among the unregulated data streams, the terminal device can allocate the recommended rate corresponding to the current congestion level to the second data stream from the 1.5M, i.e., 0.5M, to regulate the encoding rate of the second data stream to 0.5M, and the remaining 1M recommended rate can be allocated.
[0169] For the third data stream, the recommended rate corresponding to the current congestion level is less than the current remaining recommended rate, i.e., the third recommended rate of the third data stream is less than the second remaining recommended rate, in which case the terminal device can regulate the encoding rate of the third data stream to 0.5M.
[0170] After regulating the encoding rate of the third data stream to 0.5M, the remaining 0.5M recommended rate can be allocated, and the encoding rate of the fourth data stream can be regulated to 0.5M at this time.
[0171] In another possible implementation, the third remaining recommended rate is the difference between the guaranteed bit rate of the first data stream and the first recommended rate, and the fourth remaining recommended rate is the recommended rate remaining after the total recommended rate of the data streams is allocated to all the data streams.
[0172] When the third remaining recommended rate is greater than 0, it indicates that the current regulated encoding rate of the first data stream is less than the guaranteed bit rate, and at this time, the current encoding rate of the first data stream can be further regulated after the recommended rate is allocated to all the data streams.
[0173] Based on this, when the fourth remaining recommended rate is less than or equal to the third remaining recommended rate, the terminal device can regulate the encoding rate of the first data stream from the first recommended rate to the sum of the first recommended rate and the fourth remaining recommended rate. In this case, the regulated encoding rate corresponding to the first data stream is still less than or equal to the guaranteed bit rate of the first data stream.
[0174] For example, if there are three data streams, the congestion priority of the first data stream is higher than that of the second data stream, and the congestion priority of the second data stream is higher than that of the third data stream.
[0175] The guaranteed bit rates of the first data stream, the second data stream, and the third data stream are all 1M, the recommended rates of the first data stream, the second data stream, and the third data stream are all 0.5M under the current congestion level, and the total recommended rate of the data streams is 1.8M, the terminal device can first regulate the encoding rate of the first data stream to 0.5M, at this time, the third remaining recommended rate is 0.5M, and the remaining 1.3M recommended rate in the total recommended rate of the data streams can be allocated.
[0176] Since the second data stream is the data stream with the highest congestion priority among the unregulated data streams, the terminal device can allocate the recommended rate corresponding to the current congestion level to the second data stream from the 1.3M, i.e., 0.5M, to regulate the encoding rate of the second data stream to 0.5M, at which time the remaining 0.8M of the recommended rate can be allocated.
[0177] For the third data stream, the recommended rate corresponding to the current congestion level is less than the current remaining recommended rate, i.e., the third recommended rate of the third data stream is less than the second remaining recommended rate, in which case the terminal device can regulate the encoding rate of the third data stream to 0.5M.
[0178] After regulating the encoding rate of the third data stream to 0.5M, the encoding rates of all the data streams are regulated, but there is still 0.3M of the recommended rate that can be allocated, i.e., the fourth remaining recommended rate is 0.3M. Since the third remaining recommended rate is 0.5M, which is greater than the fourth remaining recommended rate, the terminal device can allocate the remaining 0.3M to the first data stream with the highest congestion priority, and regulate the encoding rate of the first data stream from 0.5M to 0.8M.
[0179] In another possible implementation, if the fourth recommended rate is greater than the third remaining recommended rate, it indicates that after allocating the recommended rate corresponding to the current congestion level to all the data streams, regulating the encoding rate of the first data stream to the guaranteed bit rate of the first data stream will still leave a remaining recommended rate that can be allocated.
[0180] Based on this, in the embodiments of the present application, when the fourth recommended rate is greater than the third remaining recommended rate, the terminal device regulates the encoding rate of the first data stream from the first recommended rate to the guaranteed bit rate of the first data stream.
[0181] If there is a remaining recommended rate after regulating the encoding rate of the first data stream from the first recommended rate to the guaranteed bit rate of the first data stream, the remaining recommended rate can be allocated to other data streams based on the congestion priorities of the other data streams.
[0182] For example, if there are three data streams, the guaranteed bit rates of the first data stream, the second data stream, and the third data stream are all 1M, the recommended rates of the first data stream, the second data stream, and the third data stream are all 0.5M under the current congestion level, and the total recommended rate of the data streams is 2.8M, the terminal device can first regulate the encoding rate of the first data stream to 0.5M, at which time the third remaining recommended rate is 0.5M, and there is 2.3M of the recommended rate that can be allocated.
[0183] Since the second data stream is the data stream with the highest congestion priority among the unregulated data streams, the terminal device can allocate the recommended rate corresponding to the current congestion level, i.e., 0.5M, to the second data stream from the 2.3M, so as to regulate the encoding rate of the second data stream to 0.5M, and at this time, the remaining 1.8M recommended rate can be allocated.
[0184] For the third data stream, the recommended rate corresponding to the current congestion level is less than the current remaining recommended rate, i.e., the third recommended rate of the third data stream is less than the second remaining recommended rate, in which case the terminal device can regulate the encoding rate of the third data stream to 0.5M.
[0185] After regulating the encoding rate of the third data stream to 0.5M, the encoding rates of all data streams have been regulated, but there is still 1.3M recommended rate that can be allocated, i.e., the fourth remaining recommended rate is 1.3M. Since the third remaining recommended rate is 0.5M, which is less than the fourth remaining recommended rate, the terminal device can allocate 0.5M recommended rate to the first data stream from the remaining 1.3M, so that the regulated encoding rate of the first data stream is equal to the guaranteed bit rate of the first data stream.
[0186] After regulating the encoding rate of the first data stream to 1M, there is 0.3M remaining in the total recommended rate of the data streams. The current encoding rate of the second data stream is 0.5M, which is 0.5M different from the guaranteed bit rate of the second data stream, and is greater than 0.3M. At this time, the remaining 0.3M can be allocated to the second data stream, so that the regulated encoding rate of the second data stream is the sum of the second recommended rate corresponding to the second data stream under the current congestion level and the remaining recommended rate, i.e., the regulated encoding rate of the second data stream is 0.8M.
[0187] In a possible implementation, the Nth data stream is the data stream with the lowest congestion priority; the second remaining recommended rate is the difference between the total recommended rate of the data streams and the sum of the recommended rates corresponding to the first N-1 data streams under the congestion level; and the fifth remaining recommended rate is the difference between the second remaining recommended rate and the Nth recommended rate.
[0188] The fifth remaining recommended rate is greater than 0, indicating that after regulating the encoding rate of the Nth data stream to the Nth recommended rate corresponding to the Nth data stream, there is still a remaining recommended rate in the total recommended rate of the data streams.
[0189] The terminal device can directly allocate the remaining recommended rate to the first data stream, i.e., the terminal device regulates the encoding rate of the first data stream from the first recommended rate to the sum of the first recommended rate and the fifth remaining recommended rate.
[0190] For example, if there are two data streams, the guaranteed bit rate of the first data stream and the second data stream is 1M, the recommended rate of the first data stream and the second data stream is 0.5M under the current congestion level, and the total recommended rate of the data streams is 1.8M, the terminal device can first adjust the encoding rate of the first data stream to 0.5M. At this time, the remaining 1.3M recommended rate in the total recommended rate of the data streams can be allocated, i.e., the second remaining recommended rate is 1.3M.
[0191] The terminal device can allocate the recommended rate corresponding to the current congestion level to the second data stream from the 1.3M, i.e., allocate 0.5M to the second data stream to adjust the encoding rate of the second data stream to 0.5M. At this time, the remaining 0.8M recommended rate can be allocated, which is the fifth remaining recommended rate.
[0192] The terminal device can directly allocate the remaining 0.8M to the first data stream, so that the adjusted encoding rate of the first data stream is the sum of 0.5M and 0.8M, i.e., 1.3M.
[0193] In another possible implementation, the terminal device and the network device can transmit a data stream without configuration information, such as a data stream without a codec, e.g., control signaling. The terminal device can not adjust the encoding rate of the data stream without configuration information.
[0194] For ease of understanding, the following describes the second encoding rate adjustment method provided by the embodiments of the present application. Figure 8 The second encoding rate adjustment method provided by the embodiments of the present application is introduced as a whole.
[0195] S2100, the terminal device establishes a protocol data unit session with a base station in the network device and a core network.
[0196] S2101, the terminal device sends service initial signaling to the core network.
[0197] S2102, the core network sends configuration information of a first data stream to the terminal device in response to the service initial signaling.
[0198] The configuration information of the first data stream can include but is not limited to identification information of the first data stream, a guaranteed bit rate of the first data stream, a congestion priority of the first data stream, and a recommended rate corresponding to the first data stream under different congestion levels.
[0199] S2103, the core network sends configuration information of a second data stream to the terminal device in response to the service initial signaling.
[0200] The configuration information of the second data stream can include, but is not limited to, identification information of the second data stream, a guaranteed bit rate of the second data stream, a congestion priority of the second data stream, and recommended rates of the second data stream corresponding to different congestion levels.
[0201] The identification information of the data stream can be an information identifier (QFI) of a quality service flow corresponding to the data stream, for example. Figure 8 As shown in FIG. 6, the configuration information of the first data stream sent by the core network to the terminal device includes a command of updating a PDU Session, a QFI, a GBR, a congestion priority, and recommended rates of the first data stream corresponding to different congestion levels. The QFI is 1, the GBR is 1M, the congestion priority is 1, the recommended rate of the first data stream corresponding to the congestion level 1 is 0.8M, and the recommended rate of the first data stream corresponding to the congestion level 2 is 0.5M.
[0202] The configuration information of the second data stream sent by the core network to the terminal device also includes a command of updating a PDU Session, a QFI, a GBR, a congestion priority, and recommended rates of the second data stream corresponding to different congestion levels. The QFI is 2, the GBR is 1M, the congestion priority is 1, the recommended rate of the second data stream corresponding to the congestion level 1 is 0.5M, and the recommended rate of the second data stream corresponding to the congestion level 2 is 0.3M.
[0203] It can be understood that the representation method of the congestion priority and the congestion level in the embodiments of the present application is not specifically limited, and here, only a case that the smaller the numerical value of the congestion priority, the higher the congestion priority of the corresponding data stream, and the smaller the numerical value of the congestion level, the lower the congestion degree is introduced as an example.
[0204] Meanwhile, the number of the congestion levels in the embodiments of the present application is not specifically limited, and here, only a case that the data stream corresponds to two congestion levels is introduced as an example.
[0205] In the case of network congestion, S2104 is performed, and the base station sends a recommended rate indication to the terminal device.
[0206] As shown in FIG. 7, the recommended rate indication includes that the total recommended rate of the data stream is 1M, and the congestion level is 2. Figure 8
[0207] S2105, the terminal device adjusts the encoding rate of the first data stream corresponding to QFI1 to 0.5M and the encoding rate of the second data stream corresponding to QFI2 to 0.3M based on the recommended rate indication and the configuration information of each data stream.
[0208] Since 0.2M is left after the recommended rate corresponding to the congestion level is allocated to the first data stream and the second data stream, S2106 can be performed, and the terminal device allocates the remaining 0.2M to the first data stream.
[0209] After the terminal device allocates the remaining 0.2M to the first data stream, the adjusted encoding rate of the first data stream is 0.7M.
[0210] In summary, the encoding rate adjustment method provided in the embodiments of the present application can be used by the terminal device to determine the adjusted encoding rate of each data stream based on the congestion priority of the data stream and the recommended rate corresponding to the congestion level in the case of network congestion, so as to achieve data stream level encoding rate adjustment. Since the recommended rate corresponding to the data stream under the current congestion level is considered in the embodiments of the present application, the encoding rate can be allocated to as many data streams as possible from the total recommended rate of the data streams.
[0211] Embodiment three,
[0212] Different from the above-mentioned embodiment one and embodiment two, in the embodiments of the present application, when the network device detects that network congestion occurs, the network device can determine the adjusted encoding rate of each data stream according to the congestion priority of each data stream. The terminal device can directly receive the adjusted encoding rate of each data stream determined by the network device, so as to achieve data stream level encoding rate adjustment while making the terminal device unaware and improving the operation efficiency of the terminal device. As shown in the following figure, the figure is a timing diagram of a third encoding rate adjustment method provided in the embodiments of the present application. Figure 9
[0213] S301, the terminal device establishes a protocol data unit session with the network device.
[0214] S302, the terminal device sends service initial signaling to the network device.
[0215] In the embodiments of the present application, the service initial signaling is used to instruct the network device to configure configuration information of each data stream for the terminal device. The configuration information of the data stream can include but is not limited to identification information of the data stream, guaranteed bit rate of each data stream, and congestion priority of each data stream.
[0216] S303, the network device configures the configuration information of each data stream.
[0217] S304, the network device detects that network congestion occurs.
[0218] In one possible implementation, the network device can detect the network state in real time, and when it is detected that network congestion occurs, S305 is performed, and the network device determines the total recommended rate of the data streams.
[0219] In another possible implementation, the terminal device can send a network state acquisition request to the network device, and the network device can detect the network state after receiving the network state acquisition request. When the network device detects that network congestion occurs, S305 is performed, and the network device determines the total recommended rate of data flows.
[0220] S306, the network device adjusts the encoding rate of each data flow according to the total recommended rate of data flows and the configuration information of each data flow, to obtain the adjusted encoding rate of each data flow.
[0221] In a possible implementation, when the guaranteed bit rate of the first data flow is greater than or equal to the total recommended rate of data flows, the encoding rate of the first data flow is adjusted to the total recommended rate of data flows, and the encoding rate of each data flow other than the first data flow is adjusted to 0.
[0222] The first data flow is the data flow with the highest congestion priority among the data flows.
[0223] When the guaranteed bit rate of the first data flow is less than the total recommended rate of data flows, the encoding rate of the first data flow is adjusted to the guaranteed bit rate of the first data flow; based on the difference between the total recommended rate of data flows and the guaranteed bit rate of the first data flow, and according to the congestion priorities of the data flows other than the first data flow, the encoding rates of the data flows other than the first data flow are adjusted respectively to obtain the adjusted encoding rates of the data flows other than the first data flow.
[0224] In another possible implementation, when the guaranteed bit rate of the Nth data flow is greater than or equal to the first residual recommended rate, the encoding rate of the Nth data flow is adjusted to the first residual recommended rate, and the encoding rate of the data flow with a congestion priority lower than the congestion priority of the Nth data flow is adjusted to 0.
[0225] When the guaranteed bit rate of the Nth data flow is less than the first residual recommended rate, the encoding rate of the Nth data flow is adjusted to the guaranteed bit rate.
[0226] It can be understood that S306 is similar to S106 described above, and will not be described here.
[0227] S307, the network device sends the adjusted encoding rate of each data flow to the terminal device.
[0228] After the terminal device receives the adjusted encoding rate of each data flow, the terminal device can directly adjust the encoding rate of each data flow based on the adjusted encoding rate of each data flow.
[0229] In another possible implementation, the terminal device and the network device can transmit a data stream without configuration information, such as a data stream without a codec existing in control signaling and the like. The terminal device can not perform the adjustment of the coding rate for the data stream without the configuration information.
[0230] For ease of understanding, the third coding rate adjustment method provided by the embodiments of the present application is introduced as a whole. Figure 10 For ease of understanding, the third coding rate adjustment method provided by the embodiments of the present application is introduced as a whole.
[0231] S3100, the terminal device establishes a protocol data unit session with a base station in the network device and a core network.
[0232] S3101, the terminal device sends service initial signaling to the core network.
[0233] S3102, the core network sends configuration information of a first data stream to the base station in response to the service initial signaling.
[0234] The configuration information of the first data stream can include but is not limited to identification information of the first data stream, a guaranteed bit rate of the first data stream, and a congestion priority of the first data stream.
[0235] S3103, the core network sends configuration information of a second data stream to the base station in response to the service initial signaling.
[0236] The configuration information of the second data stream can include but is not limited to identification information of the second data stream, a guaranteed bit rate of the second data stream, and a congestion priority of the second data stream.
[0237] The identification information of the data stream can be information identification (QFI) of a quality service flow corresponding to the data stream, for example, as shown in Table 1. Figure 10 As shown in Table 1, the configuration information of the first data stream sent by the core network to the terminal device includes a command of updating a PDU Session, a QFI, a GBR, and a congestion priority. The QFI is 1, the GBR is 1M, and the congestion priority is 1.
[0238] The configuration information of the second data stream sent by the core network to the terminal device also includes a command of updating a PDU Session, a QFI, a GBR, and a congestion priority. The QFI is 2, the GBR is 1M, and the congestion priority is 2.
[0239] It can be understood that the representation method of the congestion priority is not specifically limited in the embodiments of the present application, and here, only the case that the smaller the numerical value of the congestion priority is, the higher the congestion priority of the corresponding data stream is is introduced as an example.
[0240] In the case of network congestion, S3104 is performed, and the base station determines that the total recommended rate of the data stream is 1.5M.
[0241] S3105. Based on the recommended rate indication and the configuration information of each data stream, the base station determines that the adjusted coding rate of the first data stream corresponding to QFI1 is 1M and the adjusted coding rate of the second data stream corresponding to QFI2 is 0.5M.
[0242] S3106. The base station sends a recommended rate indication message to the terminal device.
[0243] The recommended rate indication information includes an adjusted coding rate of 1 Mbps for the first data stream corresponding to QFI1 and an adjusted coding rate of 0.5 Mbps for the second data stream corresponding to QFI2. Therefore, the terminal device can directly adjust the coding rate of each data stream based on this recommended rate indication information.
[0244] In summary, the coding rate adjustment method provided in this application allows a base station to determine the adjusted coding rate for each data stream based on its congestion priority when network congestion occurs, and then send the adjusted coding rate for each data stream to the terminal device. This achieves data stream-level coding rate adjustment without the terminal device being aware of it, thus improving the terminal device's operating efficiency.
[0245] Example 4
[0246] like Figure 11 As shown, this figure is a timing diagram of the fourth coding rate adjustment method provided in this application embodiment. Unlike the above embodiment three, this application embodiment adjusts the coding rate based on the congestion priority of each data stream while considering the recommended rate corresponding to the congestion level, so as to allocate coding rate to more data streams from the total recommended rate of data streams as much as possible.
[0247] S401. The terminal device and the network device establish a protocol data unit session.
[0248] As is understandable, S401 is the same as S101 mentioned above, and will not be repeated here.
[0249] S402, The terminal device sends the initial service signaling to the network device.
[0250] In this embodiment of the application, the service initialization signaling is used to instruct the network device on the configuration information of each data stream configured for the terminal device. The configuration information of the data streams may include, but is not limited to, the identification information of the data streams, the guaranteed bit rate of each data stream, the congestion priority of each data stream, and the recommended rate corresponding to each data stream under different congestion levels.
[0251] S403. Configuration information for each data stream of the network device.
[0252] S404, the network device and the terminal device detect that network congestion occurs.
[0253] In a possible implementation, the network device can detect the network state in real time, and when detecting that network congestion occurs, perform S405, the network device determines the congestion level and the total recommended rate of the data flows.
[0254] In another possible implementation, the terminal device can send a network state acquisition request to the network device, and the network device can detect the network state after receiving the network state acquisition request. When the network device detects that network congestion occurs, perform S405, the network device determines the congestion level and the total recommended rate of the data flows.
[0255] The total recommended rate of the data flows can be greater than or equal to the sum of the adjusted encoding rates of the data flows.
[0256] S406, the network device adjusts the encoding rate of each data flow according to the total recommended rate of the data flows, the recommended rate corresponding to each data flow under the congestion level, and the congestion priority of each data flow, to obtain the adjusted encoding rate of each data flow.
[0257] In a possible implementation, when the first recommended rate corresponding to the first data flow under the congestion level is greater than or equal to the total recommended rate of the data flows, the network device can determine the encoding rate of the first data flow as the total recommended rate of the data flows, and determine the encoding rate of each data flow other than the first data flow as 0.
[0258] The first data flow is the data flow with the highest congestion priority among the data flows.
[0259] When the first recommended rate corresponding to the first data flow under the congestion level is less than the total recommended rate of the data flows, the network device determines the encoding rate of the first data flow as the first recommended rate, and obtains the adjusted encoding rate corresponding to the first data flow as the first recommended rate of the first data flow.
[0260] In this case, since there is still a remaining rate in the total recommended rate of the data flows, the network device can determine the encoding rate of each data flow other than the first data flow according to the difference between the total recommended rate of the data flows and the first recommended rate, and according to the recommended rate corresponding to each data flow other than the first data flow under the congestion level and the congestion priority of the other data flows, to obtain the adjusted encoding rate of the other data flows.
[0261] In a possible implementation, when the Nth recommended rate corresponding to the Nth data stream at the congestion level is greater than or equal to the second remaining recommended rate, the network device can adjust the encoding rate of the Nth data stream to the second remaining recommended rate, and adjust the encoding rate of a data stream with a congestion priority lower than the congestion priority of the Nth data stream to 0.
[0262] In another possible implementation, when the Nth recommended rate corresponding to the Nth data stream at the congestion level is less than the second remaining recommended rate, the network device can adjust the encoding rate of the Nth data stream to the Nth recommended rate.
[0263] In another possible implementation, the third remaining recommended rate is the difference between the guaranteed bit rate of the first data stream and the first recommended rate, and the fourth remaining recommended rate is the recommended rate remaining after the total recommended rate of the data streams is allocated to all the data streams.
[0264] When the fourth remaining recommended rate is less than or equal to the third remaining recommended rate, the network device can adjust the encoding rate of the first data stream from the first recommended rate to the sum of the first recommended rate and the fourth remaining recommended rate.
[0265] In another possible implementation, when the fourth recommended rate is greater than the third remaining recommended rate, the network device can adjust the encoding rate of the first data stream from the first recommended rate to the guaranteed bit rate of the first data stream.
[0266] If there is still a remaining recommended rate after the encoding rate of the first data stream is adjusted from the first recommended rate to the guaranteed bit rate of the first data stream, the remaining recommended rate can be allocated to other data streams based on the congestion priorities of the other data streams.
[0267] In a possible implementation, after the recommended rate corresponding to the congestion level is allocated to all the data streams, the network device can directly adjust the encoding rate of the first data stream from the first recommended rate to the sum of the first recommended rate and the fifth remaining recommended rate.
[0268] In another possible implementation, the terminal device and the network device can transmit a data stream without configuration information, for example, a data stream without a codec, such as control signaling. The terminal device can not adjust the encoding rate of the data stream without configuration information.
[0269] It can be understood that S406 is similar to S206 described above, and details are not repeated here.
[0270] S407. The network device sends the adjusted encoding rate of each data stream to the terminal device.
[0271] After receiving the adjusted coding rate of each data stream, the terminal device can directly adjust the coding rate of each data stream based on the adjusted coding rate of each data stream.
[0272] In another possible implementation, the terminal device and the network device can transmit a data stream without configuration information, such as a data stream without a codec for control signaling. The terminal device can not adjust the coding rate of the data stream without configuration information.
[0273] For ease of understanding, the following describes the fourth coding rate adjustment method provided by the embodiments of the present application in conjunction with Figure 12 The fourth coding rate adjustment method provided by the embodiments of the present application is introduced as a whole.
[0274] S4100, the terminal device establishes a protocol data unit session with a base station in the network device and a core network.
[0275] S4101, the terminal device sends service initial signaling to the core network.
[0276] S4102, the core network sends configuration information of a first data stream to the base station in response to the service initial signaling.
[0277] The configuration information of the first data stream can include but is not limited to identification information of the first data stream, a guaranteed bit rate of the first data stream, a congestion priority of the first data stream, and recommended rates of the first data stream corresponding to different congestion levels.
[0278] S4103, the core network sends configuration information of a second data stream to the base station in response to the service initial signaling.
[0279] The configuration information of the second data stream can include but is not limited to identification information of the second data stream, a guaranteed bit rate of the second data stream, a congestion priority of the second data stream, and recommended rates of the second data stream corresponding to different congestion levels.
[0280] The identification information of the data stream can be information identification (QFI) of a quality service flow corresponding to the data stream, for example, as shown in Figure 11 The configuration information of the first data stream sent by the core network to the base station includes a command to update a PDU Session, a QFI, a GBR, a congestion priority, and recommended rates of the first data stream corresponding to different congestion levels. The QFI is 1, the GBR is 1M, the congestion priority is 1, the recommended rate of the first data stream corresponding to a congestion level 1 is 0.8M, and the recommended rate of the first data stream corresponding to a congestion level 2 is 0.5M.
[0281] The configuration information of the second data stream sent by the core network to the base station also includes the command of updating the PDU Session, the QFI, the GBR, the congestion priority, and the recommended rate of the second data flow corresponding to different congestion levels. The QFI is 2, the GBR is 1M, the congestion priority is 1, the recommended rate of the second data flow corresponding to the congestion level 1 is 0.5M, and the recommended rate of the second data flow corresponding to the congestion level 2 is 0.3M.
[0282] It can be understood that the representation method of the congestion priority and the congestion level in the embodiments of the present application is not specifically limited, and here only the case that the smaller the numerical value of the congestion priority, the higher the congestion priority of the corresponding data flow, and the smaller the numerical value of the congestion level, the lower the congestion degree is taken as an example for introduction.
[0283] Meanwhile, the number of congestion levels in the embodiments of the present application is not specifically limited, and here only the case that the data flow corresponds to two congestion levels is taken as an example for introduction.
[0284] In the case of network congestion, S4104 is executed, and the base station determines that the total recommended rate of the data flow is 1M and the congestion level is 2.
[0285] S4105, the base station adjusts the encoding rate of the first data flow corresponding to QFI1 to 0.5M and the encoding rate of the second data flow corresponding to QFI2 to 0.3M based on the total recommended rate of the data flow, the congestion level, and the configuration information of each data flow.
[0286] Since the recommended rate corresponding to the congestion level is allocated to the first data flow and the second data flow, there is still 0.2M left, S4106 can be executed, and the base station allocates the remaining 0.2M to the first data flow, and determines the adjusted encoding rate of the first data flow to be 0.7M.
[0287] S4107, the base station sends the recommended rate indication information to the terminal device.
[0288] The recommended rate indication information includes that the adjusted encoding rate of the first data flow corresponding to QFI1 is 0.7M and the adjusted encoding rate of the second data flow corresponding to QFI2 is 0.3M. Therefore, the terminal device can directly adjust the encoding rate of each data flow based on the recommended rate indication information.
[0289] In summary, the coding rate adjustment method provided in this application embodiment allows network devices to determine the adjusted coding rate for each data stream based on the congestion priority and the recommended rate corresponding to the congestion level when the transmission network is congested, thereby achieving data stream-level coding rate adjustment. Furthermore, since this application embodiment considers the recommended rate corresponding to each data stream under the current congestion level, it can allocate coding rates to a greater number of data streams from the total recommended data stream rates as much as possible.
[0290] Terminal devices can directly receive the adjusted encoding rates of various data streams sent by network devices, thereby improving the operating efficiency of terminal devices.
[0291] like Figure 13 As shown in the figure, this is a schematic diagram of the hardware composition of a terminal device provided in an embodiment of this application. This terminal device includes, but is not limited to, mobile phones, smart wearable devices (such as smartwatches), and other terminal devices. Taking a mobile phone as an example, the terminal device may include a processor 110, a display screen 120, an audio module 130, antenna 1, antenna 2, a mobile communication module 140, and a wireless communication module 150, etc.
[0292] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the terminal device. In other embodiments, the terminal device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0293] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.
[0294] For example, in this embodiment of the application, the processor 110 can determine the total recommended rate of the data stream; based on the total recommended rate of the data stream and the congestion priority of each data stream, the encoding rate of each data stream is adjusted respectively to obtain the adjusted encoding rate of each data stream.
[0295] The electronic device implements display functions through a GPU, the display 120, and an application processor, etc. The GPU is a microprocessor for image processing, and is connected to the display 120 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 can include one or more GPUs that execute program instructions to generate or change display information.
[0296] The display 120 is used to display image streams, video streams, etc. In some embodiments, the electronic device can include 1 or N displays 120, N being a positive integer greater than 1.
[0297] The electronic device can compress or decompress digital video through a video codec. The electronic device can support one or more video codecs. In this way, the electronic device can play or record video streams in multiple encoding formats, such as moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.
[0298] The electronic device can implement audio functions through the audio module 130, the speaker 130A, the earphone interface 130B, and the application processor, etc. For example, playing audio streams, etc.
[0299] The audio module 130 is used to convert digital audio information into analog audio signals for output, and is also used to convert analog audio input into digital audio signals. The audio module 130 can also be used to encode and decode audio signals. In some embodiments, the audio module 130 can be disposed in the processor 110, or some functional modules of the audio module 130 can be disposed in the processor 110.
[0300] The speaker 130A, also known as a "loudspeaker", is used to convert audio electrical signals into sound signals. The electronic device can listen to music or listen to hands-free calls through the speaker 130A.
[0301] The earphone interface 130B is used to connect wired earphones. The earphone interface 130B can be a USB interface, or a 3.5mm open mobile terminal platform (OMTP) standard interface, a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0302] The wireless communication function of the terminal device can be implemented through the antenna 1, the antenna 2, the mobile communication module 140, the wireless communication module 150, the modem processor, and the baseband processor, etc.
[0303] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the terminal device can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: antenna 1 can be multiplexed as a diversity antenna of a wireless local area network. In some other embodiments, the antennas can be used in combination with a tuning switch.
[0304] The mobile communication module 140 can provide a solution including 2G / 3G / 4G / 5G wireless communication applied to the terminal device. The mobile communication module 140 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 140 can receive electromagnetic waves by antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 140 can also amplify the signals modulated by the modem processor, and convert the signals into electromagnetic waves radiated by antenna 1. In some embodiments, at least part of the functional modules of the mobile communication module 140 can be arranged in the processor 110. In some embodiments, at least part of the functional modules of the mobile communication module 140 and at least part of the modules of the processor 110 can be arranged in the same device.
[0305] In some embodiments, the terminal device initiates or receives a call request through the mobile communication module 140 and antenna 1.
[0306] For example, in the embodiments of the present application, the terminal device can establish a protocol data unit session with a network device based on the mobile communication module 140 and antenna 1, send service initial signaling to the network device, receive configuration information of a data stream and recommended rate indication information sent by the network device, etc.
[0307] In addition, an operating system such as iOS, Android, Windows, etc. is running on the above components. Application programs can be installed and run on the operating system. Those skilled in the art can clearly understand that, for the convenience and brevity of description, the above explanations and benefits of any of the terminal devices provided in the related content can refer to the corresponding method embodiments provided above, and will not be repeated here.
[0308] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in the present application should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A method of encoding rate adjustment, characterized by, The method comprises the steps of: determining a congestion level and a total recommended rate of data streams; adjusting the encoding rate of each data stream according to the total recommended rate of data streams, the recommended rate of each data stream under the congestion level, and the congestion priority of each data stream, to obtain the adjusted encoding rate of each data stream; the step of adjusting the encoding rate of each data stream according to the total recommended rate of data streams, the recommended rate of each data stream under the congestion level, and the congestion priority of each data stream, to obtain the adjusted encoding rate of each data stream, comprises the steps of: when the first recommended rate of a first data stream under the congestion level is less than the total recommended rate of data streams, adjusting the encoding rate of the first data stream to the first recommended rate; when the Nth recommended rate of an Nth data stream under the congestion level is greater than or equal to a second residual recommended rate, adjusting the encoding rate of the Nth data stream to the second residual recommended rate, and adjusting the encoding rate of a data stream with a congestion priority lower than that of the Nth data stream to 0; the second residual recommended rate is the difference between the total recommended rate of data streams and the sum of the recommended rates of the first N-1 data streams under the congestion level; the second residual recommended rate is greater than 0; the congestion priority of the Nth data stream is lower than that of the N-1th data stream; N is an integer greater than or equal to 2; when the Nth recommended rate of the Nth data stream under the congestion level is less than the second residual recommended rate, adjusting the encoding rate of the Nth data stream to the Nth recommended rate; when a fourth residual recommended rate remaining after the total recommended rate of data streams is allocated to all data streams is less than or equal to a third residual recommended rate, adjusting the encoding rate of the first data stream from the first recommended rate to the sum of the first recommended rate and the fourth residual recommended rate; the third residual recommended rate is the difference between the guaranteed bit rate of the first data stream and the first recommended rate; when the fourth residual recommended rate is greater than the third residual recommended rate, adjusting the encoding rate of the first data stream to the guaranteed bit rate of the first data stream.
2. The method of claim 1, wherein, the step of adjusting the encoding rate of each data stream according to the total recommended rate of data streams, the recommended rate of each data stream under the congestion level, and the congestion priority of each data stream, to obtain the adjusted encoding rate of each data stream, comprises the steps of: when the first recommended rate of a first data stream under the congestion level is greater than or equal to the total recommended rate of data streams, adjusting the encoding rate of the first data stream to the total recommended rate of data streams, and adjusting the encoding rate of each data stream other than the first data stream to 0.
3. The method of claim 1, wherein, when the Nth data stream is the data stream with the lowest congestion priority among the data streams, after the step of adjusting the encoding rate of the Nth data stream to the Nth recommended rate when the Nth recommended rate of the Nth data stream under the congestion level is less than the second residual recommended rate, the method further comprises the steps of: when the fourth residual recommended rate remaining after the total recommended rate of the data streams is allocated to all data streams is less than or equal to the third residual recommended rate, the encoding rate of the first data stream is adjusted from the first recommended rate to the sum of the first recommended rate and the fourth residual recommended rate, the third residual recommended rate being the difference between the guaranteed bit rate of the first data stream and the first recommended rate; when the fourth residual recommended rate is greater than the third residual recommended rate, the encoding rate of the first data stream is adjusted to the guaranteed bit rate of the first data stream.
4. The method of claim 1, wherein, when the Nth data stream is the data stream with the lowest congestion priority among the data streams, after the encoding rate of the Nth data stream is adjusted to the Nth recommended rate corresponding to the Nth data stream when the congestion level is below the Nth recommended rate, the method further comprises: adjusting the encoding rate of the first data stream from the first recommended rate to the sum of the first recommended rate and the fifth residual recommended rate, the fifth residual recommended rate being the difference between the second residual recommended rate and the Nth recommended rate.
5. The method according to any one of claims 1 to 4, characterized in that, Before the total recommended rate of the data streams is determined, the method further comprises: in a case where a protocol data unit session (PDU Session) is established between the terminal device and the network device, the terminal device sends service initial signaling to the network device, the service initial signaling being used to indicate the identification information of the data streams configured by the network device for the terminal device, the guaranteed bit rates of the data streams, and the congestion priorities of the data streams.
6. The method according to any one of claims 1 to 4, characterized in that, The total recommended rate of the data streams is determined by: receiving the total recommended rate of the data streams from the network device.
7. The method according to any one of claims 1 to 4, characterized in that, After the encoding rates of the data streams are respectively adjusted according to the total recommended rate of the data streams and the congestion priorities of the data streams to obtain the adjusted encoding rates of the data streams, the method further comprises: receiving the adjusted encoding rates of the data streams from the network device.
8. The method according to any one of claims 1 to 4, characterized in that, The total recommended rate of the data streams is determined by: detecting the network state of the uplink logical channel; when the network state is congestion, determining the total recommended rate of the data streams.
9. A terminal device, comprising: The terminal device comprises a processor and a memory. The memory is used to store program codes and transmit the program codes to the processor. The processor is used to execute the steps of the encoding rate adjustment method according to the instructions in the program codes.
10. A network device, comprising: The network device comprises a processor and a memory. The memory is used to store program codes and transmit the program codes to the processor. The processor is used to execute the steps of the encoding rate adjustment method according to the instructions in the program codes.
Citation Information
Patent Citations
Service flow scheduling method and device
CN118201114A