CN114675914A - Image transmission method and device of virtual desktop, electronic equipment and storage medium - Google Patents

Image transmission method and device of virtual desktop, electronic equipment and storage medium Download PDF

Info

Publication number
CN114675914A
CN114675914A CN202210128490.8A CN202210128490A CN114675914A CN 114675914 A CN114675914 A CN 114675914A CN 202210128490 A CN202210128490 A CN 202210128490A CN 114675914 A CN114675914 A CN 114675914A
Authority
CN
China
Prior art keywords
desktop
picture
virtual desktop
virtual
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210128490.8A
Other languages
Chinese (zh)
Other versions
CN114675914B (en
Inventor
戴龙剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202210128490.8A priority Critical patent/CN114675914B/en
Publication of CN114675914A publication Critical patent/CN114675914A/en
Application granted granted Critical
Publication of CN114675914B publication Critical patent/CN114675914B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay

Abstract

The application relates to the technical field of virtual desktops, and discloses an image transmission method and device of a virtual desktop, electronic equipment and a storage medium, wherein the method comprises the following steps: transmitting drawing data of the virtual desktop to a target physical graphic processor; the target physical graphics processor is a physical graphics processor allocated for the target virtual machine; rendering is carried out by the target physical graphic processor according to the drawing data to obtain a desktop image of the virtual desktop; acquiring a difference area picture of a desktop image of the virtual desktop relative to a last desktop image of the virtual desktop; and sending the cursor information of the difference area picture and the virtual desktop to the client so that the client displays the desktop image of the virtual desktop according to the picture instruction. The scheme can realize the multiplexing of the SPICE protocol in a 3D virtual machine scene.

Description

Image transmission method and device of virtual desktop, electronic equipment and storage medium
Technical Field
The present application relates to the field of virtual desktop technologies, and in particular, to an image transmission method and apparatus for a virtual desktop, an electronic device, and a storage medium.
Background
Virtual desktop transport protocols, such as SPICE protocol, are widely applied to virtual desktop systems in 2D virtual machine scenes, and with the improvement of requirements on display fluency of virtual desktops, it is proposed to add physical display cards in virtual machines. However, in practice, it is found that the 3D virtual machine adds a physical graphics card, which causes the failure of the original virtual graphics card, resulting in the complete failure of the SPICE display protocol.
In the related art, in order to normally display a virtual desktop in a 3D virtual machine scene, another display protocol completely separated from the spice protocol is used in the virtual machine, and a coded picture is transmitted to a client through a virtual machine network in the virtual machine, and the client decodes the coded data. This approach results in high deployment and maintenance costs due to the need to re-deploy other display protocols. Therefore, how to multiplex the SPICE protocol in a 3D virtual machine scene is a technical problem to be solved urgently in the related art.
Disclosure of Invention
In view of the foregoing problems, embodiments of the present application provide an image transmission method and apparatus for a virtual desktop, an electronic device, and a storage medium, so as to improve the foregoing problems.
According to an aspect of an embodiment of the present application, there is provided an image transmission method for a virtual desktop, the method including: transmitting drawing data of the virtual desktop to a target physical graphic processor; the target physical graphic processor is a physical graphic processor distributed for a target virtual machine corresponding to the virtual desktop; rendering by the target physical graphic processor according to the drawing data to obtain a desktop image of the virtual desktop; acquiring a difference area picture of a desktop image of the virtual desktop relative to a last desktop image of the virtual desktop; and sending the difference area picture and the cursor information of the virtual desktop to a client so that the client displays a desktop image of the virtual desktop according to the difference area picture and the cursor information of the virtual desktop.
In some embodiments, before sending the difference region picture and the cursor information of the virtual desktop to the client, the method further comprises: performing compression coding on the difference region picture; encoding the cursor information; in this embodiment, the sending the cursor information of the difference area picture and the virtual desktop to the client includes: and sending the compressed and coded difference region picture and the coded cursor information to a client.
In some embodiments, the compression encoding the difference region picture comprises: carrying out picture segmentation on the picture of the difference region to obtain a plurality of blocks; identifying the type of each block, and determining the picture category of each block; and carrying out compression coding on the corresponding blocks according to the corresponding relation between the picture type and the compression mode corresponding to the picture type.
In some embodiments, the performing type identification on each of the blocks and determining a picture category to which each of the blocks belongs includes: extracting the color category number of each block and the color histogram of each block; and determining the picture category to which each block belongs according to the color category number of each block and the color histogram of each block.
In some embodiments, the picture categories include a text category and a natural picture category.
In some embodiments, after obtaining the difference region picture of the desktop image of the virtual desktop relative to the last desktop image of the virtual desktop, the method further includes: packaging the difference area picture and the cursor information of the virtual desktop into a two-dimensional picture instruction; temporarily storing the two-dimensional image instruction into an instruction ring; in this embodiment, before sending the difference region picture and the cursor information of the virtual desktop to the client, the method further includes: and acquiring the two-dimensional picture instruction from the instruction ring.
In some embodiments, the obtaining a difference region picture of a desktop image of the virtual desktop relative to a previous desktop image of the virtual desktop includes: calling a screen interface to obtain a desktop image of the virtual desktop; if the virtual desktop is determined to change relative to the last desktop image according to the desktop image of the virtual desktop, triggering and calling a desktop copying interface, wherein the desktop copying interface is used for calling a screen capture interface; and calling the screen capture interface to obtain a difference area picture of the desktop image of the virtual desktop relative to the last desktop image of the virtual desktop.
According to an aspect of an embodiment of the present application, there is provided an image transmission apparatus of a virtual desktop, including: the transmission module is used for transmitting the drawing data of the virtual desktop to the target physical graphic processor; the target physical graphic processor is a physical graphic processor distributed for a target virtual machine corresponding to the virtual desktop; the rendering module is used for rendering by the target physical graphic processor according to the drawing data to obtain a desktop image of the virtual desktop; the acquisition module is used for acquiring a difference area picture of a desktop image of the virtual desktop relative to a last desktop image of the virtual desktop; and the sending module is used for sending the difference area picture and the cursor information of the virtual desktop to a client so that the E client displays a desktop image of the virtual desktop according to the difference area picture and the cursor information of the virtual desktop.
In some embodiments, the image transmission apparatus of the virtual desktop further includes: a compression coding module, configured to perform compression coding on the difference region picture; the coding module is used for coding the cursor information; in this embodiment, the sending module is further configured to: and sending the compressed and coded difference region picture and the coded cursor information to a client.
In some embodiments, a compression encoding module comprises: a dividing unit, configured to perform picture division on the difference region picture to obtain a plurality of blocks; the type identification unit is used for carrying out type identification on each block and determining the picture category to which each block belongs; and the compression coding unit is used for carrying out compression coding on the corresponding blocks according to the corresponding relation between the picture types and the compression modes corresponding to the picture types.
In some embodiments, the type identifying unit includes: an extracting unit, configured to extract the number of color types of each of the blocks and a color histogram of each of the blocks; and the picture category determining unit is used for determining the picture category to which each block belongs according to the color category number of each block and the color histogram of each block.
In some embodiments, the picture categories include a text category and a natural picture category.
In some embodiments, the image transmission apparatus of the virtual desktop further includes: the packaging module is used for packaging the difference area picture and the cursor information of the virtual desktop into a two-dimensional picture instruction; the temporary storage module is used for temporarily storing the two-dimensional image instruction into an instruction ring; and the acquisition module is used for acquiring the two-dimensional picture instruction from the instruction ring.
In some embodiments, the obtaining module comprises: the first calling unit is used for calling a screen interface to obtain a desktop image of the virtual desktop; the second calling unit is used for triggering and calling a desktop copying interface if the virtual desktop is determined to change relative to the last desktop image according to the desktop image of the virtual desktop, and the desktop copying interface is used for calling a screen capture interface; and the third calling unit is used for calling the screen capture interface to obtain a difference area picture of the desktop image of the virtual desktop relative to the last desktop image of the virtual desktop.
According to an aspect of an embodiment of the present application, there is provided an electronic device including: a processor; a memory having computer readable instructions stored thereon which, when executed by the processor, implement the image transmission method of the virtual desktop as described above.
According to an aspect of embodiments of the present application, there is provided a computer-readable storage medium having stored thereon computer-readable instructions which, when executed by a processor, implement an image transmission method of a virtual desktop as described above.
In the application, the drawing data of the virtual desktop is transmitted to the target physical graphic processor, the target physical graphic processor performs rendering, the difference area picture of the virtual desktop is captured, and the difference area picture and the cursor information are sent to the client, so that the client can display the desktop image of the virtual desktop according to the difference area picture and the cursor information, and the image transmission of the virtual desktop is realized.
In addition, in the scheme of the application, the QXL driver in the virtual machine is changed, so that the QXL driver does not need to be rendered in a 2D virtual scene and is used as a transmission channel, an SPICE protocol is multiplexed in a 3D virtual machine scene to transmit the image of the virtual desktop, and the SPICE client and the SPICE server do not need to be changed in the situation, so that the scheme of the application is low in maintenance cost and can be widely applied to the 3D virtual machine scene.
In addition, in the application, the difference area picture of the virtual desktop is intercepted, and only the picture area with the difference (namely the difference area picture) is transmitted in the picture transmission process, and the complete desktop image of the virtual desktop is not required to be transmitted, so that the data transmission pressure is reduced, the bandwidth required by image transmission is reduced, and the picture transmission rate can be improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application. It is obvious that the drawings in the following description are only some embodiments of the application, and that for a person skilled in the art, other drawings can be derived from them without inventive effort.
Fig. 1 is an architecture diagram of a virtual desktop system based on SPICE protocol, which may be applied in a 3D virtual machine scene according to an embodiment of the present application.
Fig. 2 is a flowchart illustrating an image transmission method of a virtual desktop according to an embodiment of the present application.
Fig. 3A shows an interaction diagram of a virtual machine and a graphics card in a 2D virtual machine scene.
Fig. 3B shows an interaction diagram of a virtual machine and a graphics card in a 3D virtual scene according to the present scheme.
Fig. 4 is a flow chart illustrating a screen capture by the VDDisplay screen capture service according to an embodiment of the present application.
Fig. 5 is a schematic diagram illustrating interaction between a virtual machine screenshot process and a SPICE server according to an embodiment of the present application.
Fig. 6 is a flowchart illustrating steps of performing compression encoding on a picture of a disparity area in the two-dimensional picture instruction by a SPICE server according to an embodiment of the present application.
FIG. 7 is a block diagram illustrating an image transmission apparatus of a virtual desktop, according to one embodiment.
Fig. 8 is a block diagram illustrating a structure of an electronic device according to an embodiment of the application.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the application. One skilled in the relevant art will recognize, however, that the subject matter of the present application can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known methods, devices, implementations, or operations have not been shown or described in detail to avoid obscuring aspects of the application.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and operations/steps, nor do they necessarily have to be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
It should be noted that: reference herein to "a plurality" means two or more. "and/or" describe the association relationship of the associated objects, meaning that there may be three relationships, e.g., A and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
Before making the detailed description, terms referred to in the present application are explained as follows:
VDI: virtual Desktop Infrastructure, the Virtual Desktop Infrastructure. Instead of configuring each user with a desktop running a Windows system, the desktop is virtualized by running the Windows system on a server in the data center. The user connects to the virtual desktop via a client computing protocol from a terminal device (client or home computer) and accesses the virtual desktop as if accessing a traditional locally installed desktop.
SPICE: simple Protocol for Independent Computing Environment, which is an open source virtualization desktop transmission Protocol developed by Redhat enterprise and based on KVM virtual machine.
2D virtual machine (also called 2D virtual machine): the virtual GPU is a virtual GPU used without using a Graphics Processing Unit (GPU, also called a Graphics card), and is simulated by a Central Processing Unit (CPU). In the 2D virtual machine, a virtual GPU (also called a virtual graphics card) is used to render a picture completely.
3D virtual machine (also known as 3D virtual machine): the virtual machine adopts the virtualization of a physical graphic processor (also called a physical display card) or the transparent transmission of the physical display card, so that the physical display card can be sensed in the virtual machine, and the virtual machine can be used for rendering pictures for partial scenes by using the physical display card.
WDDM: windows Display Driver Model, Microsoft graphics Driver Model, in Windows graphics system, WDDM provides a software framework in kernel mode to support the implementation of GPU kernel Driver, and exposes standard system call interface for user mode Driver and application program to call and complete graphics/Display related functions.
The SPICE protocol is widely applied to a virtual desktop system in a 2D virtual machine scene, and with the improvement of the requirement on the display fluency of the virtual desktop, the addition of a physical display card in the virtual machine is provided. However, in practice, it is found that the 3D virtual machine adds a physical graphics card, which causes the failure of the original virtual graphics card, resulting in the complete failure of the SPICE display protocol.
In the related art, in order to normally display a virtual desktop in a 3D virtual machine scene, another display protocol completely separated from the spice protocol is adopted in the virtual machine, and an encoded picture is transmitted to a client through a virtual machine network in the virtual machine, and the client decodes encoded data. This approach results in high deployment and maintenance costs due to the need to redeploy other display protocols. Therefore, how to multiplex the SPICE protocol in a 3D virtual machine scene is a technical problem to be solved urgently in the related art.
Fig. 1 is an architecture diagram of a virtual desktop system based on SPICE protocol, which may be applied in a 3D virtual machine scene according to an embodiment of the present application. As shown in FIG. 1, the virtual desktop system includes a client layer 110, a host layer 120, and a virtual machine layer 130.
SPICE client 110 is deployed at client layer 110. The SPICE client runs on the terminal equipment, provides a desktop environment for a user, and is responsible for receiving and processing data sent by the SPICE server and sending the data to the SPICE server.
SPICE Server (SPICE Server) and QXL devices are deployed at the host layer 120. The SPICE Server (SPICE Server) exists in a management program of an underlying layer responsible for virtual machine sharing in the form of a dynamic link library, such as QEMU, and communicates with the SPICE client through SPICE protocol.
Virtual machine layer 130 is configured to provide a virtual desktop, and virtual machine layer 130 may deploy one or more virtual machines, where each virtual machine may run an operating system thereon, and one virtual machine may be associated with one SPICE client 110, so that, when SPICE client 110 logs in, virtual desktop services are provided through the virtual machine associated with SPICE client 110.
Specifically, as shown in fig. 1, the virtual machine layer 130 deploys a screenshot service (VDDisplayService) which is used for performing screenshot on the virtual desktop, and obtaining a screenshot of the virtual desktop and cursor information of a cursor in the virtual desktop. Then, the modified QXL driver of the screenshot (the screenshot can be a difference area screen hereinafter) and the cursor information is transmitted to a QXL device of the host layer, and the QXL device transmits the screenshot and the cursor information to the SPICE server. The QXL device is responsible for providing a virtual display card for the virtual machine, and comprises basic functions of the display card such as address mapping, IO port mapping, display memory area updating and cursor position notification of a ROM (read only memory), an RAM (random access memory) and the like of the initialized display card, and meanwhile, the back end of the QXL device is responsible for interacting with an SPICE (simulation program with Integrated Circuit) service end, so that the display of a virtual desktop at a terminal is realized.
The QXL device is provided with an instruction ring which is used as an intermediary for information transmission, and the QXL driver can temporarily store the screenshot and the cursor information in the instruction ring, so that the SPICE server can acquire the screenshot and the cursor information from the instruction ring. The cursor information may include position information of the cursor, shape information of the cursor, and hidden state information of the cursor, which indicates whether the cursor is hidden.
Further, in the present application, a physical graphics card and a graphics kernel system module are provided in the virtual machine layer, and the graphics kernel system module may be dxgkrnl.sys provided by a Windows system (hereinafter, DXGK module). The graphic kernel system module can interact with the physical display card, and when graphics are required to be drawn, a graphic interface provided by the physical display card is called through the graphic kernel system module, and the physical display card is called to perform image rendering.
As shown in fig. 1, a graphics kernel system module calls a physical graphics card to render an image, so as to obtain a desktop image of a virtual desktop and cursor information on the virtual desktop, and then, based on the rendered desktop image and cursor information, a screen capture service may start screen capture.
Also provided in virtual machine layer 130 is an Agent (which may be referred to as SPICE VDI Agent, or VDI Agent), which is a software module in the virtual machine layer, and in the virtual desktop system, SPICE server and SPICE client use the Agent to perform a series of actions inside the virtual machine, such as setting a virtual machine display configuration, etc. It is understood that in the virtual desktop system, the message formats for interaction between the SPICE server, SPICE client and agent all follow SPICE protocol.
The virtual desktop system shown in fig. 1 can be obtained by improving a virtual desktop system based on the SPICE protocol in a 2D virtual machine scene, so that the SPICE protocol can be multiplexed in a 3D virtual machine scene. Firstly, a physical display card is deployed on a virtual machine layer in a virtual desktop system based on an SPICE protocol in a 2D virtual machine scene, and QXL drive of the virtual machine layer is changed, so that the changed QXL drive does not need to perform image rendering, but sends drawing data to the physical display card, and the physical display card performs image rendering. Through the two-point modification, the SPICE protocol originally suitable for the 2D virtual machine scene can be multiplexed to the 3D virtual machine scene, and the SPICE server and the SPICE client in the virtual desktop system do not need to be modified.
In a specific embodiment, the host layer 120 and the virtual machine layer 130 may be deployed in a server providing a virtual desktop service, where the server may be a physical server or a cloud server, and is not limited in this respect.
The implementation details of the technical solution of the embodiment of the present application are set forth in detail below:
fig. 2 is a flowchart illustrating an image transmission method of a virtual desktop according to an embodiment of the present application, where the method may be executed by a computer device with processing capability, such as a server, where the server may be a physical server or a cloud server, and is not limited in this respect. Referring to fig. 2, the method includes at least steps 210 to 240, which are described in detail as follows:
step 210, transmitting the drawing data of the virtual desktop to a target physical graphic processor; the target physical graphics processor is a physical graphics processor allocated for a target virtual machine corresponding to the virtual desktop.
In the present application, one or more physical graphics processors may be deployed in a virtual layer, where one physical graphics processor in the virtual layer may be allocated to one virtual machine. In other embodiments, to increase the utilization of physical graphics processors, one physical graphics processor may also be virtualized into multiple virtual graphics processors, such that one virtual graphics processor may be assigned to one virtual machine. It is understood that, in the case where the virtual graphics processor is obtained by virtualizing a physical graphics processor, although the virtual graphics processor is allocated to the virtual machine, the physical graphics processor actually performs the rendering process. The target virtual machine refers to a virtual machine corresponding to a virtual desktop connected by a user.
After a client (e.g., SPICE client) of a virtual desktop application initiates a virtual desktop login request, a server searches for a virtual machine corresponding to a virtual desktop identifier according to the virtual desktop identifier carried by the virtual desktop login request, so that a communication connection between the client and the virtual machine is established, and the virtual machine can provide a virtual desktop for a user to use.
Specifically, the drawing data of the virtual desktop may be transferred to the target physical graphics processor through an operating system in the target virtual machine.
And step 220, rendering by the target physical graphic processor according to the drawing data to obtain a desktop image of the virtual desktop.
In a 2D virtual machine scenario, since no physical graphics processor is deployed in the virtual machine layer, a virtual graphics processor is obtained by virtualizing the CPU, in which case desktop image acquisition, rendering, and transmission are performed driven by QXL in the virtual machine. In the scheme, the physical image processor is deployed in the virtual machine layer, and the QXL driver in the virtual machine layer is changed, so that the QXL driver is used as a transmission channel for picture transmission, and the physical image processor performs rendering.
Fig. 3A shows an interaction diagram of a virtual machine and a graphics card in a 2D virtual machine scene. It is understood that, in fig. 3A, the graphics card is a virtual graphics card simulated by the CPU. In a 2D virtual scene, a QXL driver is a WDDM Display Only driver, rendering is completed by a virtual machine at a system level, and a DXGK module calls a QXL driver registered interface to realize various functions such as displayed pictures and the like at a QXL driver level.
Fig. 3B shows an interaction schematic diagram of a virtual machine and a display card in the 3D virtual scene, where it can be understood that, in fig. 3B, the display card is a physical display card. In the 3D virtual machine, the QXL driver is not used as a display card but as a transmission channel, so that WDDM does not need to be related, and the QXL driver is directly programmed to be hung and is in interface with a QXL device level.
Step 230, a difference area picture of the desktop image of the virtual desktop relative to the previous desktop image of the virtual desktop is obtained.
In a virtual desktop scene, the virtual machine performs virtual desktop rendering according to a preset frame rate, and a desktop image of the virtual desktop can be correspondingly obtained in each rendering.
The difference area picture refers to a picture area which is different from a previous desktop image of the virtual desktop in a current desktop image of the virtual desktop. In some embodiments, a windows screenshot framework (i.e., Desktop duplicate API framework) may be used by the VDDisplay process for screen capture to obtain a difference region view of the Desktop image of the virtual Desktop relative to a previous Desktop image of the virtual Desktop.
In some embodiments, step 230, comprises: calling a screen interface to obtain a desktop image of the virtual desktop; if the virtual desktop is determined to change relative to the last desktop image according to the desktop image of the virtual desktop, triggering and calling a desktop copying interface, wherein the desktop copying interface is used for calling a screen capture interface; and calling a screen capture interface to obtain a difference area picture of the desktop image of the virtual desktop relative to the last desktop image of the virtual desktop.
The screen interface is used for outputting desktop images of the virtual desktop. Each output of the screen interface represents a screen. In a specific embodiment, in order to perform screen capture, a screen capture process is bound to the current virtual desktop, and then the output of the screen interface in the physical image processor may be traversed to obtain a desktop image of the virtual desktop.
Fig. 4 is a flowchart illustrating a screen capture by the VDDisplay screen capture service according to an embodiment of the application. As shown in fig. 4, before the Desktop replication API is called, the screenshot process is bound to the current virtual Desktop, and then an IDXGIOutput interface is called, which is a screen interface; and then, if the virtual desktop is determined to be changed relative to the last desktop image according to the desktop image of the virtual desktop, triggering and calling an IDXGIOUTPUT1 interface, wherein the IDXGIOUTPUT1 interface is a desktop replication interface and correspondingly calls an IDXGIOUTPUTdupling interface, the IDXGIOUTPUTdupling interface is a screen capture interface, and outputting a difference area picture of the desktop image of the virtual desktop relative to the last desktop image of the virtual desktop through the screen capture interface.
In this embodiment, when it is determined that the virtual desktop changes from the previous desktop image, the desktop copying interface is triggered and called, so as to activate the screen capture, otherwise, if the virtual desktop does not change from the previous desktop image, the desktop copying interface is in a waiting state, so that performance waste can be reduced.
In some embodiments, the screenshot interface outputs cursor information for the virtual desktop in addition to the delta region picture, e.g., the idxgioutputdupling interface described above may output the delta region picture and cursor information. The cursor information includes position information of the cursor, shape information of the cursor, and hidden state information of the cursor, which indicates whether the cursor is hidden.
And 240, sending the difference area picture and the cursor information of the virtual desktop to the client, so that the client displays the desktop image of the virtual desktop according to the difference area picture and the cursor information of the virtual desktop.
Under the SPICE protocol, information transfer can be performed through an instruction loop (i.e., a QXL instruction loop). In this scenario, after step 230, the method further comprises: packaging the difference area picture and the cursor information of the virtual desktop into a two-dimensional picture instruction; temporarily storing the two-dimensional image instruction into an instruction ring; in this example, prior to step 250, the method further comprises: acquiring a two-dimensional picture instruction from an instruction ring; further, the cursor information of the difference area picture and the virtual desktop can be obtained from the two-dimensional picture command, and the cursor information of the difference area picture and the virtual desktop is sent to the client.
Specifically, the cursor information of the difference area picture and the virtual desktop can be packaged into a two-dimensional picture instruction through QXL driving, and the two-dimensional picture instruction is temporarily stored in a QXL instruction ring. After the two-dimensional picture instruction is sent to the client, the client can display the desktop image of the virtual desktop according to the difference area picture and the cursor information. Wherein, the cursor information of the difference area picture and the virtual desktop can be sent to the client based on SPICE protocol.
In the application, the drawing data of the virtual desktop is transmitted to the target physical graphic processor, the target physical graphic processor performs rendering, the difference area picture of the virtual desktop is captured, and the difference area picture and the cursor information are sent to the client, so that the client can display the desktop image of the virtual desktop according to the difference area picture and the cursor information, and the image transmission of the virtual desktop is realized. Therefore, the method realizes the multiplexing of the SPICE protocol under the 3D virtual machine scene to carry out the image transmission of the virtual desktop.
In addition, in the scheme of the application, the QXL drive in the virtual machine is modified, so that the QXL drive does not need to be rendered as in a 2D virtual scene, and is used as a transmission channel to multiplex the SPICE protocol in a 3D virtual machine scene to perform image transmission of the virtual desktop. Under the condition, the SPICE client side and the SPICE server side do not need to be changed, so that the scheme is low in maintenance cost and can be widely applied to a 3D virtual machine scene. The scheme can realize seamless butt joint of win 103D virtual machine and SPICE protocol by changing the virtual machine layer (namely changing QXL drive).
In addition, in the application, the difference area picture of the virtual desktop is intercepted, and only the picture area with the difference (namely the difference area picture) is transmitted in the picture transmission process, and the complete desktop image of the virtual desktop is not required to be transmitted, so that the data transmission pressure is reduced, and the picture transmission rate can be improved.
Fig. 5 is a schematic diagram illustrating interaction between a virtual machine screen capture process and a SPICE server according to an embodiment of the application. As shown in fig. 5, in the output of the screen capture interface in the screen capture process is sent to the QXL driver, the difference area picture and the cursor information are packaged into a two-dimensional picture instruction by the QXL driver, wherein the two-dimensional picture instruction is a QXL instruction which is consistent with the QXL instruction in the 2D virtual scene. Then, the two-dimensional picture instruction is temporarily stored in the shared QXL instruction ring, and then the SPICE service end can acquire the two-dimensional picture instruction from the QXL instruction ring.
In some embodiments, prior to step 240, the method further comprises: carrying out compression coding on the difference region picture; encoding cursor information; in this embodiment, step 240 includes: and sending the compressed and coded difference region picture and the coded cursor information to a client.
Under the SPICE protocol, after the SPICE server acquires the two-dimensional image instruction to be sent from the instruction ring, the difference area image and the cursor information are acquired from the two-dimensional image instruction, and then the SPICE server can compress and code the difference area image and code the cursor information.
After the difference region picture after compression coding and the cursor information after coding are sent to the SPICE client side according to the SPICE protocol, the SPICE client side correspondingly decodes and renders the instruction according to the SPICE protocol and correspondingly displays the desktop image of the virtual desktop.
In some embodiments, as shown in fig. 6, the step of compression encoding the difference region picture comprises:
step 610, performing picture segmentation on the difference region picture to obtain a plurality of blocks.
In some embodiments, a block size may be preset, and in step 610, the difference region picture is divided into non-overlapping blocks of 16 × 16 size, for example. The size of the block may be set according to actual needs, and is not particularly limited herein.
And step 620, identifying the type of each block, and determining the picture category to which each block belongs.
In some embodiments, the picture categories include a text category and a natural picture category. The picture category is a text type block, and the presented content may be a text or a table. The picture category is a natural picture type of segment, and the presented content may be a colorful image (e.g., a landscape picture, a portrait picture, a video picture, etc.).
In some embodiments, image feature extraction may be performed on each block, and type recognition may be performed according to the extracted image feature to determine a picture type to which each block belongs. The image features may be a color histogram, a number of color types, and the like. The extracted image features may be color features, texture features, color histograms, image semantic features, and the like, and are not limited in this respect.
In some embodiments, step 620 comprises: extracting the color category number of each block and the color histogram of each block; and determining the picture category to which each block belongs according to the color category number of each block and the color histogram of each block.
Generally, the color of the blocks of the text category is simple, and the texture changes violently, while the color of the blocks of the natural picture category is rich, and the texture changes gently. Also, the color histogram distribution of the blocks of the text category is in a discrete state, while the color histogram distribution of the blocks of the natural picture category is in a continuous state. The color histogram describes the proportion of different colors in the whole block, and does not concern the spatial position of each color.
In view of this, the partitions may be type-identified according to the color features and the color histogram distribution features, and the picture class to which each partition belongs may be determined.
In some embodiments, the color type range and the color histogram parameter range corresponding to each of the two picture categories may be set separately, so that after the color histogram of the partition is determined, the color histogram parameter corresponding to the partition may be calculated correspondingly, and further, the color type range to which the color type number of the partition belongs and the color histogram parameter range to which the color histogram parameter corresponding to the partition belongs are determined to determine the picture category to which the partition belongs.
In a specific embodiment, the color histogram parameter may be one or more of a histogram mean (i.e., a mean of proportions corresponding to all colors in a block), a histogram maximum, a histogram minimum, a histogram variance, a histogram designated quantile, and the like, and is not particularly limited herein.
In some embodiments, the picture category to which the block belongs may also be determined by a type recognition model constructed based on a neural network. Specifically, the blocks are input into a type recognition model, the image features of the blocks are extracted by the type recognition model, prediction is performed according to the image features, and the picture category to which the blocks belong is output. The type recognition model may be constructed by a convolutional neural network, a fully-connected neural network, a feed-forward neural network, a fully-connected neural network, etc., and is not particularly limited herein.
It can be understood that, in order to ensure the accuracy of the type recognition model for the picture category output by the block, the type recognition model needs to be trained in advance through a plurality of training samples. The training sample comprises a sample block serving as a sample and label information corresponding to the sample block, wherein the label information is used for indicating an actual picture category to which the sample block belongs. And then, inputting the sample blocks into a type identification model, extracting image features of the sample blocks by the type identification model, outputting the prediction picture types corresponding to the sample blocks on the basis of the extracted image features, reversely adjusting parameters of the type identification model if the prediction picture types corresponding to the output sample blocks are different from the actual picture types to which the sample blocks belong, and re-predicting the prediction picture types corresponding to the samples by the type identification model after adjusting the parameters. When the training end condition is reached, the training of the type recognition model may be ended. Through the training process, the type recognition model can learn the capability of accurately predicting the picture category to which the block belongs, so that the accuracy of predicting the picture category for the block by the type recognition model is ensured.
Step 630, according to the corresponding relationship between the picture type and the compression mode, and according to the compression mode corresponding to the picture type, performing compression coding on the corresponding block.
In some embodiments, the compression encoding mode corresponding to the text type may be a lossless compression encoding mode, such as QUIC, GLZ, LZ, and the like, and the compression encoding mode corresponding to the natural picture type may be a lossy compression encoding mode, such as LZ, h.264 compression encoding mode.
In this embodiment, the blocks are compressed and encoded according to the compression encoding mode corresponding to the picture category to which the blocks belong, a lossy compression encoding mode is adopted for the blocks of the natural picture category with rich colors, and a lossless compression encoding mode is adopted for the blocks of the text category with single color, so that the problems of picture distortion and color change caused by the lossless compression encoding mode adopted for the blocks of the text category can be avoided; for colorful natural picture type blocks, a lossy compression coding mode is adopted, even if partial colors in the blocks are lost in the lossy compression coding process, human eyes cannot perceive the partial colors, and therefore on the basis of reducing data transmission quantity, the display effect of a virtual desktop in the SPICE server side can be guaranteed.
Moreover, in the application, the SPICE protocol is multiplexed under the 3D virtual machine scene, and the display of the startup picture of the virtual desktop can be ensured. In the virtual desktop system under the SPICE protocol, a virtual machine and an SPICE server side run independently, and when the virtual machine is not started, a hardware can be simulated at the SPICE server side based on the SPICE protocol, so that a starting picture of the virtual desktop is presented. Therefore, the problem that the startup picture of the virtual desktop cannot be displayed due to the fact that other protocols except the SPICE protocol are adopted in the 3D virtual machine scene in the prior art can be solved.
Embodiments of the apparatus of the present application are described below, which may be used to perform the methods of the above-described embodiments of the present application. For details which are not disclosed in the embodiments of the apparatus of the present application, reference is made to the embodiments of the method described above in the present application.
Fig. 7 is a block diagram illustrating an image transmission apparatus of a virtual desktop according to an embodiment, as shown in fig. 7, the image transmission apparatus of the virtual desktop includes: a transfer module 710 for transferring drawing data of the virtual desktop to the target physical graphics processor through the QXL driver in the target virtual machine; the target physical graphic processor is a physical graphic processor distributed for a target virtual machine corresponding to the virtual desktop; a rendering module 720, configured to perform rendering by the target physical graphics processor according to the drawing data to obtain a desktop image of the virtual desktop; an obtaining module 730, configured to obtain a difference area picture of a desktop image of the virtual desktop relative to a previous desktop image of the virtual desktop; a sending module 740, configured to send the cursor information of the difference area picture and the virtual desktop to the SPICE client, so that the client displays a desktop image of the virtual desktop according to the difference area picture and the cursor information of the virtual desktop.
In some embodiments, the image transmission apparatus of the virtual desktop further includes: the compression coding module is used for carrying out compression coding on the difference region picture;
the encoding module is used for encoding the cursor information; in this embodiment, the sending module 740 is further configured to: and sending the compressed and coded difference region picture and the coded cursor information to a client.
In some embodiments, a compression encoding module comprises: the dividing unit is used for carrying out picture division on the picture of the difference area to obtain a plurality of blocks; the type identification unit is used for identifying the type of each block and determining the picture category to which each block belongs; and the compression coding unit is used for carrying out compression coding on the corresponding blocks according to the corresponding relation between the picture types and the compression modes corresponding to the picture types.
In some embodiments, the type identifying unit includes: the extraction unit is used for extracting the color category number of each block and the color histogram of each block; and the picture type determining unit is used for determining the picture type of each block according to the color category number of each block and the color histogram of each block.
In some embodiments, the picture categories include a text category and a natural picture category.
In some embodiments, the image transmission apparatus of a virtual desktop further includes: the packaging module is used for packaging the difference area picture and the cursor information of the virtual desktop into a two-dimensional picture instruction; the temporary storage module is used for temporarily storing the two-dimensional image instruction into the instruction ring; and the two-dimensional image instruction acquisition module is used for acquiring the two-dimensional image instruction from the instruction ring.
In some embodiments, the obtaining module 730 includes: the first calling unit is used for calling the screen interface to obtain a desktop image of the virtual desktop; the second calling unit is used for triggering and calling the desktop copying interface if the virtual desktop is determined to change relative to the last desktop image according to the desktop image of the virtual desktop, and the desktop copying interface is used for calling the screen capture interface; and the third calling unit is used for calling the screen capture interface to obtain a difference area picture of the desktop image of the virtual desktop relative to the last desktop image of the virtual desktop.
Fig. 8 is a block diagram illustrating a structure of an electronic device according to an embodiment of the present application. The electronic device may be a physical server, a cloud server, or the like, and is not particularly limited herein. As shown in fig. 8, the electronic device in the present application may include: a processor 810 and a memory 820, the memory 820 having stored thereon computer readable instructions which, when executed by the processor 810, implement a method in any of the method embodiments described above.
Processor 810 may include one or more processing cores. The processor 810 interfaces with various interfaces and circuitry throughout the electronic device to perform various functions of the electronic device and process data by executing or executing instructions, programs, code sets, or instruction sets stored in the memory 820 and invoking data stored in the memory 820. Alternatively, the processor 810 may be implemented in hardware using at least one of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). The processor 810 may integrate one or more of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a modem, and the like. Wherein, the CPU mainly processes an operating system, a user interface, an application program and the like; the GPU is used for rendering and drawing display content; the modem is used to handle wireless communications. It is understood that the modem may not be integrated into the processor 810, but may be implemented by a communication chip.
The Memory 820 may include a Random Access Memory (RAM) or a Read-Only Memory (Read-Only Memory). The memory 820 may be used to store instructions, programs, code, sets of codes, or sets of instructions. The memory 820 may include a stored program area and a stored data area, wherein the stored program area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, an alarm function, etc.), instructions for implementing various method embodiments described below, and the like. The storage data area may also store data created by the electronic device in use (such as disguised response commands, obtained process status), and the like.
The present application further provides a computer readable storage medium having computer readable instructions stored thereon which, when executed by a processor, implement the method of any of the above method embodiments.
The computer-readable storage medium may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read only memory), an EPROM, a hard disk, or a ROM. Alternatively, the computer-readable storage medium includes a non-volatile computer-readable storage medium. The computer readable storage medium has storage space for computer readable instructions for performing any of the method steps of the above-described method. The computer readable instructions may be read from or written to one or more computer program products. The computer readable instructions may be compressed, for example, in a suitable form.
According to an aspect of an embodiment of the present application, there is provided a computer program product or a computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and executes the computer instructions, so that the computer device executes the method in any of the above embodiments.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (10)

