Coding method, device and system of cloud desktop, electronic equipment and storage medium

By dividing and merging partitions according to the moving average frame rate in the cloud desktop and processing data of different partitions using different encoding formats, the problem of delay lag in cloud desktop at high resolution and high frame rate is solved, improving user experience and System performance.

CN119299049AActive Publication Date: 2025-01-10CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411352583.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-26
Publication Date
2025-01-10
Estimated Expiration
2044-09-26

AI Technical Summary

Technical Problem

At high resolution and high frame rate, cloud desktops have a high risk of delay lag due to the increase in data transmission volume, which affects the user experience.

Method used

By obtaining the moving average frame rate of all partitions in the cloud desktop, determining the partitions with higher fluency are used to merge, and encoding them using different encoding formats according to the frame rates of different partitions, optimizing data transmission.

Benefits of technology

It reduces the risk of delay and stuttering in cloud desktops, improves system response speed and user experience, and optimizes data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299049A_ABST
    Figure CN119299049A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud desktop coding method, device and system, electronic equipment and a storage medium, and relates to the technical field of data processing, the moving average frame rates of all partitions in a cloud desktop are respectively acquired, and the moving average frame rates are respectively compared with a preset first threshold value; if the moving average frame rate greater than the preset first threshold exists in the moving average frame rates, determining the partition corresponding to the maximum value in the moving average frame rate greater than the preset first threshold as a first to-be-merged region; if a second to-be-merged region adjacent to the first to-be-merged region exists in all the partitions, merging the second to-be-merged region with the first to-be-merged region to obtain a current merged region; and encoding the data in the current merging region through a preset second encoding format. Compared with the prior art, according to the embodiment of the invention, the data in the partitions with different moving average frame rates are encoded by using different encoding formats, so that the risk of delay and lagging of the cloud desktop is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing technology, and in particular to a cloud desktop encoding method and device, system, electronic device and storage medium. Background Art

[0002] In the cloud desktop encoding method, user experience is the most important concern, and the most direct and subjective feeling of users is the smooth operation of the cloud desktop. At low resolution and low frame rate, the cloud desktop needs to transmit less data, the demand for broadband and the network burden are low, and the cloud desktop can maintain a good response speed. However, as the resolution and frame rate increase, the cloud desktop needs to transmit more data, which will increase the demand for bandwidth and the network burden, resulting in a greater risk of delays and freezes in the cloud desktop. Summary of the invention

[0003] The present invention provides a cloud desktop encoding method and device, system, electronic device and storage medium, which is mainly intended to solve the problem of high risk of delay and freeze in the cloud desktop.

[0004] According to a first aspect of the present disclosure, a cloud desktop encoding method is provided, wherein the method is applied to a server and includes:

[0005] Respectively obtain the moving average frame rates of all partitions in the cloud desktop, and compare the moving average frame rates with a preset first threshold; the data in all partitions are encoded using a preset first encoding format;

[0006] If there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, determining the partition corresponding to the maximum value among the moving average frame rates greater than the preset first threshold as the first area to be merged;

[0007] If there is a second area to be merged adjacent to the first area to be merged in all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions in all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold;

[0008] The data in the current merged area is encoded using a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client.

[0009] Optionally, before merging the second region to be merged with the first region to be merged, the method further includes:

[0010] When it is determined that the moving average frame rate difference between the first partition and the first area to be merged is less than the preset second threshold, the first partition is determined as the second area to be merged; the first partition is a partition adjacent to the first area to be merged among all the partitions;

[0011] A second partition adjacent to the second area to be merged is added to the second area to be merged until the second partition adjacent to the second area to be merged does not exist in all the partitions; the second partition is a partition among all the partitions except the first partition whose moving average frame rate difference with the first area to be merged is less than the preset second threshold.

[0012] Optionally, before determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged, the method further includes:

[0013] Determine whether there is a historical merged area in all the partitions; the historical merged area is a merged area obtained by merging all the historical partitions in the cloud desktop; the data in the historical merged area is encoded using the preset second encoding format;

[0014] When it is determined that the historical merged area exists in all the partitions, obtaining a moving average frame rate of the historical merged area;

[0015] If the moving average frame rate of the historical merged area is less than or equal to the preset first threshold, the historical merged area is restored to at least one initial partition, and the data in the at least one initial partition is encoded using the preset first encoding format.

[0016] Optionally, after obtaining the moving average frame rate of the historical merged area, the method further includes:

[0017] If the moving average frame rate of the historical merged area is greater than the preset first threshold, the historical merged area is updated to the current merged area, and the execution of determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged is stopped.

[0018] Optionally, before respectively obtaining the moving average frame rates of all partitions in the cloud desktop, the method further includes:

[0019] Obtaining the resolution of the cloud desktop; the resolution includes horizontal resolution and vertical resolution;

[0020] Determine the maximum value of the horizontal resolution and the vertical resolution as the target resolution, and determine the direction of the target resolution of the cloud desktop as the partition direction;

[0021] According to a pre-established mapping relationship between resolution and number of partitions, searching for the target number of partitions of the target resolution;

[0022] Based on the target partition quantity and the partition direction, the cloud desktop is partitioned to obtain at least two partitions.

[0023] Optionally, after encoding the data in the current merged area using a preset second encoding format, the method further includes:

[0024] Acquire the region boundary coordinates of the cloud desktop; the region boundary coordinates include the first boundary coordinates of the current merged region and the second boundary coordinates of all the partitions except the current merged region;

[0025] The first boundary coordinate and the second boundary coordinate are sent to the client so that the client partitions the display desktop of the client based on the first boundary coordinate and the second boundary coordinate.

[0026] According to a second aspect of the present disclosure, a cloud desktop encoding method is provided, wherein the method is applied to a client and includes:

[0027] Receiving the encoded data sent by the server; the encoded data includes first encoded data encoded by the server using a preset first encoding format and second encoded data encoded by the server using a preset second encoding format;

[0028] Decoding the first encoded data using a preset first decoding format corresponding to a preset first encoding format;

[0029] The second encoded data is decoded using a preset second decoding format corresponding to the preset second encoding format.

[0030] Optionally, before receiving the encoded data sent by the server, the method further includes:

[0031] Receive the region boundary coordinates of the cloud desktop sent by the server; the region boundary coordinates include the first boundary coordinates of the current merged region and the second boundary coordinates of all partitions in the cloud desktop except the current merged region; the current merged region is a region merged based on the moving average frame rate of all partitions in the cloud desktop;

