A data transmission method and apparatus
By dynamically adjusting the scheduling priority of logical channels and actively discarding unsent data packets at the transmitting end device, the capacity bottleneck and data integrity issues of 5G NR system in Cloud VR services are solved, achieving efficient data transmission with extremely low air interface latency.
Patent Information
- Application Number
- CN202080106510.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-29
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2040-12-29
AI Technical Summary
Current 5G NR systems face capacity bottlenecks when supporting Cloud VR services, making it difficult to meet data transmission integrity requirements under extremely low air interface latency. Existing PF scheduling and HARQ/FEC technologies have limitations in ensuring frame-level data integrity and cannot effectively guarantee METU-level data integrity.
By calculating the priority correction coefficient of proportional fair PF scheduling for the target logical channel at the transmitting end device, the scheduling priority of the logical channel is dynamically adjusted according to the status of the first data packet of METU and the urgency of transmission. Unsent data packets are actively discarded to save air interface resources. The HEVC/SHVC encoding method is used for granular transmission scheduling to improve the integrity of data transmission.
While meeting the requirements of extremely low air interface latency, it improves the integrity and bandwidth utilization of Cloud VR data transmission, reduces resource waste from invalid data transmission, and enhances the quality of data transmission.
Smart Images

Figure CN116438904B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of wireless communication, and in particular to a data transmission method and device. BACKGROUND
[0002] With the development of the 5th generation mobile networks (5G), cloud virtual reality (Cloud VR) is likely to become one of the preferred enhanced mobile broadband (eMBB) services of many 5G operators in the future.
[0003] However, the high source rate, extremely high data integrity requirement and extremely low air interface delay requirement of Cloud VR bring great transmission pressure to the new radio (NR) of 5G. For example, to achieve an "immersive" experience, Cloud VR must guarantee the one-way air interface transmission delay constraint value of about 10 ms. The typical source rate of the current downlink Cloud VR is 30-50 MHz. A 100 MHz bandwidth NR cell can only guarantee about 5 Cloud VR services to achieve an acceptable quality of service (QoS) under the 10 ms delay constraint.
[0004] Therefore, the capacity of the NR system becomes a bottleneck restricting the scale of Cloud VR. When the capacity of the NR system is insufficient, it is difficult to guarantee the integrity requirement of Cloud VR data transmission under the premise of extremely low air interface delay requirement. SUMMARY
[0005] Embodiments of the present application provide a data transmission method and device to improve the integrity of Cloud VR data transmission under the premise of meeting the extremely low air interface delay requirement.
[0006] In a first aspect, embodiments of the present application provide a data transmission method, which comprises: a sending end device calculating the original priority of proportional fair (PF) scheduling of a target logical channel, wherein the target logical channel comprises a logical channel through which the sending end device sends target service data to a receiving end device; the sending end device calculating a priority correction coefficient of the target logical channel according to whether the first data packet of a current minimum effective transmission unit (METU) being sent on the target logical channel has left the buffer queue; the sending end device weighting the original priority of the target logical channel using the priority correction coefficient to obtain the corrected priority of the target logical channel; and the sending end device scheduling the target logical channel according to the corrected priority.
[0007] The data transmission method provided by the embodiments of the present application can be applied in a Cloud VR service scenario using HEVC coding, for example. The sending device can modify the original priority of the target logical channel according to the sending state of the first data packet of the METU on the target logical channel, so as to accelerate the transmission speed of the current METU, reduce the time urgency of the current METU transmission, and improve the integrity of the Cloud VR data transmission.
[0008] In an alternative implementation, the sending device calculates the original priority of the proportional fair PF scheduling of the target logical channel, including: the sending device determines whether the current METU has packet loss; if the current METU has packet loss, the sending device discards the unsent data packets in the current METU, and continues to determine whether the next METU has packet loss; if the current METU does not have packet loss, the sending device calculates the original priority. In this way, the sending device can actively discard the remaining unsent data packets of the current METU in the case that the current METU has packet loss when sent to the receiving device, thereby reducing invalid data transmission, saving air interface resources, and improving bandwidth utilization.
[0009] In an alternative implementation, the target service data includes video data, and the METU includes an image frame of the video data, or an independent slice of the image frame, or an independent tile of the image frame. In this way, the sending device can implement transmission scheduling of different granularities of Cloud VR data according to different granularities of the METU.
[0010] In an alternative implementation, the sending device calculates the priority modification coefficient of the target logical channel according to whether the first data packet of the current METU sent on the target logical channel has left the cache queue, including: the sending device determines whether the first data packet of the current METU has left the cache queue; if the first data packet of the current METU has not left the cache queue, the sending device calculates a first priority modification coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has not left the cache queue; if the first data packet of the current METU has left the cache queue, the sending device calculates a second priority modification coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has left the cache queue. In this way, the sending device can generate different priority modification coefficients according to the scheduling state of the first data packet of the current METU, so as to adopt different scheduling priorities for the target logical channel corresponding to different scheduling states of the first data packet of the current METU.
[0011] In an alternative implementation, the sending device calculates the first priority modification coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has not left the buffer queue, including: the sending device calculates the latency coefficient of the current METU, which is obtained by the following formula:
[0012]
[0013] wherein, W is the latency coefficient, t n is the current time, t in is the time when the first data packet of the current METU enters the to-be-sent buffer of the target logical channel, and T is the delay constraint of the air interface transmission between the sending device and the receiving device; the sending device determines the first priority modification coefficient according to the latency coefficient. Thus, the latency coefficient can reflect the time urgency degree of the current METU transmission, and therefore the first priority modification coefficient can become a modification coefficient based on time urgency scheduling.
[0014] In an alternative implementation, the first priority coefficient monotonically increases or monotonically does not decrease with respect to the latency coefficient, and the first priority modification coefficient is greater than or equal to 1.
[0015] In an alternative implementation, the sending device calculates the second priority modification coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has left the buffer queue, including: the sending device calculates the transmission rate of the current METU; the sending device calculates the transmission time coefficient of the current METU, which is obtained by the following formula:
[0016]
[0017] wherein, R is the transmission time coefficient, T w is the transmission waiting time of the current METU, t S is the transmitted time of the current METU, C n is the amount of data not transmitted of the current METU, and S is the transmission rate of the current METU, and T is the delay constraint of the air interface transmission between the sending device and the receiving device; the sending device determines the second priority modification coefficient according to the transmission time coefficient. Thus, the transmission time coefficient can reflect the time urgency degree of the current METU transmission, and therefore the second priority modification coefficient can become a modification coefficient based on time urgency scheduling.
[0018] In an alternative implementation, the second priority coefficient monotonically increases or monotonically does not decrease with respect to the transmission time coefficient, and the second priority modification coefficient is greater than or equal to 1.
[0019] In an alternative implementation, the target service data includes first type data and second type data, the first type data is more important than the second type data, the target logical channel includes a logical channel for transmitting the first type data and a logical channel for transmitting the second type data, and the sending device weights the original priority of the target logical channel by using the priority correction coefficient to obtain the corrected priority of the target logical channel, including: the sending device multiplies the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel, and adds an offset coefficient to obtain the corrected priority of the logical channel for transmitting the first type data. In this way, the sending device can set different priorities for different logical channels according to the importance of the data.
[0020] In an alternative implementation, the method further includes: in an alternative implementation, the sending device determines whether the transmission time coefficient is greater than a preset threshold value; if the transmission time coefficient is less than or equal to the threshold value, the sending device multiplies the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel to obtain the corrected priority of the logical channel for transmitting the second type data. In this way, the sending device can speed up the transmission of relatively unimportant data when the time urgency of the transmission of the relatively unimportant data is not high, and improve the integrity of data transmission.
[0021] In an alternative implementation, the method further includes: if the transmission time coefficient is greater than the threshold value, the sending device discards the untransmitted data packets of the current METU. In this way, the sending device can discard relatively unimportant data when the time urgency of the transmission of the relatively unimportant data is high, and improve the transmission integrity of the relatively important data.
[0022] In a second aspect, the embodiments of the present application provide a data transmission device having the functions of implementing the behaviors of the sending device described above. The functions can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more unit modules corresponding to the above functions. In one possible design, the data transmission device includes a processor and a memory; the memory includes program instructions, which, when executed by the processor, cause the sending device to perform the following method steps: calculating an original priority of proportional fairness PF scheduling of a target logical channel, wherein the target logical channel includes a logical channel for the sending device to send target service data to a receiving device; calculating a priority correction coefficient of the target logical channel according to whether a first data packet of a current minimum effective transmission unit METU being sent on the target logical channel has left a buffer queue; weighting the original priority of the target logical channel by using the priority correction coefficient to obtain a corrected priority of the target logical channel; and scheduling the target logical channel according to the corrected priority.
[0023] In a third aspect, the present application provides a network device. The network device comprises a memory and a processor; the memory and the processor are coupled; the memory is configured to store computer program codes, and the computer program codes comprise computer instructions, which, when executed by the processor, cause the network device to perform the method in the above aspects and implementation manners thereof.
[0024] In a fourth aspect, the present application provides a computer storage medium. The computer storage medium comprises computer instructions, which, when executed on a network device, cause the network device to perform the method in the above aspects and implementation manners thereof.
[0025] In a fifth aspect, the present application provides a computer program product comprising instructions which, when executed on a computer, cause the computer to perform the method in the above aspects and implementation manners thereof.
[0026] In a sixth aspect, the present application provides a chip system comprising a processor, which is configured to support the functions of the above device or equipment in the above aspects and implementation manners thereof, for example, generating or processing the information involved in the above method. BRIEF DESCRIPTION OF DRAWINGS
[0027] Figure 1 is a system architecture diagram of a data transmission system based on an air interface according to an embodiment of the present application;
[0028] Figure 2 is a structural schematic diagram of a first device according to an embodiment of the present application;
[0029] Figure 3 is a structural schematic diagram of a second device according to an embodiment of the present application;
[0030] Figure 4 is a downlink transmission scenario diagram of a Cloud VR service according to an embodiment of the present application;
[0031] Figure 5 is a diagram showing the number of logical channels required for encoding a Cloud VR service in HEVC and SHVC formats;
[0032] Figure 6 is a diagram showing possible situations of METU in actual transmission under a PF scheduling mechanism;
[0033] Figure 7 is a flowchart of a data transmission method according to an embodiment of the present application;
[0034] Figure 8 is a diagram showing that the first data packet of METU is immediately scheduled and is scheduled after being waited for;
[0035] Figure 9is a flow chart of step S104 of the data transmission method provided by the embodiment of the present application;
[0036] Figure 10 is a relationship diagram of the first priority correction coefficient f1(W) and the waiting time coefficient W shown by the embodiment of the present application;
[0037] Figure 11 is a diagram for explaining the meaning of parameters shown by the embodiment of the present application;
[0038] Figure 12 is a relationship diagram of the second priority correction coefficient f2(R) and the transmission time coefficient R shown by the embodiment of the present application;
[0039] Figure 13 is a simulation result diagram of the first embodiment of the present application;
[0040] Figure 14 is a flow chart of the data transmission method provided by the second embodiment of the present application;
[0041] Figure 15 is a simulation result diagram of the second embodiment of the present application;
[0042] Figure 16 is a structural diagram of a data transmission device provided by the embodiment of the present application;
[0043] Figure 17 is a structural diagram of another data transmission device provided by the embodiment of the present application. DETAILED DESCRIPTION
[0044] The fifth generation mobile communication technology (5th generation mobile networks, 5G) provides the possibility for operators to develop more rich services with its faster speed, lower latency, and more connections. Among them, the cloudization of virtual reality (Cloud VR, also including the cloudization of extended reality (Cloud XR), the cloudization of augmented reality (Cloud AR), the cloudization of mixed reality (Cloud MR), etc.) may become one of the preferred enhanced mobile broadband (enhanced mobile broadband, eMBB) services for many 5G operators in the future. Cloud VR introduces the concept and technology of cloud computing and cloud rendering into VR service applications, and transmits the encoded and compressed display output and sound output of the cloud to the terminal device of the user through a high-speed and stable network, so as to realize the cloud of VR service content and the cloud of rendering.
[0045] However, the high source rate and extremely low air interface delay requirement of Cloud VR brings great transmission pressure to 5G NR. To achieve an "immersive" experience, Cloud VR must ensure that the end-to-end loop response delay is less than 70 ms, and the one-way air interface transmission delay constraint is typically 10 ms. The typical source rate of the current downlink Cloud VR is 30-50 MHz. A 100 MHz bandwidth NR cell can only guarantee about 5 Cloud VR services to achieve acceptable QoS under a 10 ms delay constraint, so the capacity of the NR system becomes a bottleneck restricting the scale of Cloud VR.
[0046] To improve the capacity of the NR system, the current NR uses proportionally fair (PF) scheduling. In PF scheduling, the scheduler of the data sending end (for example, a base station) calculates a proportionally fair factor for each user according to the current transmission data amount, historical throughput rate characteristics, and QoS class identifier (QCI) of the user, and schedules the data streams of each user in turn according to the size of the proportionally fair factor. The goal of PF scheduling is to ensure fairness between users and the throughput rate of the NR system. In addition, the NR system also typically uses hybrid automatic repeat request (HARQ), high-layer forward error correction (FEC), and other technologies to guarantee the "frame-level" data integrity for video transmission used by Cloud VR.
[0047] To alleviate the damage of transmission error to the decoded image quality, Cloud VR takes the high efficiency video coding (HEVC) of H.265 or the scalability extension of HEVC (SHVC) as one of the most commonly used video coding standards. Among them, HEVC divides the image into several independent bar-shaped coding parts, each of which can be called a slice, so that the decoder can independently analyze and decode these slices to alleviate the damage of transmission error to the decoded image quality. In addition, HEVC newly introduces an optional block tile division, which divides the image frame into multiple rectangular regions with horizontal and vertical boundaries, and each rectangular region is a tile and also an independent coding unit. SHVC adopts spatial layered coding or quality layered coding based on HEVC, and its coding layer can include a base layer (BL) and an enhancement layer (EL), wherein the base layer encodes the low quality of the image and occupies small bandwidth resources; the enhancement layer takes the base layer as the starting point and encodes the additional information of the image, thereby reconstructing a high-quality image in the decoding process and occupying large bandwidth resources. In this way, NR can achieve acceptable QoS as long as the transmission of the base layer data is guaranteed; if the transmission of the enhancement layer data is also guaranteed, superior QoS can be achieved. Layered coding can better cope with the instantaneous fluctuation of channel quality in principle.
[0048] Based on the PF scheduling scheme currently adopted by NR and the H.265 HEVC / SHVC coding scheme adopted by Cloud VR, NR still has many limitations in carrying Cloud VR services, which makes it difficult to guarantee the integrity of Cloud VR data transmission, for example:
[0049] From the perspective of the air interface: (1) Cloud VR has requirements for the integrity and delay constraints of data transmission over the air interface, but the current PF scheduling takes maximizing the physical layer throughput as the scheduling target and does not consider the integrity and delay constraints of data. The QoS based on the maximization of the physical layer throughput cannot be equal to the high integrity and low delay QoS required by Cloud VR. (2) For the HARQ retransmission, high-layer FEC and other technologies adopted by NR: on the one hand, these technologies increase the bandwidth and delay, and the gain space for low-latency Cloud VR is limited; on the other hand, these technologies usually take "frames" as the guarantee object, and the guarantee object has large granularity and lacks flexibility.
[0050] From the source point of view: on the one hand, although H.265 supports slice / tile division to combat transmission errors, the current NR cannot perceive the minimal effective transmission unit (METU) at the frame / Slice / Tile level, and thus cannot guarantee the integrity of the METU. On the other hand, although SHVC has great potential to combat channel quality instantaneous fluctuations for Cloud VR, SHVC is not widely used because the existing protocol does not support multiple QoS data streams for the same service (for example, it does not support configuring a QoS data stream for the base layer and a QoS data stream for the enhancement layer for the same user's Cloud VR service).
[0051] To solve the above technical problems and improve the integrity of Cloud VR data transmission, the embodiment of the present application provides a data transmission method. The data transmission method provided by the embodiment of the present application can be applied to any air interface-based data transmission scene with low latency and integrity requirements.
[0052] Figure 1 is an air interface-based data transmission system architecture diagram shown by the embodiment of the present application. As shown in Figure 1 , the scene can include a first device 100, a second device 200 and a service server 300, and data transmission is realized between the first device 100 and the second device 200 through an air interface protocol. Among them, the first device 100 can be a base station (for example: 5G base station gNB, 4G base station gNB, etc.) or a wireless access point (WAP) device, etc. Network device; the second device 200 can be a virtual reality / extended reality / augmented reality / mixed reality (VR / XR / AR / MR) device, etc., such as a VR headset, a VR glasses, and the second device 200 can also be other devices, such as: mobile phone, tablet computer, large-screen display device, etc. Terminal device.
[0053] Figure 2 is a structural schematic diagram of the first device shown by the embodiment of the present application. As shown in Figure 2 , the first device 100 can include a memory 110, an antenna system 120 and a processor 130. The memory 110, the antenna system 120 and the processor 130 are coupled and connected, the memory 110 stores program instructions, and the processor 130 can call the program instructions in the memory 110, so that the first device 100 executes related methods, such as parsing messages, generating messages, receiving and sending data through the antenna system 120, etc.
[0054] In the embodiments of the present application, the processor 130 of the first device 100 can include one or more processing units, such as a system on a chip (SoC), a central processing unit (CPU), a microcontroller (MCU), a memory controller, and the like. Different processing units can be independent devices or integrated into one or more processors.
[0055] In the embodiments of the present application, the memory of the first device 100 can include one or more memory units, such as volatile memory, such as dynamic random access memory (DRAM), static random access memory (SRAM), and the like; and non-volatile memory, such as read-only memory (ROM), flash memory, and the like. Different memory units can be independent devices or integrated or packaged into one or more processors or antenna systems 120 as part of the processor or antenna system 120.
[0056] In the embodiments of the present application, the antenna system 120 of the first device 100 is mainly used for receiving and transmitting signals to realize data transmission between the first device 100 and the second device.
[0057] It can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation of the first device 100. In some embodiments of the present application, the first device 100 can include more or fewer components than shown, or combine certain components, or split certain components, or different component arrangements, for example, when the first device 100 is a base station, the multiple memories 110 and processors 130 of the first device 100 can be distributed in the base station's baseband processing unit (BBU) and radio remote unit (RRU).
[0058] Figure 3 is a structural schematic diagram of the second device provided by the embodiments of the present application. As shown in Figure 3 The second device 200 can include a processor 210, a memory 220, an antenna 240, and the like.
[0059] In some embodiments, the processor 210 can include one or more processing units. For example, the processor 210 can include an application processor (AP), a graphics processing unit (GPU), an image signal processor (ISP), a video codec, a digital signal processor (DSP), a neural-network processing unit (NPU), and / or the like. Different processing units can be independent devices or integrated in one or more processors, such as a system on a chip (SoC). The processor 210 can also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 210 is a cache memory. The memory can hold instructions or data that the processor 210 has just used or is recycling.
[0060] In some embodiments, the processor 210 can include one or more interfaces. The interfaces can include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, and / or the like.
[0061] The memory 220 can be configured to store computer-executable program code including instructions. The memory 220 can include one or more memory units, for example, and can include volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), etc.), and non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.). The processor 210 can perform various functions of the second device 200 by executing instructions stored in the memory 220 and / or instructions stored in a memory disposed in the processor.
[0062] The wireless communication function of the second device 200 can be implemented by the radio frequency module 230. The radio frequency module 230 can be separately provided or implemented by the processor 210.
[0063] In some embodiments, the radio frequency module 230 can include a 3GPP communication module 231 and a non-3GPP communication module 232. The 3GPP communication module 231 can provide a solution including 2G / 3G / 4G / 5G, etc. cellular communication applied to the second device 200. In some embodiments, at least part of the function modules of the 3GPP communication module 231 can be disposed in the processor 210. In some embodiments, at least part of the function modules of the 3GPP communication module 231 and at least part of the modules of the processor 210 can be disposed in the same device.
[0064] The non-3GPP communication module 232 can include a Wi-Fi module, a Bluetooth (BT) module, a global navigation satellite system (GNSS) module, a near field communication (NFC) module, an infrared (IR) module, etc. The non-3GPP communication module 232 can be one or more devices that integrate at least one of the above modules.
[0065] The wireless communication function of the second device 200 can include, for example, a global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), 5th generation mobile networks new radio (5G NR), BT, GNSS, WLAN, NFC, FM, and / or IR, etc. The GNSS can include a global positioning system (GPS), a global navigation satellite system (GLONASS), a beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and / or a satellite based augmentation systems (SBAS).
[0066] It can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation on the second device 200. In other embodiments of the present application, the second device 200 can include more or fewer components than shown, such as the processor 210 and the memory 220, etc., or combine certain components, or split certain components, or different arrangement of components. The components shown can be implemented in hardware, software, or a combination of software and hardware. The second device can also include one or more display screens 250, one or more cameras 260, etc.
[0067] Based on Figure 2 The first device 100 and the second device 200 shown Figure 3The second device 200 shown, the first device 100 and the second device 200 between the air interface based data transmission can include both downlink transmission and uplink transmission scenarios. Among them, the downlink transmission refers to the first device 100 transmitting data to the second device 200, at this time, the first device 100 is the sending end device, and the second device 200 is the receiving end device; Correspondingly, the uplink transmission refers to the second device 200 transmitting data to the first device 100, at this time, the first device 100 is the receiving end device, and the second device 200 is the sending end device. The technical scheme of the embodiment of the application can be applied to both downlink transmission and uplink transmission scenarios, but due to the limited space, only the downlink transmission scenario is taken as an example to expand the description of the technical scheme of the embodiment of the application. The uplink transmission scenario can refer to the technical scheme implementation of the downlink transmission scenario.
[0068] Figure 4 is the downlink transmission scenario diagram of the Cloud VR service shown in the embodiment of the application. As shown in Figure 4 , taking the downlink transmission scenario of the Cloud VR service as an example, when the receiving end device uses the Cloud VR service, the service server of the Cloud VR service sends the service data required by the Cloud VR service to the sending end device, and then the sending end device sends the service data to the receiving end device through the air interface. Among them, the sending end device sends the service data to the sending end device in the form of the minimum effective transmission unit METU, and the sending end device needs to send the minimum effective transmission unit METU in the form of the data packet corresponding to the air interface protocol. One METU can include one or more data packets, for example: the sending end device is a 5G base station gNB, and the air interface is NR, and the data packet is a packet data convergence protocol (PDCP) data packet.
[0069] Generally speaking, the corresponding relationship between the PDCP data packet and the METU, that is, any PDCP data packet belongs to which specific METU, is known to the sending end device. The corresponding relationship can be inferred from the service characteristics of the Cloud VR service, for example: the sending end device can determine the PDCP data packets collected in the image frame period as the data of the same METU. The corresponding relationship can also be indicated by the header enhancement method, for example, the sending end device can write the METU number corresponding to the PDCP data packet into the header of the PDCP data packet.
[0070] Further, taking the transmission of H.265 video data of the Cloud VR service as an example, according to the characteristics of H.265 video compression coding, each network abstraction layer (NAL) unit generated by the encoder of the service server is a METU. According to different configurations of the encoder, the granularity of the NAL unit (that is, the granularity of the METU) is also different. For example, when the encoder adopts the HEVC / SHVC format coding, the granularity of the NAL unit can be an image frame, that is, each frame of image corresponds to a METU, the granularity of the NAL unit can also be a slice, that is, each slice corresponds to a METU, and the granularity of the NAL unit can also be a tile, that is, each title corresponds to a METU.
[0071] Figure 5 is a schematic diagram of the number of logical channels required by the Cloud VR service to adopt the HEVC and SHVC format coding. As shown in Figure 5 , in order to transmit the service data to the receiving end device, the sending end device can allocate one or more logical channels to the service data and transmit the service data on the logical channels. Taking the Cloud VR service as an example, according to different configurations of the encoder, the video data transmitted by the sending end device to the receiving end device can be transmitted on one or more logical channels. For example, when the encoder adopts the HEVC format coding, since the video data does not use the spatial layering or quality layering coding mode and only contains one layer of data, the video data can be transmitted on one logical channel. For another example, when the encoder adopts the SHVC format coding, since the video data uses the spatial layering or quality layering coding mode, the video data can include the base layer BL data and the enhanced layer EL data, and therefore the video data can be transmitted on two logical channels, wherein the base layer BL data is transmitted on one logical channel and the enhanced layer EL data is transmitted on another logical channel.
[0072] In order to guarantee the quality of the Cloud VR service, the Cloud VR service requires that the one-way air interface transmission meets certain delay constraints. A typical value of the delay constraint is, for example, 10 ms. This means that when the sending end device transmits the METU to the receiving end device, it is required that each METU can be completed within the delay constraint and the data packets in each METU can be correctly received by the receiving end device. Only in this way, the integrity requirement of the data transmission of the Cloud VR service under the delay constraint can be met.
[0073] However, as shown in Figure 6 , under the current PF scheduling mechanism, since the data integrity constraint and the delay constraint are not considered, the following concentrated situations may occur in the actual transmission of the METU:
[0074] Case 1: All data packets in the METU can be transmitted correctly, and the transmission of all data packets can meet the delay constraint.
[0075] Case 2: All data packets in the METU can be transmitted correctly, but the transmission of some data packets cannot meet the delay constraint.
[0076] Case 3: There are data packets transmitted incorrectly in the METU, for example, reaching the maximum number of retransmissions.
[0077] Case 4: All data packets in the METU can be transmitted correctly, but there are relatively unimportant data packets in the METU and the transmission of the data packets cannot meet the delay constraint.
[0078] In the above four cases, case 1 is the ideal transmission case of the METU, and cases 2-4 can all affect the integrity of data transmission, resulting in a decrease in the quality of Cloud VR service.
[0079] Embodiment One
[0080] The embodiment of the present application provides a data transmission method, which can be applied, for example, to a Cloud VR service scenario encoded in HEVC format, or a scenario in which any sending end device and any receiving end device transmit service data through a logical channel. Figure 7 is a flowchart of the data transmission method provided by the embodiment one of the present application. As shown in Figure 7 the method can include the following steps S101-S106:
[0081] Step S101, the sending end device judges whether a current METU transmitted on a target logical channel has a packet loss.
[0082] The target logical channel refers to a logical channel established between the sending end device and the receiving end device for transmitting Cloud VR data (corresponding to the target service data in the claims), so the current METU transmitted on the target logical channel is the METU of the Cloud VR data, and the current METU refers to the METU currently being transmitted by the sending end device on the target logical channel.
[0083] In a specific implementation, the sending end device can execute step S101 at the beginning of each time slot slot scheduling.
[0084] The time slot slot is the minimum unit of data scheduling in technologies such as NR and LTE. A radio frame in an NR or LTE signal contains a plurality of subframes, a subframe contains a plurality of time slots, and a time slot contains a plurality of orthogonal frequency-division multiplexing (OFDM) symbols. The time slot and related concepts are prior art in the field of NR and LTE, and will not be described here.
[0085] In a specific implementation, the sending device can determine whether the current METU has packet loss according to whether a negative-acknowledgment (NACK) message fed back by the receiving device is received. For example, in an air interface technology applying HARQ, for any data packet sent by the sending device to the receiving device: if the receiving device can correctly decode, it means that the data packet is sent correctly, and the receiving device feeds back an acknowledgment (ACK) message to the sending device to inform the sending device that the data packet does not need to be re-sent; if the receiving device cannot correctly decode, it means that the data packet is sent incorrectly, and the receiving device feeds back a NACK message to the sending device to inform the sending device to re-send the data packet; after the sending device re-sends the data packet to the receiving device to a preset maximum retransmission number, if a NACK message is still received, it means that the data packet is lost, and the current METU has packet loss.
[0086] It should be noted that the above method of determining METU packet loss by the maximum retransmission number of HARQ is only an exemplary implementation, and does not limit step S101. Those skilled in the art can also use other methods to determine whether the METU has packet loss, which are within the scope of protection of the embodiments of the present application.
[0087] Step S102: If the current METU has packet loss, the sending device discards the data packets in the current METU that have not been sent, and jumps to step S101 to prepare to schedule the next METU.
[0088] Generally, in order to schedule data packet transmission on each logical channel, the sending device generally allocates PDCP buffer for each logical channel, corresponding to the to-be-sent buffer in the claims, and puts the data packets of the to-be-sent METU into the PDCP buffer in the order of priority. Therefore, the data packets in the current METU that have not been sent are located in the PDCP buffer corresponding to the target logical channel.
[0089] So, in the specific implementation, if the current METU has packet loss, the sending device can discard all data packets belonging to the current METU in the PDCP buffer corresponding to the target logical channel, for example, by clearing the data packets from the PDCP buffer.
[0090] Then, the sending device can jump to step S101 and prepare to schedule the next METU when the next slot starts, for example, determine whether the next METU has packet loss.
[0091] It can be understood that since the current METU has packet loss, even if all the remaining data packets in the current METU are correctly sent to the receiving device, the service cannot guarantee the transmission integrity of this METU, and sending the remaining data packets also wastes air interface resources. Therefore, when the sending device determines that the current METU has packet loss, it actively discards the unsent data packets in the current METU, so that these data packets will not be sent to the receiving device, thereby reducing the waste of air interface resources. The air interface resources saved can be used to send data packets of other METUs, guaranteeing the delay constraint and integrity requirement of other METUs.
[0092] Step S103: If the current METU does not have packet loss, the sending device calculates the original priority of PF scheduling of the target logical channel.
[0093] It can be understood that the sending device is not only used to transmit Cloud VR service data, but also used to transmit other data, such as voice data and packet data of other services, etc. Therefore, at the same time, the sending device can have data transmission on multiple logical channels. Generally, the sending device will allocate air interface resources of each logical channel through some scheduling algorithms, such as round robin (RR) scheduling, maximum C / I scheduling, and PF scheduling, etc.
[0094] Taking the most commonly used PF scheduling in NR as an example, the sending device will calculate the priority of each logical channel including the target logical channel, and then allocate air interface resources to each logical channel according to the priority of each logical channel. The greater the priority, the more air interface resources are allocated, and the smaller the priority, the smaller the air interface resources are allocated.
[0095] For ease of description, the priority of the target logical channel calculated by the sending device according to the PF scheduling is referred to as the original priority in the embodiments of the present application.
[0096] The method of PF scheduling for calculating the original priority of the target logical channel is described exemplarily as follows:
[0097] The original priority PF0 of the target logical channel can be calculated by the following formula:
[0098]
[0099] Wherein, T represents the current data transmission rate of the target logical channel, R represents the historical average rate of the target logical channel, and a and β are fairness coefficients, and the fairness degree of PF scheduling can be adjusted by adjusting the values of a and β, for example, a and β can take the value of 1.
[0100] In step S104, the sending end device calculates the priority correction coefficient of the target logical channel according to whether the first data packet of the current METU has been scheduled.
[0101] Generally, after receiving the METU data from the service server, the sending end device can package the METU data into one or more PDCP data packets for transmission in the air interface, and then send the data packets into the PDCP buffer. The data packets in the PDCP buffer will be sent out of the buffer queue in turn and sent to the receiving end device.
[0102] Figure 8 is a schematic diagram of the first data packet of the METU being immediately scheduled and being scheduled after waiting. As shown in Figure 8 In order to improve the integrity of data transmission, the sending end device will try to send the data packets belonging to the same METU continuously. Accordingly, it can be understood that the sending end will adopt different scheduling modes for the data packets of the METU according to the different air interface resource states allocated by the sending end device for the target logical channel, wherein the above scheduling may, for example, include the data packet out of the PDCP buffer queue. For example, if the air interface resource allocated by the sending end device for the target logical channel is sufficient, the first data packet of a METU will not wait after entering the PDCP buffer, but will be sent out of the buffer queue to the receiving end device directly. This scheduling mode can be referred to as immediate scheduling. If the air interface resource allocated by the sending end device for the target logical channel is insufficient, the first data packet of a METU may wait for a period of time after entering the PDCP buffer, and then be sent out of the buffer queue to the receiving end device. This scheduling mode can be referred to as scheduling after waiting, i.e. being scheduled after waiting for a period of time.
[0103] Accordingly, in step S104, the sending end device can estimate whether the air interface resource of the target logical channel is sufficient according to whether the first data packet of the current METU has been scheduled, and accordingly adopt different ways to calculate the priority correction coefficient of the target logical channel.
[0104] Figure 9 is a flowchart of step S104 of the data transmission method provided by the embodiments of the present application.
[0105] As Figure 9 shown, in an implementation, step S104 can specifically include steps S201-S203:
[0106] Step S201, the sending end device judges whether the first data packet of the current METU has been scheduled.
[0107] In combination with the content described in step S104, if the sending end device judges that the first data packet of the current METU enters the PDCP buffer queue without waiting, but is directly sent to the receiving end device from the buffer queue, it can be determined that the first data packet of the current METU has not been scheduled, and step S202 is executed; if the sending end device judges that the first data packet of the current METU enters the PDCP buffer queue and waits for a period of time before being sent to the receiving end device from the buffer queue, it can be determined that the first data packet of the current METU has been scheduled, and step S203 is executed.
[0108] Step S202, if the first data packet of the current METU has not been scheduled, the sending end device calculates the first priority correction coefficient corresponding to the target logical channel under the condition that the current METU has not been scheduled.
[0109] In an implementation, step S202 can specifically include steps S301 and S302:
[0110] Step S301, the sending end device calculates the waiting time coefficient of the current METU.
[0111] In a specific implementation, the waiting time coefficient W can be calculated by the following formula:
[0112]
[0113] Where t n is the current time, t in is the time when the first data packet of the current METU enters the PDCP buffer, and T is the delay constraint of air transmission. In Cloud VR service, the typical value of T is generally 10ms.
[0114] It can be understood that the waiting time coefficient W can reflect the time urgency degree of the current METU transmission. Specifically, the greater the waiting time coefficient W, the longer the time consumed by the sending end device to transmit the current METU, the less the time margin left for the sending end device to transmit the remaining data packets of the current METU under the delay constraint of air interface transmission, which means that the transmission urgency of the current METU is higher; the smaller the waiting time coefficient W, the shorter the time consumed by the sending end device to transmit the current METU, the longer the time margin left for the sending end device to transmit the remaining data packets of the current METU under the delay constraint of air interface transmission, which means that the transmission urgency of the current METU is lower.
[0115] In step S302, the sending end device determines a first priority correction coefficient according to the waiting time coefficient.
[0116] Since the waiting time coefficient W reflects the time urgency degree of the current METU transmission, when the time urgency is high, the transmission speed of the remaining data packets in the current METU needs to be accelerated. Therefore, the first priority correction coefficient f1(W) set by the embodiment of the present application can be a monotonic increasing function or a monotonic non-decreasing function with respect to the waiting time coefficient W, and the greater the first priority correction coefficient f1(W), the faster the expected transmission speed of the remaining data packets in the current METU.
[0117] In an implementation manner, the first priority correction coefficient f1(W) is greater than or equal to 1, and when the first priority correction coefficient f1(W) is equal to 1, it means that the transmission speed of the remaining data packets in the current METU is not accelerated.
[0118] Figure 10 is a relationship diagram of the first priority correction coefficient f1(W) and the waiting time coefficient W shown by the embodiment of the present application.
[0119] In an implementation manner, as shown in Figure 10 , the first priority correction coefficient f1(W) and the waiting time coefficient W have the following functional relationship:
[0120]
[0121] wherein: when W≤0.2, f1(W)=1, at this time f1(W) is a monotonic non-decreasing function; when 0.2<W≤0.8, f1(W)=5·W, at this time f1(W) is a monotonic increasing function; when W>0.8, f1(W)=4, at this time f1(W) is a monotonic non-decreasing function; therefore, overall, f1(W) is a monotonic non-decreasing function with respect to the waiting time coefficient W.
[0122] Step S203: If the first data packet of the current METU has been scheduled, the sending device calculates the second priority correction coefficient of the target logical channel when the current METU has been scheduled.
[0123] In one implementation, step S203 may specifically include the following steps S401-S403:
[0124] Step S401: The sending device calculates the current METU transmission rate S.
[0125] In practice, the current METU transmission rate S can be calculated using the following formula:
[0126]
[0127] Among them, C S The current METU represents the amount of data that has been transmitted; its data unit can be, for example, a bit or a byte. S This represents the elapsed time of the current METU.
[0128] Step S402: The sending device calculates the transmission time coefficient of the current METU based on the current METU transmission rate.
[0129] In practice, the transmission time coefficient R can be calculated using the following formula:
[0130]
[0131] Where T is the latency constraint for air interface transmission; in Cloud VR services, the typical value of T is generally 10ms. w T is the transmission wait time for the current METU. S The elapsed time of the current METU; C n S represents the amount of data that the METU has not yet transmitted; S represents the transmission rate of the current METU.
[0132] It should be noted that in steps S401 and S402 above, the transmission wait time T of the current METU is mentioned. w And the current METU's transmitted time T S Parameters, etc., are explained below in conjunction with the appendix to facilitate understanding of the meaning of the above parameters by those skilled in the art. Figure 11 The meaning of these parameters will be explained.
[0133] like Figure 11As shown, in the case of scheduling after waiting for the current METU, the data packets of the current METU will not be sent to the receiving end device immediately after entering the METU buffer of the target logical channel, but will be temporarily left in the METU buffer to wait for the scheduling of the sending end device. The sending end device will determine when to start sending the data packets of the current METU to the receiving end device according to the current priority of the target logical channel. Therefore, from the time t0 when the first data packet of the current METU enters the METU buffer to the time t1 when the first data packet of the current METU leaves the METU buffer and is sent, there will be a time difference, which is the transmission waiting time T of the current METU w , that is: T w = t1-t0. It can be further understood that from the time t1 when the first data packet of the current METU leaves the METU buffer and is sent to the current time t n , there will also be a time difference, which is the transmitted time T S of the current METU. It can be further understood that the data amount C S transmitted by the current METU is the data amount transmitted by the current METU before the current time t n , and the remaining is the data amount C n not transmitted by the current METU.
[0134] It needs to be further supplemented that since the data of the Cloud VR service is continuously sent to the sending end device in time, when calculating the transmission time coefficient R in step S402, the sending end device may not have received a part of the data of the current METU, in which case the sending end device may not know the accurate value of the data amount C n not transmitted by the current METU, and therefore, C n may be an estimated value. When calculating the estimated value of C n , the sending end device can count the average data amount of the METU in a period of time as the estimated data amount of the current METU. Then it can be obtained that the data amount C n not transmitted by the current METU = the estimated data amount of the current METU - the data amount C S transmitted by the current METU.
[0135] It can be understood that the transmission time coefficient R can reflect the time urgency degree of the current METU transmission. Specifically, the greater the transmission time coefficient R, the longer the time consumed by the sending end device to transmit the current METU, the less the time margin left for the sending end device to transmit the remaining data packets of the current METU under the delay constraint of air interface transmission, which means that the transmission urgency of the current METU is higher; the smaller the transmission time coefficient R, the shorter the time consumed by the sending end device to transmit the current METU, the longer the time margin left for the sending end device to transmit the remaining data packets of the current METU under the delay constraint of air interface transmission, which means that the transmission urgency of the current METU is lower.
[0136] In step S403, the sending end device determines a second priority correction coefficient according to the transmission time coefficient.
[0137] Since the transmission time coefficient R reflects the time urgency degree of the current METU transmission, when the time urgency is high, the transmission speed of the remaining data packets in the current METU needs to be accelerated. Therefore, the second priority correction coefficient f2(R) set by the embodiments of the present application can be a monotonic increasing function or a monotonic non-decreasing function with respect to the transmission time coefficient R, and the greater the second priority correction coefficient f2(R), the faster the expected transmission speed of the remaining data packets in the current METU.
[0138] In an implementation manner, the second priority correction coefficient f2(R) is greater than or equal to 1, and when the second priority correction coefficient f2(R) is equal to 1, it means that the transmission speed of the remaining data packets in the current METU is not fast.
[0139] Figure 12 is a relationship diagram of the second priority correction coefficient f2(R) and the transmission time coefficient R shown by the embodiments of the present application.
[0140] In an implementation manner, as shown in Figure 12 , the second priority correction coefficient f2(R) and the transmission time coefficient R have the following functional relationship:
[0141]
[0142] wherein: when R≤0.5, f2(R)=1, at this time f2(R) is a monotonic non-decreasing function; when 0.5<R≤0.8, f2(R)=R(1-R), at this time f2(R) is a monotonic increasing function; when R>0.8, f2(R)=4, at this time f2(R) is a monotonic non-decreasing function; therefore, overall, f2(R) is a monotonic non-decreasing function with respect to the transmission time coefficient R.
[0143] Step S105, the sending end device uses the priority correction factor to weight the original priority to obtain the modified priority of the target logical channel.
[0144] In a specific implementation, the modified priority PF1 of the target logical channel can be the product of the original priority PF0 and the priority correction factor Factor, that is, PF1 = PF0 x Factor. Then:
[0145] For the case where the first data packet of the current METU is not scheduled, the modified priority PF1 of the target logical channel can be the product of the original priority PF0 and the first priority correction factor f1(W), that is, PF1 = PF0 x f1(W).
[0146] For the case where the first data packet of the current METU is scheduled, the modified priority PF1 of the target logical channel can be the product of the original priority PF0 and the second priority correction factor f2(R), that is, PF1 = PF0 x f2(R).
[0147] Step S106, the sending end device schedules the target logical channel according to the modified priority.
[0148] It can be understood that, since the first priority correction factor f1(W) and the second priority correction factor f2(R) are both greater than or equal to 1 in the above embodiment, the modified priority PF1 is also greater than or equal to the original priority PF0. When the modified priority PF1 is also greater than the original priority PF0, the sending end device can schedule more air interface resources for the target logical channel, thereby speeding up the transmission speed of the untransmitted data packet in the current METU, reducing the time urgency degree of the current METU transmission, ensuring that the untransmitted data packet in the current METU can be transmitted within the air interface delay constraint, avoiding the occurrence of cases 2 and 3 as shown in the following table, and improving the integrity of Cloud VR data transmission. Figure 6
[0149] The data transmission method provided by the embodiment one of the present application can be applied in a Cloud VR service scenario using HEVC coding, and the combination of the active packet dropping and the time urgency scheduling of the METU transmission error improves the integrity of the Cloud VR data transmission. Specifically, the active packet dropping includes that the sending end device actively discards the remaining unsent data packets of the current METU when the current METU sent to the receiving end device has packet loss, thereby reducing invalid data transmission, saving air interface resources, and improving the bandwidth utilization; the time urgency scheduling includes that when the time margin of the sending end device for transmitting the remaining data packets of the current METU is insufficient under the delay constraint of the air interface transmission, the priority of the logical channel is improved to speed up the transmission speed of the current METU, reduce the time urgency degree of the current METU transmission, and improve the integrity of the Cloud VR data transmission.
[0150] To prove the technical effect that the method of the embodiment one of the present application can improve the integrity of the Cloud VR data transmission, the applicant simulates the method of the embodiment of the present application, and obtains the user satisfaction rate of the method applied in the NR and the Cloud VR service scenario using HEVC coding. The user satisfaction rate is equal to the number of satisfied users per cell divided by the number of users per cell. For the HEVC coding format, the user satisfaction rate is defined as the user whose frame error rate (FER) is less than 1%.
[0151] The simulation environment includes a network topology using 7 base stations and 21 cells, a base station spacing of 300 m, an antenna of 64 sending channels and 64 receiving channels 64T64R, and a terminal device (i.e. a receiving end device) using 4 sending channels and 4 receiving channels. The cell bandwidth is 100 MHz, the subcarrier spacing is 30 kHz, the terminal devices are uniformly distributed, the number of terminal devices in each cell is different from 5 to 50, and the source rate is 35 Mbps.
[0152] The simulation results obtained by the applicant are shown in Figure 13 As can be seen from Figure 13 , the user satisfaction rate presents a rapid downward trend with the increase of the number of users, and the method of the embodiment one of the present application can significantly improve the user satisfaction rate. The more the number of users in each cell, the more obvious the relative gain is. For example, when each cell includes 10 users, the user satisfaction rate can be increased from 58.8% when HEVC does not use the method to 65.8%, and the relative gain is 11.9%.
[0153] Embodiment two
[0154] The embodiment of the present application provides a data transmission method, which can be applied to a Cloud VR service scenario encoded in an SHVC format or other service data transmission scenarios between a sending terminal device and any receiving terminal device through multiple logical channels. Figure 14 is a flowchart of the data transmission method provided in the second embodiment of the present application. As shown in the figure, Figure 14 the method can include the following steps S501-S506.
[0155] Steps S501-S504 are the same as steps S101-S104 in the first embodiment, and can be implemented by referring to steps S101-S104, which will not be repeated here. Some differences are as follows:
[0156] The first embodiment can be applied to a Cloud VR service scenario encoded in an HEVC format, and the sending terminal device and the receiving terminal device only need to transmit Cloud VR service data through one logical channel; the second embodiment can be applied to a Cloud VR service scenario encoded in an SHVC format, and the sending terminal device and the receiving terminal device need to transmit BL data of the Cloud VR service through one logical channel and EL data through another logical channel, so the method of the second embodiment can be implemented for data on each logical channel, and the target logical channel can be the logical channel for transmitting the BL data or the logical channel for transmitting the EL data. Different logical channels have different logical channel numbers, so the sending terminal device can distinguish the EL data and the BL data according to the logical channel numbers.
[0157] In step S505, the sending terminal device uses the priority correction coefficient to weight the original priority to obtain the corrected priority of the target logical channel.
[0158] Step S505 is the same as step S105 in the idea, and finally the corrected priority of the target logical channel is obtained. However, step S505 and step S105 are different in the specific implementation mode: specifically, in step S505, the sending terminal device can first determine whether the target logical channel is the logical channel for transmitting the BL data or the logical channel for transmitting the EL data, and then according to the different data transmitted by the target logical channel, different ways are adopted to weight the original priority to obtain the corrected priority of the target logical channel.
[0159] Further as shown in Figure 14 in an implementation mode, step S505 can include the following steps:
[0160] In step S601, the sending terminal device determines whether the target logical channel is the logical channel for transmitting the EL data.
[0161] Step S602, if the target logical channel is not the logical channel for transmitting EL data, it means that the target logical channel is the logical channel for transmitting BL data, the sending device determines the modified priority of the target logical channel as the product of the original priority PF0 and the priority modification coefficient Factor plus an offset coefficient Offset, i.e., PF1=PF0×Factor+Offset, and then jumps to step S506, so as to accelerate the transmission speed of the untransmitted BL data packets in the current METU, and ensure that the untransmitted BL data packets in the current METU can be transmitted within the air interface delay constraint.
[0162] For the case that the first data packet of the current METU is not scheduled, the modified priority PF1 of the target logical channel can be the product of the original priority PF0 and the first priority modification coefficient f1(W) plus an offset coefficient Offset, i.e., PF1=PF0×f1(W)+Offset.
[0163] In addition, for the case that the first data packet of the current METU is scheduled, the modified priority PF1 of the target logical channel can be the product of the original priority PF0 and the second priority modification coefficient f2(R) plus an offset coefficient Offset, i.e., PF1=PF0×f2(R)+Offset.
[0164] It should be noted that the embodiments of the present application consider that in the Cloud VR service scenario using SHVC format coding, as long as the BL data can be completely transmitted, the Cloud VR service can reach an acceptable QoS. Therefore, in order to preferentially ensure the complete transmission of the BL data, when the target logical channel is the logical channel for transmitting BL data, the sending device additionally adds an offset coefficient Offset after multiplying the original priority PF0 and the priority modification coefficient Factor, so as to further improve the modified priority of the target logical channel, and preferably realize that the modified priority of the target logical channel is always higher than the priorities of the other logical channels for transmitting EL data.
[0165] It can be understood that, in order to further improve the modified priority of the target logical channel, the offset coefficient Offset should be a positive number, for example, 1, 2, 3, etc., which is not limited in the embodiments of the present application.
[0166] In an implementation manner, the sending device can determine the value range of the offset coefficient Offset according to the priority of the voice service, and the purpose is to make the modified priority of the target logical channel not higher than the priority of the voice service, so as to ensure that the voice service with the highest priority is not affected. For example, if the priority of the voice service is PF2, the offset coefficient Offset can be:
[0167] 0 < Offset ≤ PF2-PF0 x Factor
[0168] Step S603, if the target logical channel is a logical channel for transmitting EL data, the sending device determines whether the transmission time coefficient of the current METU is greater than a preset threshold value.
[0169] The transmission time coefficient R can reflect the time urgency degree of the current METU transmission. When the transmission time coefficient R is larger, it means that the data packet transmission of the current METU has consumed a relatively long time, and the remaining data packet transmission is likely to be difficult to meet the delay constraint; when the transmission time coefficient R is smaller, it means that the data packet transmission of the current METU has consumed a relatively short time, and the remaining data packet transmission is more likely to meet the delay constraint. Because, in order to take different scheduling measures for the two cases of large and small transmission time coefficients R, the embodiment of the application sets a threshold value, for example, which is generally less than the air interface delay constraint, for example, the threshold value is set to 5ms, 6ms, etc., which is not limited in the embodiment of the application.
[0170] Step S604, if the transmission time coefficient of the current METU is less than or equal to the preset threshold value, the sending device determines that the modified priority of the target logical channel is the product of the original priority PF0 and the priority modification coefficient Factor, that is, PF1 = PF0 x Factor.
[0171] Wherein, when the transmission time coefficient of the current METU is less than or equal to the preset threshold value, it means that the time urgency degree of the current METU transmission is not high, so if the transmission speed of the untransmitted EL data packet of the METU is accelerated, the transmission of the METU can meet the air interface delay constraint. Therefore, the sending device takes the product of the original priority PF0 and the priority modification coefficient Factor as the modified priority PF1 of the target logical channel, and then jumps to step S606, so as to accelerate the transmission speed of the untransmitted EL data packet in the current METU, and ensure that the untransmitted EL data packet in the current METU can be transmitted within the air interface delay constraint.
[0172] Step S605, if the transmission time coefficient of the current METU is greater than the preset threshold value, the sending device discards the untransmitted data packet of the current METU.
[0173] When the transmission time coefficient of the current METU is less than or equal to a preset threshold value, it indicates that the current METU has a high degree of time urgency, and even if the transmission speed of the untransmitted EL data packet of the current METU is accelerated, the current METU cannot meet the air interface delay constraint. Therefore, in order to avoid wasting air interface resources, the sending end device can directly discard the untransmitted EL data packet of the current METU, and the saved air interface resources can be used to guarantee the transmission of BL data, so as to avoid the occurrence of the case 4 as shown in FIG. 4, and the Cloud VR service meets the acceptable QoS. Figure X
[0174] In step S506, the sending end device schedules the target logical channel according to the modified priority.
[0175] It can be understood that, since the first priority modification coefficient f1(W) and the second priority modification coefficient f2(R) are both greater than or equal to 1, and the offset coefficient Offset is also greater than 0 in the above embodiment, the modified priority PF1 is also greater than or equal to the original priority PF0. The sending end device can schedule more air interface resources for the target logical channel, thereby accelerating the transmission speed of the untransmitted data packet in the current METU, reducing the degree of time urgency of the current METU transmission, ensuring that the untransmitted data packet in the current METU can be transmitted within the air interface delay constraint, avoiding the occurrence of the case 2 and the case 3 as shown in FIG. 2 and FIG. 3, and improving the integrity of the Cloud VR data transmission. Figure X
[0176] The data transmission method provided in the second embodiment of the present application can be applied to the Cloud VR service scenario using SHVC encoding, for example. The combination of the active packet discarding method when the METU transmission error occurs, the time urgency scheduling, and the active discarding of unimportant EL data packets improves the integrity of the Cloud VR data transmission. Specifically, the active packet discarding method when the METU transmission error occurs includes that the sending end device actively discards the remaining unsent data packets of the current METU when the current METU sent to the receiving end device has already occurred packet loss, thereby reducing invalid data transmission, saving air interface resources, and improving the bandwidth utilization rate. The time urgency scheduling includes that when the time margin for transmitting the remaining data packets of the current METU is insufficient under the air interface transmission delay constraint, the sending end device improves the priority of the logical channel to accelerate the transmission speed of the current METU, reduce the degree of time urgency of the current METU transmission, and improve the integrity of the Cloud VR data transmission. The active discarding of unimportant EL data packets includes that the sending end device actively discards the untransmitted EL data packet when the transmission time coefficient of the current METU is greater than the threshold value, and the saved air interface resources are used to guarantee the transmission of BL data, so that the Cloud VR service meets the acceptable QoS.
[0177] To prove the technical effect that the method of Embodiment Two of the present application can improve the integrity of Cloud VR data transmission, the applicant simulated the method of the present application, and obtained the user satisfaction rate of the method applied to the NR and the Cloud VR service scenario using SHVC encoding. Among them, the user satisfaction rate = the number of satisfied users per cell / the total number of users per cell. For the HEVC encoding format, the user satisfaction rate is defined as the user whose FER of BL data packet is 0 and the FER of EL data packet is less than 50%.
[0178] The simulation environment is basically the same as that used in Embodiment One, and the difference is that the 35Mbps source used in Embodiment Two includes BL data and EL data, and the data amount ratio of BL data to EL data is 1:9.
[0179] The simulation results obtained by the applicant are shown in Figure 15 It can be seen from Figure 15 that the user satisfaction rate of SHVC is much higher than that of HEVC scheme, which shows that SHVC itself has certain anti-frame loss robustness. The method of Embodiment Two of the present application can further significantly improve the user satisfaction rate on the basis of the original SHVC scheme. The more the number of users per cell, the more obvious the relative gain. For example, when each cell includes 12 users, the user satisfaction rate can be increased from 65.6% when SHVC does not use the method to 72%, and the relative gain is 9.8%. From 33.1% when HEVC does not use the method to 72%, and the relative gain is 72%.
[0180] The above embodiments introduce the steps of the data transmission method provided by the present application. It can be understood that the network devices such as base stations and wireless access points contain hardware structures and / or software modules corresponding to the execution of each function in order to realize the above functions. Those skilled in the art should easily realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software driven hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0181] For example, the network device such as a base station as a sending end device can realize the corresponding function through a hardware module.
[0182] In one embodiment, as Figure 16As shown, the apparatus for implementing the above-mentioned sending device behavior includes a processor 710 and a memory 720; the memory 720 includes program instructions 721, which, when executed by the processor 710, cause the sending device to perform the following method steps: calculating an original priority of proportional fair (PF) scheduling of a target logical channel, wherein the target logical channel includes a logical channel through which the sending device sends target service data to a receiving device; calculating a priority correction coefficient of the target logical channel according to whether a first data packet of a current minimum effective transport unit (METU) being sent on the target logical channel has left a buffer queue; weighting the original priority of the target logical channel using the priority correction coefficient to obtain a corrected priority of the target logical channel; and scheduling the target logical channel according to the corrected priority.
[0183] The data transmission apparatus provided by the embodiments of the present application can be applied in a Cloud VR service scenario using HEVC encoding, for example. The sending device can weight the original priority of a target logical channel according to the sending state of a first data packet of a METU on the target logical channel, correct the original priority, accelerate the transmission speed of the current METU, reduce the time urgency of the current METU transmission, and improve the integrity of Cloud VR data transmission.
[0184] In an implementation manner, the program instructions 721, when executed by the processor 710, cause the sending device to specifically perform the following method steps: determining whether the current METU has packet loss; if the current METU has packet loss, discarding the unsent data packets in the current METU, and continuing to determine whether the next METU has packet loss; and if the current METU does not have packet loss, the sending device calculates the original priority. In this way, the sending device can actively discard the remaining unsent data packets of the current METU when the current METU sent to the receiving device has packet loss, thereby reducing invalid data transmission, saving air interface resources, and improving bandwidth utilization.
[0185] In an implementation manner, the target service data includes video data, and the METU includes an image frame of the video data, or an independent slice of the image frame, or an independent tile of the image frame. In this way, the sending device can implement transmission scheduling of different granularities of Cloud VR data according to different granularities of the METU.
[0186] In an implementation, the program instructions 721, when executed by the processor 710, cause the sending device to specifically perform the following method steps: determining whether the first data packet of the current METU has been scheduled; if the first data packet of the current METU has not been scheduled, calculating a first priority correction coefficient corresponding to the target logical channel under the condition that the first data packet of the current METU has not been scheduled; and if the first data packet of the current METU has been scheduled, calculating a second priority correction coefficient corresponding to the target logical channel under the condition that the first data packet of the current METU has been scheduled. In this way, the sending device can generate different priority correction coefficients according to the scheduling state of the first data packet of the current METU, so as to take different scheduling priorities for the target logical channel corresponding to different scheduling states of the first data packet of the current METU.
[0187] In an implementation, the program instructions 721, when executed by the processor 710, cause the sending device to specifically perform the following method steps: calculating a waiting time coefficient of the current METU, the waiting time coefficient being obtained by the following formula:
[0188]
[0189] wherein W is the waiting time coefficient, t n is the current time, t in is the time when the first data packet of the current METU enters the to-be-sent buffer of the target logical channel, and T is the delay constraint of air interface transmission between the sending device and the receiving device; and the first priority correction coefficient is determined according to the waiting time coefficient. In this way, the waiting time coefficient can reflect the time urgency degree of the current METU transmission, and therefore the first priority correction coefficient can become a correction coefficient based on time urgency scheduling.
[0190] In an implementation, the first priority coefficient monotonically increases or monotonically does not decrease with respect to the waiting time coefficient, and the first priority correction coefficient is greater than or equal to 1.
[0191] In an implementation, the program instructions 721, when executed by the processor 710, cause the sending device to specifically perform the following method steps: calculating a transmission rate of the current METU; and calculating a transmission time coefficient of the current METU, the transmission time coefficient being obtained by the following formula:
[0192]
[0193] wherein R is the transmission time coefficient, T w is the transmission waiting time of the current METU, T S is the transmitted time of the current METU, and C nThe transmission time coefficient is determined according to the amount of data not transmitted in the current METU, the transmission rate of the current METU, and the delay constraint of air interface transmission between the sending device and the receiving device. The transmission time coefficient can reflect the time urgency of the current METU transmission, and thus the second priority correction coefficient can be a correction coefficient based on time urgency scheduling.
[0194] In an implementation manner, the second priority coefficient monotonically increases or monotonically does not decrease with respect to the transmission time coefficient, and the second priority correction coefficient is greater than or equal to 1.
[0195] In an implementation manner, the target service data includes first type data and second type data, the importance of the first type data is higher than that of the second type data, the target logical channel includes a logical channel for transmitting the first type data and a logical channel for transmitting the second type data, and the program instruction 721, when executed by the processor 710, causes the sending device to specifically perform the following method steps: multiplying the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel, and adding an offset coefficient to obtain a corrected priority of the logical channel for transmitting the first type data. In this way, the sending device can set different priorities for different logical channels according to the importance of different data.
[0196] In an implementation manner, the program instruction 721, when executed by the processor 710, further causes the sending device to perform the following method steps: determining whether the transmission time coefficient is greater than a preset threshold value; and if the transmission time coefficient is less than or equal to the threshold value, multiplying the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel to obtain a corrected priority of the logical channel for transmitting the second type data. In this way, the sending device can speed up the transmission of relatively unimportant data when the time urgency of the transmission of the relatively unimportant data is not high, and improve the integrity of data transmission.
[0197] In an implementation manner, the program instruction 721, when executed by the processor 710, further causes the sending device to perform the following method steps: if the transmission time coefficient is greater than the threshold value, discarding the data packets not transmitted in the current METU. In this way, the sending device can discard relatively unimportant data when the time urgency of the transmission of the relatively unimportant data is high, and improve the integrity of transmission of relatively important data.
[0198] In addition, the network device such as a base station can implement the corresponding functions through a software module as a sending device.
[0199] In one embodiment, as Figure 17As shown, the data forwarding apparatus for implementing the function of the sending device behavior described above comprises: an original priority calculation module 801 configured to calculate an original priority of proportional fairness PF scheduling of a target logical channel, wherein the target logical channel comprises a logical channel of the sending device for sending target service data to a receiving device; a priority correction coefficient calculation module 802 configured to calculate a priority correction coefficient of the target logical channel according to whether a first data packet of a current minimum effective transmission unit METU being sent on the target logical channel has left a buffer queue; a corrected priority calculation module 803 configured to weight the original priority of the target logical channel by using the priority correction coefficient to obtain a corrected priority of the target logical channel; and a scheduling module 804 configured to schedule the target logical channel according to the corrected priority.
[0200] The embodiments of the present application further provide a computer storage medium, which stores computer instructions, and when the computer instructions are run on a computer, the computer is caused to execute the method of the above aspects.
[0201] The embodiments of the present application further provide a computer program product containing instructions, and when the computer program product is run on a computer, the computer is caused to execute the method of the above aspects.
[0202] The present application further provides a chip system. The chip system comprises a processor configured to support the above apparatus or device to implement the functions involved in the above aspects, for example, to generate or process the information involved in the above method. In a possible design, the chip system further comprises a memory configured to store necessary program instructions and data of the above apparatus or device. The chip system can be composed of a chip, or can comprise a chip and other discrete devices.
[0203] The above detailed description of the embodiments of the present application further explains the purposes, technical solutions and beneficial effects of the present application. It should be understood that the above is only a specific embodiment of the present application, and is not used to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solutions of the present application should be included in the protection scope of the present application.
Claims
1. A data transmission method, characterized by, The method comprises the following steps: The sending device calculates the original priority of proportional fair (PF) scheduling of a target logical channel, wherein the target logical channel comprises a logical channel of the sending device for sending target service data to a receiving device; The sending device calculates a priority correction coefficient of the target logical channel according to whether the first data packet of a current minimum effective transmission unit (METU) being sent on the target logical channel has left a buffer queue; The sending device weights the original priority of the target logical channel by using the priority correction coefficient to obtain a corrected priority of the target logical channel; The sending device schedules the target logical channel according to the corrected priority.
2. The method of claim 1, wherein, The sending device calculates the original priority of proportional fair (PF) scheduling of a target logical channel, comprising the following steps: The sending device determines whether the current METU has packet loss; If the current METU has packet loss, the sending device discards the data packet not being sent in the current METU, and continues to determine whether the next METU has packet loss; If the current METU does not have packet loss, the sending device calculates the original priority.
3. The method of claim 1, wherein: The target service data comprises video data, and the METU comprises an image frame of the video data, or an independent slice of the image frame, or an independent tile of the image frame.
4. The method according to any one of claims 1 to 3, characterized in that, The sending device calculates a priority correction coefficient of the target logical channel according to whether the first data packet of a current METU being sent on the target logical channel has left a buffer queue, comprising the following steps: The sending device determines whether the first data packet of the current METU has left the buffer queue; If the first data packet of the current METU has not left the buffer queue, the sending device calculates a first priority correction coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has not left the buffer queue; If the first data packet of the current METU has left the buffer queue, the sending device calculates a second priority correction coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has left the buffer queue.
5. The method of claim 4, wherein, The sending device calculates the first priority correction coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has not left the buffer queue, comprising the following steps: The sending device calculates a waiting time coefficient of the current METU, wherein the waiting time coefficient is obtained by the following formula: Wherein, W is the waiting time coefficient, t n is the current time, t in is the time when the first data packet of the current METU enters the to-be-sent buffer of the target logical channel, and T is the delay constraint of air interface transmission between the sending end device and the receiving end device. The sending device determines the first priority correction coefficient according to the waiting time coefficient.
6. The method of claim 5, wherein, The first priority correction coefficient is monotonically increasing or monotonically non-decreasing with respect to the waiting time coefficient, and the first priority correction coefficient is greater than or equal to 1.
7. The method of claim 4, wherein, The sending device calculates the second priority correction coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has left the buffer queue, comprising the following steps: The sending device calculates a transmission rate of the current METU; The sending end device calculates a transmission time coefficient of the current METU, which is obtained by the following formula: wherein R is the transmission time coefficient, T w is the transmission waiting time of the current METU, T S is the transmitted time of the current METU, C n is the amount of data not transmitted of the current METU, S is the transmission rate of the current METU, and T is the delay constraint of air interface transmission between the sending end device and the receiving end device. The sending end device determines the second priority correction coefficient according to the transmission time coefficient.
8. The method of claim 7, wherein, The second priority correction coefficient monotonically increases or monotonically does not decrease relative to the transmission time coefficient, and the second priority correction coefficient is greater than or equal to 1.
9. The method according to claim 7 or 8, characterized in that, The target service data includes first type data and second type data, the importance of the first type data is higher than that of the second type data, the target logical channel includes a logical channel for transmitting the first type data and a logical channel for transmitting the second type data, and the sending end device uses the priority correction coefficient to weight the original priority of the target logical channel to obtain the modified priority of the target logical channel, including: The sending end device multiplies the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel, and adds an offset coefficient to obtain the modified priority of the logical channel for transmitting the first type data.
10. The method of claim 9, wherein, Further comprising: The sending end device determines whether the transmission time coefficient is greater than a preset threshold value; If the transmission time coefficient is less than or equal to the threshold value, the sending end device multiplies the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel to obtain the modified priority of the logical channel for transmitting the second type data.
11. The method of claim 10, wherein, Further comprising: If the transmission time coefficient is greater than the threshold value, the sending end device discards the untransmitted data packet of the current METU.
12. A data transmission apparatus, characterized by comprising: The device is used as a sending end device, and includes a processor and a memory; the memory includes program instructions, which are executed by the processor to make the sending end device perform the following method steps: Calculate the original priority of proportional fairness PF scheduling of a target logical channel, wherein the target logical channel includes a logical channel of the sending end device for sending target service data to a receiving end device; According to whether the first data packet of a current minimum effective transmission unit METU being transmitted on the target logical channel has exited a buffer queue, calculate a priority correction coefficient of the target logical channel; Use the priority correction coefficient to weight the original priority of the target logical channel to obtain a modified priority of the target logical channel; According to the modified priority, schedule the target logical channel.
13. The apparatus of claim 12, wherein, The program instructions are executed by the processor to make the sending end device specifically perform the following method steps: Determine whether the current METU has packet loss; If the current METU has packet loss, discard the untransmitted data packet in the current METU, and continue to determine whether the next METU has packet loss; If the current METU does not have packet loss, the sending end device calculates the original priority.
14. The device of claim 12, wherein The target service data comprises video data, and the METU comprises an image frame of the video data, or an independent slice of the image frame, or an independent tile of the image frame.
15. The apparatus of any one of claims 12-14, wherein, When the program instructions are executed by the processor, the sending terminal device specifically performs the following method steps: determining whether a first data packet of the current METU has left a buffer queue; if the first data packet of the current METU has not left the buffer queue, calculating a first priority correction coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has not left the buffer queue; if the first data packet of the current METU has left the buffer queue, calculating a second priority correction coefficient corresponding to the target logical channel in the case that the first data packet of the current METU has left the buffer queue.
16. The apparatus of claim 15, wherein, When the program instructions are executed by the processor, the sending terminal device specifically performs the following method steps: calculating a waiting time coefficient of the current METU, the waiting time coefficient being obtained by the following formula: Wherein, W is the waiting time coefficient, t n is the current time, t in is the time when the first data packet of the current METU enters the to-be-sent buffer of the target logical channel, and T is the delay constraint of air interface transmission between the sending end device and the receiving end device. determining the first priority correction coefficient according to the waiting time coefficient.
17. The apparatus of claim 16, wherein, The first priority correction coefficient monotonically increases or is monotonically not decreased with respect to the waiting time coefficient, and the first priority correction coefficient is greater than or equal to 1.
18. The apparatus of claim 15, wherein, When the program instructions are executed by the processor, the sending terminal device specifically performs the following method steps: calculating a transmission rate of the current METU; calculating a transmission time coefficient of the current METU, the transmission time coefficient being obtained by the following formula: wherein R is the transmission time coefficient, T w is the transmission waiting time of the current METU, T S is the transmitted time of the current METU, C n is the amount of data not transmitted by the current METU, S is the transmission rate of the current METU, and T is the delay constraint of air interface transmission between the sending end device and the receiving end device. determining the second priority correction coefficient according to the transmission time coefficient.
19. The apparatus of claim 18, wherein, The second priority correction coefficient monotonically increases or is monotonically not decreased with respect to the transmission time coefficient, and the second priority correction coefficient is greater than or equal to 1.
20. The apparatus of claim 18 or 19, wherein, The target service data comprises first type data and second type data, the importance of the first type data being higher than that of the second type data, and the target logical channel comprising a logical channel for transmitting the first type data and a logical channel for transmitting the second type data, when the program instructions are executed by the processor, the sending terminal device specifically performs the following method steps: multiplying the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel, and adding an offset coefficient to obtain a corrected priority of the logical channel for transmitting the first type data.
21. The apparatus of claim 20, wherein, When the program instructions are executed by the processor, the sending terminal device further performs the following method steps: determining whether the transmission time coefficient is greater than a preset threshold value; if the transmission time coefficient is less than or equal to the threshold value, multiplying the original priority by the first priority correction coefficient or the second priority correction coefficient corresponding to the target logical channel to obtain a corrected priority of the logical channel for transmitting the second type data.
22. The apparatus of claim 21, wherein, When the program instructions are executed by the processor, the sending terminal device further performs the following method steps: if the transmission time coefficient is greater than the threshold value, discarding the non-transmitted data packets of the current METU.
23. A computer storage medium, comprising, comprising computer instructions that, when run on a network device, cause the network device to perform the method of any of claims 1-11.
24. A computer program product, characterised in that, when the computer program product is run on a computer, cause the computer to perform the method of any of claims 1-11.
Citation Information
Patent Citations
Service data scheduling method and device in high-speed downlink packet access
CN101291279A
Proportional fairness scheduling method and device
CN102833867A