1. An image transmission method of a virtual desktop, the method comprising:
transmitting drawing data of the virtual desktop to a target physical graphic processor; the target physical graphic processor is a physical graphic processor distributed for a target virtual machine corresponding to the virtual desktop;
rendering by the target physical graphic processor according to the drawing data to obtain a desktop image of the virtual desktop;
acquiring a difference area picture of a desktop image of the virtual desktop relative to a last desktop image of the virtual desktop;
And sending the difference area picture and the cursor information of the virtual desktop to a client so that the client displays a desktop image of the virtual desktop according to the difference area picture and the cursor information of the virtual desktop.
2. The method of claim 1, wherein before sending the cursor information of the difference region screen and the virtual desktop to a client, the method further comprises:
-compression encoding the difference region picture;
encoding the cursor information;
the sending the difference area picture and the cursor information of the virtual desktop to a client comprises:
and sending the compressed and coded difference region picture and the coded cursor information to a client.
3. The method according to claim 2, wherein said compression encoding said difference region picture comprises:
carrying out picture segmentation on the picture of the difference region to obtain a plurality of blocks;
identifying the type of each block, and determining the picture category of each block;
and carrying out compression coding on the corresponding blocks according to the corresponding relation between the picture type and the compression mode corresponding to the picture type.
4. The method according to claim 3, wherein the performing type identification on each of the blocks and determining the picture category to which each of the blocks belongs comprises:
extracting the color category number of each block and the color histogram of each block;
and determining the picture category to which each block belongs according to the color category number of each block and the color histogram of each block.
5. The method of claim 4, wherein the picture categories include a text category and a natural picture category.
6. The method of claim 1, wherein after obtaining the difference region picture of the desktop image of the virtual desktop relative to the previous desktop image of the virtual desktop, the method further comprises:
packaging the difference area picture and the cursor information of the virtual desktop into a two-dimensional picture instruction;
temporarily storing the two-dimensional image instruction into an instruction ring;
before sending the difference region picture and the cursor information of the virtual desktop to the client, the method further includes:
and acquiring the two-dimensional picture instruction from the instruction ring.
7. The method of claim 1, wherein obtaining the picture of the difference region of the desktop image of the virtual desktop relative to the previous desktop image of the virtual desktop comprises:
Calling a screen interface to obtain a desktop image of the virtual desktop;
if the virtual desktop is determined to be changed relative to the last desktop image according to the desktop image of the virtual desktop, triggering and calling a desktop copying interface, wherein the desktop copying interface is used for calling a screen capture interface;
and calling the screen capture interface to obtain a difference area picture of the desktop image of the virtual desktop relative to the last desktop image of the virtual desktop.
8. An image transmission apparatus for a virtual desktop, comprising:
the transmission module is used for transmitting the drawing data of the virtual desktop to the target physical graphic processor; the target physical graphic processor is a physical graphic processor distributed for a target virtual machine corresponding to the virtual desktop;
the rendering module is used for rendering by the target physical graphic processor according to the drawing data to obtain a desktop image of the virtual desktop;
the acquisition module is used for acquiring a difference area picture of a desktop image of the virtual desktop relative to a last desktop image of the virtual desktop;
and the sending module is used for sending the difference area picture and the cursor information of the virtual desktop to a client so that the client displays a desktop image of the virtual desktop according to the picture instruction.
9. An electronic device, comprising:
a processor;
a memory having computer-readable instructions stored thereon which, when executed by the processor, implement the method of any one of claims 1-7.
10. A computer readable storage medium having computer readable instructions stored thereon which, when executed by a processor, implement the method of any one of claims 1-7.
CN202210128490.8A 2022-02-11 2022-02-11 Image transmission method and device of virtual desktop, electronic equipment and storage medium Active CN114675914B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210128490.8A CN114675914B (en) 2022-02-11 2022-02-11 Image transmission method and device of virtual desktop, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210128490.8A CN114675914B (en) 2022-02-11 2022-02-11 Image transmission method and device of virtual desktop, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114675914A true CN114675914A (en) 2022-06-28
CN114675914B CN114675914B (en) 2024-04-09