[0032] According to the first boundary coordinates and the second boundary coordinates, the display desktop of the client is divided into partitions consistent with the partition results of the cloud desktop; the partition results include the current merged area and all partitions in the cloud desktop except the current merged area.

[0033] According to a third aspect of the present disclosure, a cloud desktop encoding device is provided, wherein the device is applied to a server, and includes:

[0034] A comparison unit, used to respectively obtain the moving average frame rates of all partitions in the cloud desktop, and compare the moving average frame rates with a preset first threshold; the data in all partitions are encoded using a preset first encoding format;

[0035] A first determining unit is configured to, when there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, determine a partition corresponding to a maximum value among the moving average frame rates greater than the preset first threshold as a first area to be merged;

[0036] a merging unit, configured to merge the second region to be merged with the first region to be merged to obtain a current merged region when there is a second region to be merged adjacent to the first region to be merged in all the partitions; the second region to be merged is composed of two adjacent partitions in all the partitions whose moving average frame rate difference with the first region to be merged is less than a preset second threshold;

[0037] The encoding unit is used to encode the data in the current merged area by a preset second encoding format, so as to transmit the data in the current merged area and the data in the partitions of all the partitions except the current merged area to the client based on the preset first encoding format and the preset second encoding format.

[0038] Optionally, the device further comprises:

[0039] The first determining unit is further configured to, before merging the second to-be-merged area with the first to-be-merged area, determine the first partition as the second to-be-merged area when it is determined that the moving average frame rate difference between the first partition and the first to-be-merged area is less than the preset second threshold; the first partition is a partition adjacent to the first to-be-merged area among all the partitions;

[0040] The first determination unit is also used to add a second partition adjacent to the second area to be merged into the second area to be merged until the second partition adjacent to the second area to be merged does not exist in all the partitions; the second partition is a partition among all the partitions except the first partition whose moving average frame rate difference with the first area to be merged is less than the preset second threshold.

[0041] Optionally, the device further comprises:

[0042] A judgment unit, used for judging whether there is a historical merged area in all the partitions before determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged; the historical merged area is a merged area obtained by merging all the historical partitions in the cloud desktop; the data in the historical merged area is encoded by the preset second encoding format;

[0043] A first acquisition unit, configured to acquire a moving average frame rate of the historical merged region when it is determined that the historical merged region exists in all the partitions;

[0044] A restoration unit is used to restore the historical merged area to at least one initial partition when the moving average frame rate of the historical merged area is less than or equal to the preset first threshold, and encode the data in the at least one initial partition using the preset first encoding format.

[0045] Optionally, the device further comprises:

[0046] An updating unit is used to, after obtaining the moving average frame rate of the historical merged area, update the historical merged area to the current merged area when the moving average frame rate of the historical merged area is greater than the preset first threshold, and stop the execution of determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged.

[0047] Optionally, the device further comprises:

[0048] The second acquisition unit is used to acquire the resolution of the cloud desktop before acquiring the moving average frame rates of all partitions in the cloud desktop respectively; the resolution includes horizontal resolution and vertical resolution;

[0049] A second determining unit is used to determine the maximum value of the horizontal resolution and the vertical resolution as the target resolution, and determine the direction of the target resolution of the cloud desktop as the partition direction;

[0050] A search unit, configured to search for a target number of partitions of the target resolution according to a pre-established mapping relationship between the resolution and the number of partitions;

[0051] A partitioning unit is used to partition the cloud desktop based on the target partition quantity and the partition direction to obtain at least two partitions.

[0052] Optionally, the device further comprises:

[0053] A third acquisition unit is used to obtain the region boundary coordinates of the cloud desktop after encoding the data in the current merged region by a preset second encoding format; the region boundary coordinates include the first boundary coordinates of the current merged region and the second boundary coordinates of all the partitions except the current merged region;

[0054] The sending unit is used to send the first boundary coordinate and the second boundary coordinate to the client, so that the client partitions the display desktop of the client based on the first boundary coordinate and the second boundary coordinate.

[0055] According to a fourth aspect of the present disclosure, a cloud desktop encoding device is provided, wherein the device is applied to a client and includes:

[0056] A receiving unit, configured to receive the coded data sent by the server; the coded data includes first coded data coded by the server using a preset first coding format and second coded data coded by the server using a preset second coding format;

[0057] A first decoding unit, configured to decode the first encoded data using a preset first decoding format corresponding to a preset first encoding format;

[0058] The second decoding unit is used to decode the second encoded data by using a preset second decoding format corresponding to a preset second encoding format.

[0059] Optionally, the device further comprises:

[0060] The receiving unit is also used to receive the area boundary coordinates of the cloud desktop sent by the server before receiving the encoded data sent by the server; the area boundary coordinates include the first boundary coordinates of the current merged area and the second boundary coordinates of all partitions in the cloud desktop except the current merged area; the current merged area is a merged area based on the moving average frame rate of all partitions in the cloud desktop;

[0061] A partitioning unit is used to divide the client's display desktop into partitions consistent with the partition results of the cloud desktop according to the first boundary coordinates and the second boundary coordinates; the partition results include the current merged area and all partitions in the cloud desktop except the current merged area.

[0062] According to a fifth aspect of the present disclosure, a cloud desktop encoding system is provided, the system comprising a server and a client, including:

[0063] The server includes the encoding device of the cloud desktop as described in the third aspect of the present disclosure;

[0064] The client includes the encoding device of the cloud desktop as described in the fourth aspect of the present disclosure.

[0065] According to a fifth aspect of the present disclosure, there is provided an electronic device, including:

[0066] at least one processor; and

[0067] a memory communicatively connected to the at least one processor; wherein,

[0068] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method described in the first aspect or the method described in the second aspect.

[0069] According to a sixth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the first aspect or the method described in the second aspect.

[0070] According to a seventh aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the method described in the first aspect or the method described in the second aspect.

[0071] The cloud desktop encoding method and device, system, electronic device and storage medium provided by the present invention respectively obtain the moving average frame rate of all partitions in the cloud desktop, and compare the moving average frame rate with a preset first threshold value; the data in all the partitions are encoded by a preset first encoding format; if there is a moving average frame rate greater than the preset first threshold value in the moving average frame rate, the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold value is determined as the first area to be merged; if there is a second area to be merged adjacent to the first area to be merged in all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions in all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold value; the data in the current merged area is encoded by a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client. Compared with the related art, the embodiment of the present disclosure obtains the cloud desktop is divided into different partitions, and based on the moving average frame rate, the partitions are merged to obtain the current merged area. The data in the partition that does not belong to the current merged area is encoded using a preset first encoding format, and the data in the current merged area is encoded using a preset second encoding format. This achieves encoding of data in partitions with different moving average frame rates using different encoding formats, thereby reducing the risk of delays and freezes in the cloud desktop.

[0072] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0074] Figure 1 A schematic diagram of a flow chart of a cloud desktop encoding method provided by an embodiment of the present disclosure;

[0075] Figure 2 A schematic diagram of the composition architecture of a cloud desktop system provided by an embodiment of the present disclosure;

[0076] Figure 3 A schematic diagram of a merging process of a current merging area provided by an embodiment of the present disclosure;

[0077] Figure 4 A flowchart of a method for determining a second area to be merged provided in an embodiment of the present disclosure;

[0078] Figure 5 A schematic diagram of a partition effect of a cloud desktop provided in an embodiment of the present disclosure;

[0079] Figure 6 A flowchart of another cloud desktop encoding method provided by an embodiment of the present disclosure;

[0080] Figure 7 A schematic diagram of the structure of a cloud desktop encoding device provided by an embodiment of the present disclosure;

[0081] Figure 8 A schematic diagram of the structure of another cloud desktop encoding device provided by an embodiment of the present disclosure;

[0082] Fig. 9 A schematic diagram of the structure of another cloud desktop encoding device provided by an embodiment of the present disclosure;

[0083] Fig.10 A schematic diagram of the structure of another cloud desktop encoding device provided by an embodiment of the present disclosure;

[0084] Fig.11 A schematic diagram of a cloud desktop encoding system provided by an embodiment of the present disclosure;

[0085] Fig.12 A schematic block diagram of an exemplary electronic device provided for an embodiment of the present disclosure. DETAILED DESCRIPTION

[0086] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0087] The following describes the cloud desktop encoding method and device, system, electronic device and storage medium of the embodiments of the present disclosure with reference to the accompanying drawings.

[0088] Figure 1 A flowchart of a cloud desktop encoding method provided by an embodiment of the present disclosure.

[0089] like Figure 1 As shown, the method is applied to the server, and the method includes the following steps:

[0090] Step 101, respectively obtain the moving average frame rates of all partitions in the cloud desktop, and compare the moving average frame rates with a preset first threshold; the data in all partitions are encoded using a preset first encoding format.

[0091] The cloud desktop system consists of two parts, namely the server and the client. In order to better understand the composition architecture of the cloud desktop system, Figure 2 As shown, Figure 2 This is a schematic diagram of the composition architecture of a cloud desktop system provided by an embodiment of the present disclosure, wherein the server is deployed in a server, and the server consists of two parts, namely a management platform and a cloud computer. The management platform is mainly responsible for issuing partition strategies and encoding strategies within the cloud desktop. The interior of the cloud desktop is divided into areas according to the corresponding strategies, and merged and rendered on the client according to the strategies. The cloud computer is responsible for the operation of the cloud desktop, and executes the partition strategies issued by the management platform, and sends the display content of the cloud desktop to the client. The client is an electronic device for users to remotely log in to the cloud desktop, including but not limited to desktop computers, laptops, tablets, smart phones, and smart watches. The client can remotely operate the cloud computer.

[0092] Partitioning means that the cloud desktop is divided into multiple independent areas, each of which can process and optimize data independently. The moving average frame rate refers to the average frame rate of all frame rates in the partition within the preset time range before the frame rate acquisition time.

[0093] The calculation formula of the moving average frame rate can be implemented by formula (1):

[0094]

[0095] in, is the moving average frame rate, n is the preset time range, t is the frame rate acquisition time, y t is the frame rate of the partition at time t, y t-1 is the frame rate of the partition at time t-1, y t-n+1 is the frame rate of the partition at time t-n+1.

[0096] For ease of understanding, an example is provided. Assuming that 12:10:04 is the frame rate acquisition time, n is 3 seconds, and a partition has 3 frame rates within n, namely, frame rate a at 12:10:04, frame rate b at 12:10:03, and frame rate c at 12:10:02. Add frame rate a, frame rate b, and frame rate c to obtain frame rate d, and divide frame rate d by n to obtain a moving average frame rate of a partition at 12:10:04. The preset time range is an arbitrary value and is not limited in the embodiments of the present disclosure.

[0097] Each partition in the cloud desktop has a corresponding encoder, and the encoder encodes the data in the corresponding partition by using a preset first encoding format, wherein the preset first encoding format is a pre-set data encoding format used to process and compress the data in the partition to optimize transmission efficiency. For example, the preset first encoding format can be yuv444, but it should be clear that this statement is not intended to limit the preset first encoding format to only yuv444, and can also be other encoding formats. The data in the partition is the data corresponding to the content displayed in the partition, and the data in the partition includes but is not limited to text, images, and video streams. After being encoded, it is transmitted to the client through the network, and the client decodes the encoded data and displays the decoded data.

[0098] Exemplarily, the preset first threshold may be any value, and the embodiment of the present disclosure does not limit the value of the preset first threshold.

[0099] By obtaining the moving average frame rate of all partitions in the cloud desktop and comparing it with the preset first threshold, the partitions with excellent performance can be identified. This ensures that those partitions with higher fluency are merged first under high load conditions, thereby improving the overall user experience. At the same time, encoding the data using the preset first encoding format helps optimize data transmission efficiency and ensure smooth data transmission to the client. The ultimate goal of this is to improve the response speed and stability of the system.

[0100] Step 102: If there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, a partition corresponding to a maximum value among the moving average frame rates greater than the preset first threshold is determined as a first area to be merged.

[0101] To facilitate understanding, an example is provided. Assume that there are two partitions in the cloud desktop, namely partition a and partition b. The moving average frame rate of partition a is 15, and the moving average frame rate of partition b is 24. The preset first threshold is 20, then the first area to be merged is partition b.

[0102] Exemplarily, if there are two identical maximum values ​​in the moving average frame rates corresponding to all the partitions, a partition corresponding to the maximum value is randomly selected to be determined as the first area to be merged.