Family

ID=82071912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210128490.8A Active CN114675914B (en) 2022-02-11 2022-02-11 Image transmission method and device of virtual desktop, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114675914B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116208623A (en) * 2023-05-04 2023-06-02 腾讯科技(深圳)有限公司 Information synchronization method, device, engine server and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886623A (en) * 2012-12-19 2014-06-25 华为技术有限公司 Image compression method and equipment, and system
CN109343922A (en) * 2018-09-17 2019-02-15 广东微云科技股份有限公司 A kind of method and device that GPU vitualization picture is shown
US20190361718A1 (en) * 2018-05-25 2019-11-28 Vmware, Inc. 3D API Redirection for Virtual Desktop Infrastructure
CN110647375A (en) * 2019-09-23 2020-01-03 天津卓朗科技发展有限公司 Image rendering method and device of cloud desktop and cloud server
CN110740352A (en) * 2019-11-14 2020-01-31 北京京航计算通讯研究所 SPICE protocol-based difference image display method in video card transparent transmission environment
CN111190675A (en) * 2019-12-26 2020-05-22 山东乾云启创信息科技股份有限公司 Three-dimensional image transmission method and equipment based on Roc processor
CN113672318A (en) * 2020-05-14 2021-11-19 北京金山云网络技术有限公司 Method and device for transmitting desktop image data of virtual machine and electronic equipment
CN113825347A (en) * 2021-09-17 2021-12-21 武汉兴和云网科技股份有限公司 High-performance computing desktop cloud system and device based on SPICE open source protocol

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886623A (en) * 2012-12-19 2014-06-25 华为技术有限公司 Image compression method and equipment, and system
US20190361718A1 (en) * 2018-05-25 2019-11-28 Vmware, Inc. 3D API Redirection for Virtual Desktop Infrastructure
CN109343922A (en) * 2018-09-17 2019-02-15 广东微云科技股份有限公司 A kind of method and device that GPU vitualization picture is shown
CN110647375A (en) * 2019-09-23 2020-01-03 天津卓朗科技发展有限公司 Image rendering method and device of cloud desktop and cloud server
CN110740352A (en) * 2019-11-14 2020-01-31 北京京航计算通讯研究所 SPICE protocol-based difference image display method in video card transparent transmission environment
CN111190675A (en) * 2019-12-26 2020-05-22 山东乾云启创信息科技股份有限公司 Three-dimensional image transmission method and equipment based on Roc processor
CN113672318A (en) * 2020-05-14 2021-11-19 北京金山云网络技术有限公司 Method and device for transmitting desktop image data of virtual machine and electronic equipment
CN113825347A (en) * 2021-09-17 2021-12-21 武汉兴和云网科技股份有限公司 High-performance computing desktop cloud system and device based on SPICE open source protocol

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KYPH: "SPICE (二)", pages 1 - 2, Retrieved from the Internet <URL:《https://blog.csdn.net/lsshao/article/details/112788583》> *
上官宏竹: "DXGI捕获桌面", pages 1 - 3, Retrieved from the Internet <URL:《https://www.jianshu.com/p/1cee90619e87》> *
徐浩: "基于SPICE协议的桌面虚拟化技术研究与改进方案", 《计算机工程与科学》, vol. 35, no. 12, 15 June 2020 (2020-06-15) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116208623A (en) * 2023-05-04 2023-06-02 腾讯科技(深圳)有限公司 Information synchronization method, device, engine server and storage medium