[0103] To facilitate understanding, an example is provided. Suppose there are three partitions in the cloud desktop, namely partition a, partition b and partition c. The moving average frame rate of partition a is 15, the moving average frame rate of partition b is 24, and the moving average frame rate of partition c is 24. Then the first area to be merged is partition b or partition c.

[0104] By identifying partitions with higher fluency, we can ensure that the better performing areas are prioritized during merging, thereby improving the overall system responsiveness and user experience.

[0105] Step 103: If there is a second area to be merged adjacent to the first area to be merged in all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions in all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold.

[0106] In order to better understand the merging process of the current merged area, such as Figure 3 As shown, Figure 3 A schematic diagram of a merging process of a current merging area provided in an embodiment of the present disclosure, assuming that the preset first threshold is 16, the preset second threshold is 4, Figure 3 The maximum value of the moving average frame rate is 20. Figure 3 There are two maximum values ​​in , and a partition corresponding to a maximum value is randomly selected as the first area to be merged. Assume that partition 6 is determined as the first area to be merged. Since partition 5 is adjacent to partition 6, partition 7 is adjacent to partition 6, and the moving average frame rate difference between partition 5 and partition 6 is less than 4, the moving average frame rate difference between partition 7 and partition 6 is less than 4, partition 8 is adjacent to partition 7, and the moving average frame rate difference between partition 8 and partition 6 is less than 4, partition 4 is adjacent to partition 5, and the moving average frame rate difference between partition 4 and partition 6 is greater than 4, so partition 5 is a second area to be merged, and partition 7 and partition 8 form a second area to be merged.

[0107] Exemplarily, the preset second threshold value may be any value, which is not limited in the embodiments of the present disclosure.

[0108] By merging the partitions adjacent to the first to-be-merged area and having a frame rate difference less than a preset second threshold, it is possible to ensure that the performance of these areas is similar, thereby optimizing the encoding and transmission process, reducing latency, and improving the overall user experience. This strategy helps to achieve the best balance between resource utilization and performance.

[0109] Step 104, encode the data in the current merged area using a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client.

[0110] The preset second encoding format is a preset data encoding format different from the preset first encoding format, the encoding speed of the preset second encoding format is higher than the preset first encoding format, and the encoding data volume of the preset second encoding format is smaller than the preset second encoding format. For example, the preset second encoding format may be yuv420, but it should be clear that this statement is not intended to limit the preset second encoding format to only yuv420, and may also be other encoding formats.

[0111] To facilitate understanding, an example is provided. It is assumed that the preset first encoding format is yuv444, and the preset second encoding format is yuv420. The amount of encoded data of yuv420 is only half of that of yuv444 format, but the clarity of the encoded data of yuv420 is lower than that of yuv444. In essence, it sacrifices image quality in exchange for a higher frame rate. Therefore, the encoding speed of the preset second encoding format will be faster, and a higher frame rate can be achieved under the same resources. Since the moving average frame rate of the current merged area is large, yuv420 is required for encoding.

[0112] The preset second encoding format may be optimized for high frame rate, high dynamic range or specific types of content, and thus can provide a more efficient compression ratio. The amount of transmitted data can be reduced, thereby speeding up data transmission and reducing bandwidth usage.

[0113] The cloud desktop encoding method provided by the present disclosure obtains the moving average frame rates of all partitions in the cloud desktop respectively, and compares the moving average frame rates with a preset first threshold; the data in all the partitions are encoded by a preset first encoding format; if there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold is determined as the first area to be merged; if there is a second area to be merged adjacent to the first area to be merged among all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions among all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold; the data in the current merged area is encoded by a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client. Compared with the related art, the embodiment of the present disclosure obtains the cloud desktop is divided into different partitions, and based on the moving average frame rate, the partitions are merged to obtain the current merged area. The data in the partition that does not belong to the current merged area is encoded using a preset first encoding format, and the data in the current merged area is encoded using a preset second encoding format. This achieves encoding of data in partitions with different moving average frame rates using different encoding formats, thereby reducing the risk of delays and freezes in the cloud desktop.

[0114] In practical applications, before merging the second to-be-merged area with the first to-be-merged area, it is necessary to determine whether the second to-be-merged area exists in all partitions of the cloud desktop, which can be achieved by but not limited to the following methods: Figure 4 As shown, Figure 4 A flowchart of a method for determining a second region to be merged provided in an embodiment of the present disclosure includes:

[0115] Step 201, when it is determined that the moving average frame rate difference between the first partition and the first area to be merged is less than the preset second threshold, the first partition is determined as the second area to be merged; the first partition is a partition adjacent to the first area to be merged among all the partitions.

[0116] For ease of understanding, an example is provided. Please continue to refer to Figure 3 , assuming that partition 7 is determined as the first area to be merged, and the preset second threshold is 5, partition 6 and partition 8 are both first partitions, the moving average frame rate difference between partition 6 and partition 7 is less than the preset second threshold, and the moving average frame rate difference between partition 8 and partition 7 is less than the preset second threshold, and partition 6 and partition 8 are both second areas to be merged.

[0117] It achieves content integration and optimization of adjacent areas to improve coding efficiency, reduce transmission delay and bandwidth occupancy, and ultimately enhance the user's viewing experience.

[0118] Step 202: Add a second partition adjacent to the second area to be merged to the second area to be merged until there is no second partition adjacent to the second area to be merged in all the partitions; the second partition is a partition among all the partitions except the first partition whose moving average frame rate difference with the first area to be merged is less than the preset second threshold value.

[0119] For ease of understanding, an example is provided. Please continue to refer to Figure 3 , assuming that partition 7 is determined as the first area to be merged, the preset second threshold is 5, partition 6 is the second area to be merged, partition 8 is the second area to be merged, partitions 5 and 6 are second partitions, partition 5 is adjacent to the second merged area, partition 5 is added to the second area to be merged, partition 1 is not adjacent to the second area to be merged, partition 1 cannot be added to the second area to be merged, partitions 5 and 6 form a second area to be merged, and partition 8 is a area to be merged.

[0120] By merging partitions with similar frame rates, the number of regions that need to be processed separately can be reduced, thereby improving processing efficiency in tasks such as video encoding and decoding, frame rate conversion, and video analysis.

[0121] In actual applications, before the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold is determined as the first area to be merged, in order to control the bandwidth of the transmission data of the cloud desktop, there can only be one merged area in the cloud desktop. In order to ensure that there is only one merged area in the cloud desktop, it can be implemented by but not limited to the following methods: judging whether there is a historical merged area among all the partitions; the historical merged area is a merged area obtained by merging all the historical partitions in the cloud desktop; the data in the historical merged area is encoded using the preset second encoding format; when it is determined that the historical merged area exists among all the partitions, the moving average frame rate of the historical merged area is obtained; if the moving average frame rate of the historical merged area is less than or equal to the preset first threshold, the historical merged area is restored to at least one initial partition, and the data in the at least one initial partition is encoded using the preset first encoding format.

[0122] Exemplarily, assuming that the preset first threshold is 20, the moving average frame rate of the historical merged region is 15, and the historical merged region consists of two historical partitions, the historical merged region is restored to two initial partitions.

[0123] By dynamically adjusting the partition and encoding format strategies in the cloud desktop, we can optimize system performance, improve user experience, rationally utilize system resources, and enhance the system's adaptability to dynamic changes.

[0124] In practical applications, after obtaining the moving average frame rate of the historical merged area, the method of ensuring that there is only one merged area in the cloud desktop can also be implemented in the following manner, but not limited to: if the moving average frame rate of the historical merged area is greater than the preset first threshold, the historical merged area is updated to the current merged area, and the determination of the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged is stopped. By updating the historical merged area to the current merged area, unnecessary merging and splitting operations can be avoided, thereby maintaining the stability and performance advantages of the system.

[0125] In practical applications, before respectively obtaining the moving average frame rates of all partitions in the cloud desktop, in order to improve the data transmission efficiency of the cloud desktop, it is necessary to partition the partition desktop so that the data in the cloud desktop can be transmitted in parallel to improve the data transmission efficiency. The partitioning method of the cloud desktop can be implemented in the following manner but is not limited to: obtaining the resolution of the cloud desktop; the resolution includes horizontal resolution and vertical resolution; determining the maximum value of the horizontal resolution and the vertical resolution as the target resolution, and determining the direction of the target resolution of the cloud desktop as the partition direction; according to the pre-established mapping relationship between the resolution and the number of partitions, searching for the target number of partitions of the target resolution; based on the target number of partitions and the partition direction, partitioning the cloud desktop to obtain at least two partitions.

[0126] For example, in order to facilitate a better understanding of the partitioning of the cloud desktop, Figure 5 As shown, Figure 5 This is a schematic diagram of a partition effect of a cloud desktop provided by an embodiment of the present disclosure. Assuming that the horizontal resolution of the cloud desktop is 1920 and the vertical resolution is 1080, the partition direction is the horizontal direction. Figure 5 Assuming the horizontal resolution of the desktop is 1080 and the vertical resolution is 1920, the partition direction is vertical. Figure 5 (a) in .

[0127] As another implementation of the embodiment of the present disclosure, the partitioning method of the cloud desktop can also be partitioned according to the comparison result between the target resolution and the preset value range. For example, assuming that the preset value range includes three, which are less than 720, greater than 720 and less than 1920, and greater than 1920 and less than 2560, the number of partitions less than 720 is 4, the number of partitions greater than 720 and less than 1920 is 8, and the number of partitions greater than 1920 and less than 2560 is 16, and the target resolution is 1080, then the number of partitions is 8.

[0128] Exemplarily, the partition width of the first n-1 partitions is l / n, and the partition width of the last partition is l-(n-1)×(l / n), where n is the number of partitions and l is the target resolution.

[0129] Reasonable partitioning is performed according to the resolution characteristics of the cloud desktop to improve display effects, optimize resource allocation, achieve uniform performance distribution, adapt to different display requirements, simplify system management, and support multi-user or multi-tasking operations

[0130] In actual applications, after encoding the data in the current merged area using a preset second encoding format, in order to make the client's display desktop and the cloud desktop have the same display effect, it is necessary to make the partition results of the display desktop and the cloud desktop the same, which can be achieved by but not limited to the following methods: obtaining the area boundary coordinates of the cloud desktop; the area boundary coordinates include the first boundary coordinates of the current merged area and the second boundary coordinates of all partitions except the current merged area; sending the first boundary coordinates and the second boundary coordinates to the client, so that the client can partition the client's display desktop based on the first boundary coordinates and the second boundary coordinates.

[0131] Cloud desktops are usually run on the server side, and users access them through clients. Sending the region boundary coordinates of the cloud desktop to the client ensures that the client's display desktop can accurately simulate and reflect the partition layout of the cloud desktop, thereby achieving consistency and continuity of the user interface.

[0132] The above embodiment describes the encoding method of the cloud desktop applied to the server, and the subsequent embodiments describe the encoding method applied to the client. Figure 6 A flowchart of another cloud desktop encoding method provided by an embodiment of the present disclosure.

[0133] like Figure 6 As shown, the method is applied to the client, and the method includes the following steps:

[0134] Step 301, receiving the coded data sent by the server; the coded data includes first coded data encoded by the server using a preset first coding format and second coded data encoded by the server using a preset second coding format.

[0135] Different encoding formats may differ in compression rate, transmission speed, decoding complexity, etc. The server selects the most suitable encoding format for encoding according to the characteristics of the data and the transmission environment, which can optimize the data transmission efficiency and reduce the transmission time and bandwidth usage.

[0136] Step 302: Decode the first encoded data using a preset first decoding format corresponding to a preset first encoding format.

[0137] Encoding and decoding are a pair of interdependent processes that must be strictly matched to ensure the accuracy and consistency of the data. Decoding using the preset first decoding format corresponding to the preset first encoding format can ensure that the decoded data is completely consistent with the original data, avoiding errors or distortions in the data during transmission or processing.

[0138] Step 303: Decode the second encoded data using a preset second decoding format corresponding to a preset second encoding format.

[0139] Encoding and decoding are a pair of interdependent processes that must be strictly matched to ensure the accuracy and consistency of the data. Decoding using the preset second decoding format corresponding to the preset second encoding format can ensure that the decoded data is completely consistent with the original data, avoiding errors or distortions in the data during transmission or processing.

[0140] The cloud desktop encoding method provided by the present disclosure obtains the moving average frame rates of all partitions in the cloud desktop respectively, and compares the moving average frame rates with a preset first threshold; the data in all the partitions are encoded by a preset first encoding format; if there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold is determined as the first area to be merged; if there is a second area to be merged adjacent to the first area to be merged among all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions among all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold; the data in the current merged area is encoded by a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client. Compared with the related art, the embodiment of the present disclosure obtains the cloud desktop is divided into different partitions, and based on the moving average frame rate, the partitions are merged to obtain the current merged area. The data in the partition that does not belong to the current merged area is encoded using a preset first encoding format, and the data in the current merged area is encoded using a preset second encoding format. This achieves encoding of data in partitions with different moving average frame rates using different encoding formats, thereby reducing the risk of delays and freezes in the cloud desktop.

[0141] In actual applications, before receiving the encoded data sent by the server, in order to make the client's display desktop and the cloud desktop have the same display effect, it is necessary to make the partition results of the display desktop and the cloud desktop the same, which can be achieved by but not limited to the following methods: receiving the area boundary coordinates of the cloud desktop sent by the server; the area boundary coordinates include the first boundary coordinates of the current merged area and the second boundary coordinates of all partitions in the cloud desktop except the current merged area; the current merged area is an area merged based on the moving average frame rate of all partitions in the cloud desktop; according to the first boundary coordinates and the second boundary coordinates, the client's display desktop is divided into partitions consistent with the partition results of the cloud desktop; the partition results include the current merged area and all partitions in the cloud desktop except the current merged area.

[0142] By ensuring that the partitions of the client display desktop are exactly the same as those of the cloud desktop, users can get almost the same visual and operating experience on their local devices as on the cloud desktop. This helps reduce the user's adaptation time when switching devices or environments, and improves overall user satisfaction and work efficiency.

[0143] In summary, the embodiments of the present disclosure can achieve the following effects:

[0144] The disclosed embodiment obtains the cloud desktop into different partitions, and merges the partitions based on the moving average frame rate to obtain the current merged area. The data in the partition that does not belong to the current merged area is encoded using a preset first encoding format, and the data in the current merged area is encoded using a preset second encoding format. This achieves encoding of data in partitions with different moving average frame rates using different encoding formats, thereby reducing the risk of delays and freezes in the cloud desktop.

[0145] Corresponding to the above-mentioned cloud desktop encoding method, the present invention also proposes a cloud desktop encoding device. Since the device embodiment of the present invention corresponds to the above-mentioned method embodiment, the details not disclosed in the device embodiment can be referred to the above-mentioned method embodiment, and will not be repeated in the present invention.

[0146] Figure 7 A schematic diagram of a cloud desktop encoding device provided in an embodiment of the present disclosure, wherein the device is applied to a server, such as Figure 7 As shown, including:

[0147] The comparison unit 401 is used to respectively obtain the moving average frame rates of all partitions in the cloud desktop, and compare the moving average frame rates with a preset first threshold; the data in all partitions are encoded using a preset first encoding format;

[0148] A first determining unit 402 is configured to determine, when there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, a partition corresponding to a maximum value among the moving average frame rates greater than the preset first threshold as a first area to be merged;

[0149] A merging unit 403 is configured to merge the second region to be merged with the first region to be merged to obtain a current merged region when there is a second region to be merged adjacent to the first region to be merged in all the partitions; the second region to be merged is composed of two adjacent partitions in all the partitions whose moving average frame rate difference with the first region to be merged is less than a preset second threshold;

[0150] The encoding unit 404 is used to encode the data in the current merged area through a preset second encoding format, so as to transmit the data in the current merged area and the data in the partitions of all the partitions except the current merged area to the client based on the preset first encoding format and the preset second encoding format.

[0151] The cloud desktop encoding device provided by the present disclosure obtains the moving average frame rate of all partitions in the cloud desktop respectively, and compares the moving average frame rate with a preset first threshold; the data in all the partitions are encoded by a preset first encoding format; if there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold is determined as the first area to be merged; if there is a second area to be merged adjacent to the first area to be merged among all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions among all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold; the data in the current merged area is encoded by a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client. Compared with the related art, the embodiment of the present disclosure obtains the cloud desktop is divided into different partitions, and based on the moving average frame rate, the partitions are merged to obtain the current merged area. The data in the partition that does not belong to the current merged area is encoded using a preset first encoding format, and the data in the current merged area is encoded using a preset second encoding format. This achieves encoding of data in partitions with different moving average frame rates using different encoding formats, thereby reducing the risk of delays and freezes in the cloud desktop.

[0152] Furthermore, in a possible implementation of the embodiment of the present disclosure, as Figure 8 As shown, the device also includes:

[0153] The first determining unit 402 is further configured to, before merging the second region to be merged with the first region to be merged, determine the first partition as the second region to be merged when it is determined that the moving average frame rate difference between the first partition and the first region to be merged is less than the preset second threshold; the first partition is a partition adjacent to the first region to be merged among all the partitions;

[0154] The first determination unit 402 is also used to add a second partition adjacent to the second area to be merged to the second area to be merged until the second partition adjacent to the second area to be merged does not exist in all the partitions; the second partition is a partition among all the partitions except the first partition whose moving average frame rate difference with the first area to be merged is less than the preset second threshold.

[0155] Furthermore, in a possible implementation of the embodiment of the present disclosure, as Figure 8As shown, the device also includes:

[0156] The judging unit 405 is used to judge whether there is a historical merged area in all the partitions before determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged; the historical merged area is a merged area obtained by merging all the historical partitions in the cloud desktop; the data in the historical merged area is encoded using the preset second encoding format;

[0157] A first acquisition unit 406 is used to acquire a moving average frame rate of the historical merged area when it is determined that the historical merged area exists in all the partitions;

[0158] The restoration unit 407 is used to restore the historical merged area to at least one initial partition when the moving average frame rate of the historical merged area is less than or equal to the preset first threshold, and encode the data in the at least one initial partition using the preset first encoding format.

[0159] Furthermore, in a possible implementation of the embodiment of the present disclosure, as Figure 8 As shown, the device also includes:

[0160] The updating unit 408 is used to update the historical merged area to the current merged area after obtaining the moving average frame rate of the historical merged area, when the moving average frame rate of the historical merged area is greater than the preset first threshold, and stop the execution of determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged.

[0161] Furthermore, in a possible implementation of the embodiment of the present disclosure, as Figure 8 As shown, the device also includes:

[0162] The second acquisition unit 409 is used to acquire the resolution of the cloud desktop before acquiring the moving average frame rates of all partitions in the cloud desktop respectively; the resolution includes horizontal resolution and vertical resolution;

[0163] A second determining unit 410 is used to determine the maximum value of the horizontal resolution and the vertical resolution as the target resolution, and determine the direction of the target resolution of the cloud desktop as the partition direction;

[0164] A searching unit 411 is used to search for the target partition number of the target resolution according to a pre-established mapping relationship between the resolution and the partition number;

[0165] The partitioning unit 412 is used to partition the cloud desktop based on the target partition quantity and the partition direction to obtain at least two partitions.

[0166] Furthermore, in a possible implementation of the embodiment of the present disclosure, as Figure 8 As shown, the device also includes:

[0167] The third acquisition unit 413 is used to obtain the region boundary coordinates of the cloud desktop after encoding the data in the current merged region by a preset second encoding format; the region boundary coordinates include the first boundary coordinates of the current merged region and the second boundary coordinates of all the partitions except the current merged region;

[0168] The sending unit 414 is configured to send the first boundary coordinate and the second boundary coordinate to the client, so that the client partitions the display desktop of the client based on the first boundary coordinate and the second boundary coordinate.

[0169] Fig. 9 A schematic diagram of the structure of another cloud desktop encoding device provided in an embodiment of the present disclosure, wherein the device is applied to a client, such as Fig. 9 As shown, including:

[0170] The receiving unit 51 is used to receive the coded data sent by the server; the coded data includes first coded data encoded by the server using a preset first coding format and second coded data encoded by the server using a preset second coding format;

[0171] A first decoding unit 52, configured to decode the first encoded data using a preset first decoding format corresponding to a preset first encoding format;

[0172] The second decoding unit 53 is used to decode the second encoded data by using a preset second decoding format corresponding to a preset second encoding format.

[0173] The cloud desktop encoding device provided by the present disclosure obtains the moving average frame rate of all partitions in the cloud desktop respectively, and compares the moving average frame rate with a preset first threshold; the data in all the partitions are encoded by a preset first encoding format; if there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold is determined as the first area to be merged; if there is a second area to be merged adjacent to the first area to be merged among all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions among all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold; the data in the current merged area is encoded by a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client. Compared with the related art, the embodiment of the present disclosure obtains the cloud desktop is divided into different partitions, and based on the moving average frame rate, the partitions are merged to obtain the current merged area. The data in the partition that does not belong to the current merged area is encoded using a preset first encoding format, and the data in the current merged area is encoded using a preset second encoding format. This achieves encoding of data in partitions with different moving average frame rates using different encoding formats, thereby reducing the risk of delays and freezes in the cloud desktop.

[0174] Furthermore, in a possible implementation of the embodiment of the present disclosure, as Fig.10 As shown, the device also includes:

[0175] The receiving unit 51 is also used to receive the region boundary coordinates of the cloud desktop sent by the server before receiving the encoded data sent by the server; the region boundary coordinates include the first boundary coordinates of the current merged region and the second boundary coordinates of all partitions in the cloud desktop except the current merged region; the current merged region is a region merged based on the moving average frame rate of all partitions in the cloud desktop;

[0176] The partitioning unit 54 is used to divide the client's display desktop into partitions consistent with the partition results of the cloud desktop according to the first boundary coordinates and the second boundary coordinates; the partition results include the current merged area and all partitions in the cloud desktop except the current merged area.

[0177] Fig.11 A schematic diagram of a cloud desktop encoding system provided by an embodiment of the present disclosure, such as Fig.11 As shown, including:

[0178] Server 61, client 62. The server 61 is a device configured at the server, and the client 62 is a device configured at the client.

[0179] It should be noted that the above explanation of the method embodiment is also applicable to the device of the embodiment of the present disclosure, and the principle is the same, which is no longer limited in the embodiment of the present disclosure.

[0180] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0181] Fig.12 A schematic block diagram of an example electronic device 700 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0182] like Fig.12 As shown, the device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a ROM (Read-Only Memory) 702 or a computer program loaded from a storage unit 708 to a RAM (Random Access Memory) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An I / O (Input / Output) interface 705 is also connected to the bus 704.

[0183] A number of components in the device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0184] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a CPU (Central Processing Unit), a GPU (Graphic Processing Units), various dedicated AI (Artificial Intelligence) computing chips, various computing units running machine learning model algorithms, DSP (Digital Signal Processor), and any appropriate processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as the encoding method of the cloud desktop. For example, in some embodiments, the encoding method of the cloud desktop may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to execute the aforementioned cloud desktop encoding method in any other appropriate manner (eg, by means of firmware).

[0185] Various embodiments of the systems and techniques described above herein may be implemented in digital electronic circuit systems, integrated circuit systems, FPGAs (Field Programmable Gate Arrays), ASICs (Application-Specific Integrated Circuits), ASSPs (Application Specific Standard Products), SOCs (System On Chips), CPLDs (Complex Programmable Logic Devices), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include: being implemented in one or more computer programs that may be executed and / or interpreted on a programmable system including at least one programmable processor that may be a special purpose or general purpose programmable processor that may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0186] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0187] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a RAM, a ROM, an EPROM (Electrically Programmable Read-Only-Memory) or a flash memory, an optical fiber, a CD-ROM (Compact Dis sc Read-Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0188] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (Cathode-Ray Tube) or LCD (Liquid Crystal Display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball), through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0189] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: LAN (Local Area Network), WAN (Wide Area Network), the Internet, and blockchain networks.

[0190] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The server may also be a server of a distributed system, or a server combined with a blockchain.

[0191] It should be noted that artificial intelligence is a discipline that studies how computers can simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.), and includes both hardware-level and software-level technologies. Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, and big data processing; artificial intelligence software technologies mainly include computer vision technology, speech recognition technology, natural language processing technology, as well as machine learning / deep learning, big data processing technology, knowledge graph technology, and other major directions.

[0192] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0193] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A cloud desktop encoding method, characterized in that: The method is applied to the server, and includes: Respectively obtain the moving average frame rates of all partitions in the cloud desktop, and compare the moving average frame rates with a preset first threshold; the data in all partitions are encoded using a preset first encoding format; If there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, determining the partition corresponding to the maximum value among the moving average frame rates greater than the preset first threshold as the first area to be merged; If there is a second area to be merged adjacent to the first area to be merged in all the partitions, the second area to be merged is merged with the first area to be merged to obtain a current merged area; the second area to be merged is composed of two adjacent partitions in all the partitions whose moving average frame rate difference with the first area to be merged is less than a preset second threshold; The data in the current merged area is encoded using a preset second encoding format, so that based on the preset first encoding format and the preset second encoding format, the data in the current merged area and the data in the partitions of all the partitions except the current merged area are transmitted to the client.

2. The method according to claim 1, characterized in that Before merging the second to-be-merged area with the first to-be-merged area, the method further includes: When it is determined that the moving average frame rate difference between the first partition and the first area to be merged is less than the preset second threshold, the first partition is determined as the second area to be merged; the first partition is a partition adjacent to the first area to be merged among all the partitions; A second partition adjacent to the second area to be merged is added to the second area to be merged until the second partition adjacent to the second area to be merged does not exist in all the partitions; the second partition is a partition among all the partitions except the first partition whose moving average frame rate difference with the first area to be merged is less than the preset second threshold.

3. The method according to claim 1, characterized in that: Before determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged, the method further includes: Determine whether there is a historical merged area in all the partitions; the historical merged area is a merged area obtained by merging all the historical partitions in the cloud desktop; the data in the historical merged area is encoded using the preset second encoding format; When it is determined that the historical merged area exists in all the partitions, obtaining a moving average frame rate of the historical merged area; If the moving average frame rate of the historical merged area is less than or equal to the preset first threshold, the historical merged area is restored to at least one initial partition, and the data in the at least one initial partition is encoded using the preset first encoding format.

4. The method according to claim 3, characterized in that After obtaining the moving average frame rate of the historical merged area, the method further includes: If the moving average frame rate of the historical merged area is greater than the preset first threshold, the historical merged area is updated to the current merged area, and the execution of determining the partition corresponding to the maximum value of the moving average frame rate greater than the preset first threshold as the first area to be merged is stopped.

5. The method according to claim 1, characterized in that Before respectively obtaining the moving average frame rates of all partitions in the cloud desktop, the method further includes: Obtaining the resolution of the cloud desktop; the resolution includes horizontal resolution and vertical resolution; Determine the maximum value of the horizontal resolution and the vertical resolution as the target resolution, and determine the direction of the target resolution of the cloud desktop as the partition direction; According to a pre-established mapping relationship between resolution and number of partitions, searching for the target number of partitions of the target resolution; Based on the target partition quantity and the partition direction, the cloud desktop is partitioned to obtain at least two partitions.

6. The method according to claim 1, characterized in that After encoding the data in the current merged area using a preset second encoding format, the method further includes: Acquire the region boundary coordinates of the cloud desktop; the region boundary coordinates include the first boundary coordinates of the current merged region and the second boundary coordinates of all the partitions except the current merged region; The first boundary coordinate and the second boundary coordinate are sent to the client so that the client partitions the display desktop of the client based on the first boundary coordinate and the second boundary coordinate.

7. A cloud desktop encoding method, characterized in that: The method is applied to a client and includes: Receiving the encoded data sent by the server; the encoded data includes first encoded data encoded by the server using a preset first encoding format and second encoded data encoded by the server using a preset second encoding format; Decoding the first encoded data using a preset first decoding format corresponding to a preset first encoding format; The second encoded data is decoded using a preset second decoding format corresponding to the preset second encoding format.

8. The method according to claim 7, characterized in that Before receiving the encoded data sent by the server, the method further includes: Receive the region boundary coordinates of the cloud desktop sent by the server; the region boundary coordinates include the first boundary coordinates of the current merged region and the second boundary coordinates of all partitions in the cloud desktop except the current merged region; the current merged region is a region merged based on the moving average frame rate of all partitions in the cloud desktop; According to the first boundary coordinates and the second boundary coordinates, the display desktop of the client is divided into partitions consistent with the partition results of the cloud desktop; the partition results include the current merged area and all partitions in the cloud desktop except the current merged area.

9. A cloud desktop encoding device, characterized in that: The device is applied to a server, and includes: A comparison unit, used to respectively obtain the moving average frame rates of all partitions in the cloud desktop, and compare the moving average frame rates with a preset first threshold; the data in all partitions are encoded using a preset first encoding format; A first determining unit is configured to, when there is a moving average frame rate greater than the preset first threshold among the moving average frame rates, determine a partition corresponding to a maximum value among the moving average frame rates greater than the preset first threshold as a first area to be merged; a merging unit, configured to merge the second region to be merged with the first region to be merged to obtain a current merged region when there is a second region to be merged adjacent to the first region to be merged in all the partitions; the second region to be merged is composed of two adjacent partitions in all the partitions whose moving average frame rate difference with the first region to be merged is less than a preset second threshold; The encoding unit is used to encode the data in the current merged area by a preset second encoding format, so as to transmit the data in the current merged area and the data in the partitions of all the partitions except the current merged area to the client based on the preset first encoding format and the preset second encoding format.

10. A cloud desktop encoding device, characterized in that: The device is applied to a client and includes: A receiving unit, configured to receive the coded data sent by the server; the coded data includes first coded data coded by the server using a preset first coding format and second coded data coded by the server using a preset second coding format; A first decoding unit, configured to decode the first encoded data using a preset first decoding format corresponding to a preset first encoding format; The second decoding unit is used to decode the second encoded data by using a preset second decoding format corresponding to a preset second encoding format.

11. A cloud desktop encoding system, characterized in that: The system includes a server and a client, including: The server includes the encoding device of the cloud desktop as claimed in claim 9; The client includes the encoding device of the cloud desktop as described in claim 10.

12. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in any one of claims 1 to 6 or the method described in claims 7 to 8.

13. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-6 or the method according to claims 7-8.

14. A computer program product, characterized in that The method comprises a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 6 or the method according to claims 7 to 8.

Citation Information

Patent Citations

  • Image transmission method, cloud desktop, image transmission system, device and product

    CN115767092A

  • Cloud desktop display method, image display method, equipment and storage medium

    CN116668741A

  • Image processing method and device, electronic equipment and storage medium

    CN118264664A

  • Image display method and apparatus, and storage medium and electronic apparatus

    WO2023045364A1

  • Cloud desktop image processing method, image processing method, device, and storage medium

    WO2024094077A1