Also Published As

Publication number Publication date
CN114675914B (en) 2024-04-09

Similar Documents

Publication Publication Date Title
US20170323418A1 (en) Virtualized gpu in a virtual machine environment
US10354430B2 (en) Image update method, system, and apparatus
EP2622461B1 (en) Shared memory between child and parent partitions
US8654134B2 (en) Command remoting
CN111433743A (en) APP remote control method and related equipment
CN111240631A (en) Method and system for virtually transmitting Linux virtual machine screen picture based on AMD display card
US9235452B2 (en) Graphics remoting using augmentation data
CN111488196A (en) Rendering method and device, storage medium and processor
CN113244614B (en) Image picture display method, device, equipment and storage medium
CN112114928B (en) Processing method and device for display page
CN113034629B (en) Image processing method, image processing device, computer equipment and storage medium
CN112486609A (en) Virtual display card implementation method and device based on cloud desktop
CN115695857B (en) Video coding method and device for cloud application
CN108234659A (en) Data processing method, apparatus and system
CN114675914B (en) Image transmission method and device of virtual desktop, electronic equipment and storage medium
CN106797398A (en) Method and system for providing from virtual desktop serve to client
CN112316433A (en) Game picture rendering method, device, server and storage medium
CN113240571A (en) Image processing system, method and program
CN113254129B (en) Cloud desktop GPU direct-connection virtualization redirection management system and method
US10733689B2 (en) Data processing
CN114003225A (en) Window display method and device, computer equipment and storage medium
CN116758201B (en) Rendering processing method, device and system of three-dimensional scene and computer storage medium
CN113094015A (en) Holographic multi-screen display implementation method and system, computer equipment and storage medium
CN111475255A (en) Image processing method, server and system
CN113835816A (en) Virtual machine desktop display method, device, equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant