CN114924819A - Watermark synthesis method, cloud desktop server, client and computer readable storage medium - Google Patents

Watermark synthesis method, cloud desktop server, client and computer readable storage medium Download PDF

Info

Publication number
CN114924819A
CN114924819A CN202210507605.4A CN202210507605A CN114924819A CN 114924819 A CN114924819 A CN 114924819A CN 202210507605 A CN202210507605 A CN 202210507605A CN 114924819 A CN114924819 A CN 114924819A
Authority
CN
China
Prior art keywords
watermark
instruction
cloud desktop
command stream
server
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.)
Pending
Application number
CN202210507605.4A
Other languages
Chinese (zh)
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210507605.4A priority Critical patent/CN114924819A/en
Publication of CN114924819A publication Critical patent/CN114924819A/en
Pending legal-status Critical Current

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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

The invention provides a watermark synthesis method for a cloud desktop, which comprises the following steps: receiving an operation instruction of the cloud desktop at a server side; generating a command stream instruction of response according to the operation instruction; generating a watermark instruction; and issuing the command stream instruction and the watermark instruction to the cloud desktop. The invention also provides a watermark synthesis method for the cloud desktop, which comprises the following steps: sending an operation instruction of the cloud desktop to a server at a client; receiving responsive command stream instructions from the server; receiving a watermark instruction from the server; and synthesizing the command stream instructions and the watermark instructions into a complete image frame; rendering and displaying the image frame. The method and the device provide the watermarking capability of being fast, efficient and bandwidth-saving for the cloud desktop. By synthesizing the watermark at the user side, the downstream bandwidth is hardly increased compared with the case of not opening the watermark in the picture updating process theoretically, and the fluency under most use scenes is ensured by optimizing the synthesizing method by the watermark synthesizing engine.

Description

Watermark synthesis method, cloud desktop server, client and computer readable storage medium
Technical Field
The present invention generally relates to the technical field of cloud computing, and in particular, to a watermark synthesis method, a server and a client for a cloud desktop, and a computer-readable medium.
Background
The cloud desktop is also called desktop virtualization and cloud computer, and is a new mode for replacing the traditional computer. The cloud desktop utilizes a virtual technology to perform virtualization processing on various physical devices, so that the utilization rate of resources is effectively improved, the cost is saved, and the application quality is improved. Under the support of virtualization technology, the connection between network software and hardware equipment can be more flexible, and the expansibility can also be greatly improved, so that the method is generally applied. The cloud desktop virtualization technology is essentially used for uniformly storing and managing user information, and a user side can enter the cloud desktop through simple network access equipment to realize centralized management and realize efficient resource sharing. In addition, the user can set the cloud desktop individually according to the requirements of the user, so that diversified requirements are met. After the cloud desktop is adopted, a user does not need to purchase a computer host, all components such as a CPU (central processing unit), a memory, a hard disk and the like contained in the computer host are virtualized in a server at the back end, and 1-50 different virtual computers can be virtualized by a single high-performance server; the mainstream of the front-end equipment is to adopt a thin client to connect a display and a keyboard mouse, a desktop system runs at a cloud end, and a user uses a client to connect a cloud computer through a network; the computing power can be expanded at any time by the cloud computer. After a user installs a client, the user accesses a virtual machine host on a back-end server through a specific communication protocol to realize interactive operation, so that the experience effect consistent with that of a computer is achieved; meanwhile, the cloud desktop not only supports the replacement of a traditional computer, but also supports other intelligent devices such as a mobile phone and a tablet to access the Internet, and is also the latest solution of mobile office.
In some cloud desktop systems, the ability to provide watermarks is needed to prevent information leakage caused by screen capture and picture taking of a user screen. Under a command stream mode in the current protocol, if the watermark is directly synthesized at the server, firstly, the image recognition of the image recognition module is influenced, secondly, the occupation of bandwidth and the resource consumption of the server are large, and the time delay of the whole link can be influenced.
The statements in this background section merely represent techniques known to the public and are not, of course, representative of the prior art.
Disclosure of Invention
In view of at least one of the drawbacks of the prior art, the present invention provides a watermark composition method for a cloud desktop, including: at the server side, the server side is provided with a plurality of servers,
receiving an operation instruction of the cloud desktop;
generating a command stream instruction of response according to the operation instruction;
generating a watermark instruction; and
and issuing the command stream instruction and the watermark instruction to the cloud desktop.
According to one aspect of the invention, the step of generating responsive command stream instructions comprises: and generating response picture data as the command stream command according to the operation command.
According to an aspect of the invention, the watermark synthesis method further comprises: querying a configuration file of the cloud desktop to determine whether to add a watermark;
wherein the step of generating the watermark instruction comprises: when the watermark is determined to be added, generating a watermark instruction;
the step of issuing the command stream instruction and the watermark instruction to the cloud desktop comprises the following steps: and when the watermark is determined to be added, issuing the command stream instruction and the watermark instruction to the cloud desktop.
According to one aspect of the invention, the step of generating the watermark instruction comprises: dividing the cloud desktop into a plurality of watermark areas according to the resolution of the cloud desktop;
the step of generating the watermark instruction comprises: and generating corresponding watermark instructions aiming at the watermark areas.
According to an aspect of the invention, the plurality of watermark regions have the same watermark instruction
The invention also provides a watermark synthesis method for the cloud desktop, which comprises the following steps: at the client side, the client side is connected with the server,
sending an operation instruction of the cloud desktop to a server;
receiving responsive command stream instructions from the server;
receiving a watermark instruction from the server; and
synthesizing the command stream instructions and the watermark instructions into a complete image frame;
rendering and displaying the image frame.
According to one aspect of the invention, the command stream instructions include: picture data responsive to the operation instruction, the watermark synthesis method further comprising:
analyzing the watermark data to obtain the watermark image;
and analyzing the command stream instruction to obtain the corresponding picture data.
According to an aspect of the invention, the watermark synthesis method further comprises: configuring watermark synthesis parameters according to the input of a user, wherein the watermark synthesis parameters represent whether the watermark needs to be added or not,
wherein the step of receiving a watermark instruction from a server comprises: when the watermark needs to be added, receiving a watermark instruction from the server;
wherein the step of synthesizing the command stream instructions and the watermark instructions into a complete image frame comprises: when watermarking is required, the command stream instructions and the watermarking instructions are combined into a complete image frame.
According to one aspect of the invention, the cloud desktop is divided into a plurality of watermark regions,
the step of compositing the command stream instructions and watermark instructions into a complete image frame comprises:
analyzing the command stream instruction to obtain the responded picture data;
applying the watermark instruction to a plurality of watermark areas on the picture data to synthesize the watermark instruction into a complete picture frame;
the step of generating the watermark instruction comprises: and generating corresponding watermark instructions aiming at the plurality of watermark areas.
According to an aspect of the invention, the plurality of watermark regions have the same watermark instruction.
The invention also provides a computer program product having a computer program stored thereon, which when executed by a processor, is operable to implement a method of watermark synthesis as described above.
The invention also provides a server for the cloud desktop, which comprises:
the receiving unit is configured to receive an operation instruction of the cloud desktop;
a response unit configured to generate a responsive command stream instruction according to the operation instruction;
a watermark generation unit configured to generate a watermark instruction; and
and the instruction transmission unit is configured to issue the command stream instruction and the watermark instruction to the cloud desktop.
The invention also provides a client for the cloud desktop, which comprises:
the sending unit is configured to send an operation instruction of the cloud desktop to the server;
a command stream receiving unit configured to receive a responsive command stream instruction from the server;
a watermark receiving unit configured to receive a watermark instruction from the server; and
a watermark composition engine configured to compose the command stream instructions and watermark instructions into a complete image frame;
a display configured to display the image frames.
The method and the device provide the watermarking capability of being fast, efficient and bandwidth-saving for the cloud desktop. By synthesizing the watermark at the user side, the downstream bandwidth is hardly increased compared with the case of not opening the watermark in the picture updating process theoretically, and the fluency under most use scenes is ensured by optimizing the synthesizing method by the watermark synthesizing engine.
Drawings
The accompanying drawings, which are included to provide a further understanding of the disclosure, illustrate embodiments of the disclosure and together with the description serve to explain the disclosure and are not to be construed as limiting the disclosure. In the drawings:
FIG. 1 illustrates a schematic diagram of a cloud desktop;
fig. 2 shows a watermark synthesis method according to an embodiment of the present invention, applied to a server side of a cloud desktop;
fig. 3 shows a network architecture of a cloud desktop system to which the watermark synthesis method of the present invention is applied;
fig. 4 shows a watermark synthesis method according to an embodiment of the invention;
FIG. 5 illustrates a network architecture of a cloud desktop system in accordance with a preferred embodiment of the present invention;
FIGS. 6A, 6B and 6C depict a watermark synthesis method 300 of a preferred embodiment;
FIG. 7 illustrates a server for cloud desktops according to one embodiment of the present invention;
FIG. 8 illustrates a client for a cloud desktop according to one embodiment of the invention; and
fig. 9 and 10 are block diagrams of computer program products arranged in accordance with at least some embodiments of the invention.
Detailed Description
In the following, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
In the description of the present invention, it is to be understood that the terms "central", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", and the like, indicate orientations or positional relationships based on the orientations or positional relationships shown in the drawings, and are used only for the purpose of describing the invention and simplifying the description, and do not imply or imply that the apparatus or element so referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore should not be considered as limiting the invention. Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicit to the number of technical features indicated. Thus, features defined as "first", "second" may explicitly or implicitly include one or more of the described features. In the description of the present invention, "a plurality" means two or more unless specifically limited otherwise.
In the description of the present invention, it should be noted that the terms "mounted", "connected" and "connected" are to be construed broadly and, for example, may be fixed or removable or integrally connected, unless expressly stated or limited otherwise: may be mechanically connected, may be electrically connected or may be in communication with each other; either directly or indirectly through intervening media, either internally or in any other relationship. The specific meanings of the above terms in the present invention can be understood by those skilled in the art according to specific situations.
In the present invention, unless otherwise expressly stated or limited, "on" or "under" a first feature means that the first and second features are in direct contact, and that the first and second features are not in direct contact but are in contact with each other via another feature therebetween. Also, a first feature "on," "above," and "above" a second feature includes that the first feature is directly above and obliquely above the second feature, or simply means that the first feature is at a higher level than the second feature. A first feature being "under", "below" and "beneath" a second feature includes the first feature being directly above and diagonally above the second feature, or simply meaning that the first feature is less level than the second feature.
The following disclosure provides many different embodiments or examples for implementing different features of the invention. To simplify the disclosure of the present invention, specific example components and arrangements are described below. Of course, they are merely examples and are not intended to limit the present invention. Moreover, the present invention may repeat reference numerals and/or reference letters in the various examples, which have been repeated for purposes of simplicity and clarity and do not in themselves dictate a relationship between the various embodiments and/or configurations discussed. In addition, the present invention provides examples of various specific processes and materials, but one of ordinary skill in the art may recognize applications of other processes and/or uses of other materials.
The preferred embodiments of the present invention will be described in conjunction with the accompanying drawings, and it should be understood that they are presented herein only to illustrate and explain the present invention and not to limit the present invention.
In some cloud desktop systems, the ability to provide watermarks is needed to prevent information leakage caused by screen capture and picture taking of a user screen. If the watermark is directly synthesized at the server and then is sent to the client for display, the image identification of the image identification module is influenced, and in addition, the occupation of the bandwidth and the resource consumption of the server are large, and the time delay of the whole link can be influenced. The inventor of the application tests, the actual test bandwidth occupation is obviously improved, and the fluency of the cloud desktop is also reduced.
The application provides a new watermark synthesis method, and provides a fast, efficient and bandwidth-saving watermark capability for a cloud desktop protocol, wherein different from the direct synthesis of a watermark at a server side, the scheme of synthesizing the watermark at a user side is adopted, theoretically, downlink bandwidth can hardly be increased compared with the case of not starting the watermark when a picture is updated, and the smoothness of most use scenes is ensured by optimizing the synthesis method by a watermark synthesis engine.
Fig. 1 shows a schematic diagram of a cloud desktop system, in which a cloud desktop (or "cloud desktop interface") of a client may receive user input, such as user input from a human-machine interface such as a keyboard, a mouse, etc. of the client, including user input operations such as opening software, editing documents, image processing, etc. And after the cloud desktop of the user side receives the user input, determining whether the user input needs to be sent to the server side for processing according to the input type. For some simple user inputs, such as operations of moving a mouse by a user, the simple user inputs do not need to be sent to a server side for processing; however, for some user inputs that require more processing power and effort, such as opening software, editing documents, graphics processing, etc., the user inputs need to be sent to the server, which displays on the cloud desktop of the client after responding and processing in the background.
The client and the server communicate through a specific protocol, including but not limited to VDI, RDS, ICA, PCoIP, SPICE, etc. And the client encapsulates the input operation of the user into a data packet with a specific format through a corresponding protocol and sends the data packet to the server. After receiving the data packet, the server performs data packet parsing operation to obtain specific operation of the user, executes corresponding processing operation through a central processing unit or a graphic processing unit of the server, then generates a command stream instruction, and the command stream instruction can be packaged with image data to be displayed on the client, and is sent to the client through a communication protocol. After receiving the command stream instruction, the client analyzes the instruction to generate a complete image frame, and performs corresponding rendering and display on a display of the client so as to present the image frame to a user. For the user, through the client of the cloud desktop, the user can basically obtain real-time feedback from the server after input operation, and the user experience is basically the same as that of the local computer.
Fig. 2 shows a watermark synthesis method 100 according to an embodiment of the present invention, which is applied to a server side of a cloud desktop system, and fig. 3 shows a network architecture of the cloud desktop system to which the watermark synthesis method 100 of the present invention is applied, so as to facilitate understanding of the watermark synthesis method 100 executed by the server side. This is described in detail below with reference to fig. 2 and 3.
In step S101, an operation instruction of the cloud desktop is received.
After the cloud desktop of the client receives the user input through the operation interface, for some user inputs which need strong processing power and calculation power, such as software opening, document editing, graphic processing and the like, the user input needs to be sent to the server for processing. And the client encapsulates the input operation of the user into a data packet with a specific format through a corresponding protocol and sends the data packet to the server. The server receives the data packet, and performs corresponding data packet analysis operation according to the communication protocol to obtain specific operation of the user.
In step S102, a command stream command is generated in response to the operation command.
The server needs to make a specific response to the user after obtaining the user's operation. The server may perform a corresponding processing operation through a central processing unit or a graphics processing unit, and then generate a command stream instruction in which data of image frames of an interface to be displayed on the client cloud desktop may be encapsulated.
In step S103, a watermark instruction is generated.
In response to a user's operation, or by default, the server generates a watermark instruction. The watermark instruction may be, for example, encapsulated with watermarked image data.
Those skilled in the art will readily understand that step S103 may be performed simultaneously with step S102, after step S102, or before step S102, all within the scope of the present invention.
In step S104, the command stream instruction and the watermark instruction are issued to the cloud desktop.
And the server issues the command stream instruction and the watermark instruction to the cloud desktop through a communication protocol, and the cloud desktop synthesizes a complete image frame according to the watermark instruction and the command stream instruction, renders and presents the image frame to a user.
The above describes a watermark synthesis method according to an embodiment of the present invention, in which a server provides a client with a watermark instruction and a command stream instruction, and a watermark is synthesized at the client, so that the downstream bandwidth is hardly increased when a picture is updated compared to when the watermark is not turned on, and the optimization of the synthesis method by the watermark synthesis engine ensures the fluency in most use scenarios.
According to a preferred embodiment of the present invention, the step of generating responsive command stream instructions comprises: and generating the response picture data as the command stream command according to the operation command. And the server opens software or application programs in the background according to the operation of the user, generates response image data and sends the response image data to the client in a command stream instruction mode.
According to a preferred embodiment of the present invention, the cloud desktop may also allow a user or administrator to configure whether to compose a watermark. The user can decide whether to add the watermark according to the self requirement, and the administrator can decide whether to add the watermark according to the type of the user and the type of the input operation of the user. For a client, the server may store a configuration file of the cloud desktop of the client, where the configuration file stores a watermark parameter for the cloud desktop of the client, that is, whether to add a watermark is indicated. Therefore, according to a preferred embodiment of the present invention, after receiving the input of the user, the server may query the configuration file of the cloud desktop to determine whether to add the watermark; when the fact that the watermark needs to be added is determined, generating a watermark instruction, and sending the command stream instruction and the watermark instruction to the cloud desktop; if the result of inquiring the configuration file shows that the watermark does not need to be added, the watermark instruction does not need to be generated, and the watermark instruction does not need to be issued to the cloud desktop.
Or alternatively, the server actively decides whether to add the watermark or not according to the type of user operation input. For example, when a user edits a document or writes a program code, the server may know that the document or the program code has a certain security level, and at this time, if the user performs a screen capturing operation, for example, through keyboard input or software operation, the server may actively trigger and generate a watermark instruction according to the security level of the document and the operation of the user, and issue the watermark instruction to the client along with the command stream, so that an image obtained by the user through screen capturing will have a watermark.
According to a preferred embodiment of the present invention, the step of generating the watermark instruction includes: and dividing the cloud desktop into a plurality of watermark areas according to the resolution of the cloud desktop. The resolution of the cloud desktop may be set by the user or may be automatically adapted according to the resolution of the user's display. The number of watermark regions may be specified by the user, or may be assigned 3 × 3 by default.
According to a preferred embodiment of the present invention, the step of generating the watermark instruction includes: and generating corresponding watermark instructions aiming at the watermark areas. The plurality of watermark regions preferably have the same watermark instruction.
The above describes the watermark composition method 100 performed at the server side. Fig. 4 illustrates a watermark synthesis method 200 according to an embodiment of the present invention, which is applied to a client of a cloud desktop, and also refers to the network architecture of the cloud desktop system illustrated in fig. 3, so as to facilitate understanding of the watermark synthesis method 200 executed by the client. Described in detail below with reference to fig. 3 and 4.
As shown in fig. 4, in step S201, an operation instruction of the cloud desktop is issued to the server.
In step S202, responsive command stream instructions are received from the server.
In step S203, a watermark instruction is received from the server.
In step S204, the command stream instructions and the watermark instructions are combined into a complete image frame.
In step S205, the image frame is rendered and displayed.
According to a preferred embodiment of the present invention, the command stream instructions include: and screen data responsive to the operation instruction.
The watermark synthesis method further comprises:
analyzing the watermark data to obtain the watermark image;
and analyzing the command stream instruction to obtain the corresponding picture data.
Fig. 5 shows a network architecture of a cloud desktop system according to a preferred embodiment of the present invention, wherein, different from the embodiment of fig. 3, a watermark composition engine is further included in the client in the embodiment of fig. 5, and the watermark composition engine composes a complete image frame according to the parsed command stream instruction and watermark data, and delivers the complete image frame to a graphics processing unit and a display of the client for rendering and displaying.
According to a preferred embodiment of the present invention, the watermark synthesis method 200 further comprises: configuring watermark synthesis parameters according to the input of a user, wherein the watermark synthesis parameters represent whether the watermark needs to be added or not,
wherein the step of receiving a watermark instruction from a server comprises: when the watermark needs to be added, receiving a watermark instruction from the server;
wherein the step of synthesizing the command stream instructions and the watermark instructions into a complete image frame comprises: when watermarking is required, the command stream instructions and the watermarking instructions are combined into a complete image frame. Conversely, when watermarking is not required, only command stream instructions are used to form a complete image frame
According to a preferred embodiment of the present invention, the cloud desktop is divided into a plurality of watermark regions,
the step of synthesizing the command stream instructions and the watermark instructions into a complete image frame comprises:
analyzing the command stream instruction to obtain the responded picture data;
and applying the watermark instruction to a plurality of watermark areas on the image data, and synthesizing into a complete image frame.
The step of generating the watermark instruction comprises: and generating corresponding watermark instructions aiming at the plurality of watermark areas. According to a preferred embodiment of the invention, the plurality of watermark regions have the same watermark instruction.
According to an embodiment of the present invention, when a picture is updated, a plurality of watermark regions can be selectively updated according to actual situations without performing all the updates, which is described in detail below.
According to a preferred embodiment of the invention, the watermark instruction comprises the following data: watermark image data, which may be compressed, for example, by an image algorithm; watermark (area) coordinates, equally dividing the screen into a certain number of areas according to the resolution of the client, wherein watermark image data of the areas can be repeated; and transparency, i.e. the transparency of the watermark image in each area. As shown in fig. 6A, the screen of the client is divided into 3 × 3 9 watermark regions, and each watermark region is shown as overlay _ region in the figure. Preferably, the same watermark instruction is issued only once. And when the data in the watermark instruction changes, the watermark instruction is issued again, for example, when the image, the coordinate and the transparency of the watermark instruction change, the updated watermark instruction is issued again from the server to the client.
When the server side issues a command stream instruction, the client side analyzes the command stream to obtain command stream data, and then generates a final image through watermark synthesis, and renders and displays the final image. A preferred embodiment watermark synthesis method 300 is described below with reference to fig. 6B and 6C.
As shown in fig. 6B, after receiving a command stream instruction from the server, in step S301, an update area of the screen is calculated from the command stream data obtained by parsing. Generally, in the process of continuous operation of a user, many identical image areas exist between pictures of continuous frames, and for the identical image areas, image updating and watermarking synthesis do not need to be carried out, but only the image pictures of the updated areas need to be re-rendered and displayed, so that the calculation power and the resources can be greatly saved. The region where each frame of screen image has changed from the previous frame of screen image is an update region, and can be merged according to the regions of all command stream instructions, and is denoted as dirty _ region (as labeled in fig. 6C). Fig. 6C shows that image update is required only in the upper right region in the entire screen. In step S301, the abscissa and ordinate of the update region dirty _ region in the entire screen and the length and width information of the update region may be obtained, so that the update region may be uniquely determined.
Next, each watermark region is traversed. For example, for the ith watermark region, coordinates of the watermark region, for example, the abscissa and ordinate of the upper left corner of the ith watermark region, are obtained in step S302. The length and width of each watermark region are predetermined so that after the coordinates of the watermark region are determined, the location of the watermark region and the coverage area are uniquely determined.
In step S303, it is determined whether the ith watermark region intersects with the update region, and if the ith watermark region does not intersect with the update region, the process proceeds to step S304, and the processing on the ith watermark region is finished; otherwise, it proceeds to step S305. For each watermark region, by updating the coordinates of the watermark region, the horizontal length and the vertical width, and by updating the horizontal coordinates and the vertical coordinates of the region dirty _ region in the entire picture, it is possible to determine whether or not both have overlapping intersecting portions. For example, in fig. 6C, there are 9 watermark regions, namely, watermark regions overlay _ region (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2) and (3, 3), wherein the watermark regions overlay _ region (1, 2), (1, 3), (2, 2) and (2, 3) and the update region dirty _ region have overlapping and crossing portions, the crossing portions are respectively overlay _ region (1, 2), (1, 3), (2, 2) and (2, 3) (for clarity, the number of the crossing portion is the same as the number of the corresponding watermark region), and the rest of the watermark regions do not have overlapping and crossing portions with the update region dirty _ region.
In step S305, the intersection of the ith watermark region and the update region is calculated. Taking the watermark region overlay _ region (1, 2) as an example, the coordinates of the intersection of the watermark region overlay _ region (1, 2) and the update region dirty _ region, such as the coordinates of the intersector _ region (1, 2) in fig. 6C, are calculated.
In step S306, the image composition position of the i-th watermark region is calculated. Still taking the watermark region overlay _ region (1, 2) as an example, the position of the intersection portion overlay _ region (1, 2) in the watermark region overlay _ region (1, 2) (e.g. with respect to the coordinates of the upper left corner of the watermark region overlay _ region (1, 2)) is calculated.
In step S307, an image is synthesized on the i-th watermark region. Still taking the watermark region overlay _ region (1, 2) as an example, according to the result calculated in step S306, on the watermark region, the synthesized image needs to be updated on the intersection _ region (1, 2), so that the image data of the intersection portion obtained from the command stream data on the region is superimposed on the watermark image data in the intersection portion to generate a new synthesized image.
According to a preferred embodiment of the present invention, when it is determined that the ith watermark region intersects with the update region, all images in the ith watermark region are updated to generate a new composite image.
In addition, for a client configured with multiple threads, multiple thread tasks may be enabled for image processing and compositing operations, in accordance with a preferred embodiment of the present invention.
The above describes the process of image processing for one of the watermark regions. Those skilled in the art will readily appreciate that the above-described image processing procedure may be repeated for each watermark region, with the same processing being performed for each watermark region, and the composite image on the watermark region being updated if the watermark region intersects the update region; if the watermark region does not intersect the update region, the composite image on the watermark region need not be updated. And after the image processing of all the watermark areas is completed, rendering and outputting the updated whole image picture.
Fig. 7 illustrates a server 400 for a cloud desktop according to an embodiment of the present invention, which can be used to implement the above-described watermark synthesis method 100, and is described in detail below with reference to fig. 7.
As shown in fig. 7, server 400 includes receiving unit 401, response unit 402, watermark generation unit 403, and instruction transmission unit 404. Wherein the receiving unit 401 is configured to receive an operation instruction of the cloud desktop, the receiving unit 401 may include, for example, a network interface through which the server 400 communicates with the client. The receiving unit 401 may be configured to, in addition to receiving the operation instruction of the cloud desktop, parse the operation instruction, and send the parsed data and instruction to the response unit 402.
Response unit 402 is configured to generate responsive command stream instructions in accordance with the operational instructions. The response unit may include a central processor of the server, a graphic processor, and an operating system and various software programs running on the server. After receiving the operation instruction, the response unit 402 generates a corresponding command stream instruction in response to the operation instruction, and sends the command stream instruction to the instruction transmission unit 404.
Watermark generation unit 403 is configured to generate watermark instructions and send the watermark instructions to instruction transmission unit 404. The watermark instruction comprises for example a watermarked image.
The instruction transmission unit 404 is configured to issue the command stream instruction and the watermark instruction to the cloud desktop according to a certain communication protocol, so as to perform functions of parsing, image watermarking operation, rendering and displaying and the like at a cloud desktop client.
In the embodiment shown in fig. 7, the receiving unit 401, the responding unit 402, the watermark generating unit 403, and the instruction transmitting unit 404 are shown as mutually independent components and units, and those skilled in the art can easily understand that the above units may be combined according to actual needs, or further split into different sub-units. For example, the receiving unit 401 and the instruction transmitting unit 404 may be combined into a communication interface, which can be used for receiving and transmitting simultaneously; it is within the scope of the invention that the response unit 402 and the watermark generation unit 403 may be combined into one processing unit.
In addition, watermark generation unit 403 may communicate with receiving unit 401 and/or corresponding unit 402 to trigger generation of a watermark instruction in response to a particular input. For example, the server may store a configuration file of the cloud desktop of the client, where a watermark parameter for the cloud desktop of the client is stored in the configuration file, that is, whether to add a watermark is represented, and the watermark generation unit 403 may query the configuration file of the cloud desktop to determine whether to add a watermark; when the watermark is determined to be added, generating a watermark instruction; if the result of inquiring the configuration file shows that the watermark does not need to be added, the watermark instruction does not need to be generated, and the watermark instruction does not need to be issued to the cloud desktop.
Or alternatively, the server actively decides whether to add the watermark or not according to the type of user operation input. For example, when a user edits a document or writes a program code, the server may know that the document or the program code has a certain security level, and at this time, if the user performs a screen capturing operation, for example, through keyboard input or software operation, the server may actively trigger generation of a watermark instruction according to the security level of the document and the user operation, and issue the watermark instruction to the client along with the command stream, so that an image obtained by the user screen capturing will have a watermark.
Fig. 8 illustrates a client 500 for a cloud desktop according to an embodiment of the present invention, which can be used to implement the above-described watermark composition methods 200 and 300, and is described in detail below with reference to fig. 8.
As shown in fig. 8, the client 500 for cloud desktop includes a transmitting unit 501, a command stream receiving unit 502, a watermark receiving unit 503, a watermark composition engine 504, and a display 505.
The sending unit 501 is configured to send an operation instruction of the cloud desktop to the server, for example, an operation instruction performed by a user through a mouse, a keyboard, a touch panel, and the like on the cloud desktop. The command stream receiving unit 502 is configured to receive a responsive command stream instruction from the server, which may include image data responsive to a user operation. The command stream receiving unit 502 may be configured to parse and buffer the command stream instructions. The watermark receiving unit 503 is configured to receive the watermark instruction from the server and parse the watermark instruction. The watermarking engine 504 is configured to combine the command stream instructions and the watermarking instructions into a complete image frame and deliver the image frame to the display 505 for display.
In the embodiment shown in fig. 8, the sending unit 501, the command stream receiving unit 502, the watermark receiving unit 503, the watermark composition engine 504, and the display 505 are shown as mutually independent components and units, and those skilled in the art can easily understand that the above units can be combined according to actual needs, or further split into different sub-units. For example, the command stream receiving unit 502 and the watermark receiving unit 503 may be combined into one receiving unit, and may be used for receiving both the command stream instructions and the watermark instructions. All falling within the scope of the invention. The watermark composition engine 504 may perform the method described above with reference to fig. 6B.
Fig. 9 is a block diagram of a computer program product 600 arranged in accordance with at least some embodiments of the invention. The signal bearing medium 602 may be embodied as or include a computer readable medium 606, a computer recordable medium 608, a computer communication medium 610, or a combination thereof, which stores programming instructions 604 that may configure a processing unit to perform all or some of the processes previously described. The instructions may include, for example, one or more executable instructions for causing one or more processors to: receiving an operation instruction of the cloud desktop; generating a response command stream instruction according to the operation instruction; generating a watermark instruction; and issuing the command stream instruction and the watermark instruction to the cloud desktop.
Fig. 10 is a block diagram of a computer program product 700 arranged in accordance with at least some embodiments of the invention. The signal bearing medium 702 may be embodied as or include a computer readable medium 706, a computer recordable medium 708, a computer communication medium 710, or a combination thereof, that stores programming instructions 704 that may configure a processing unit to perform all or some of the processes previously described. The instructions may include, for example, one or more executable instructions for causing one or more processors to: sending an operation instruction of the cloud desktop to a server; receiving responsive command stream instructions from the server; receiving a watermark instruction from the server; and synthesizing the command stream instructions and the watermark instructions into a complete image frame; rendering and displaying the image frame.
While the foregoing detailed description has set forth various examples of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples, such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be appreciated by those skilled in the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In one example, portions of the subject matter described herein may be implemented via an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), or other integrated form. However, those skilled in the art will appreciate that some aspects of the examples disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and/or firmware would be well within the skill of one of skill in the art in light of this disclosure. For example, if the user determines that speed and accuracy are important, the user may select the host hardware and/or firmware vehicle; if flexibility is important, the user can select the main software implementation; alternatively, or in addition, the user may select some combination of hardware, software, and/or firmware.
In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative example of the subject matter described herein applies regardless of the particular type of signal bearing media used to actually carry out the distribution. Examples of signal bearing media include, but are not limited to, the following: recordable type media such as floppy disks, hard disk drives, Compact Disks (CDs), Digital Video Disks (DVDs), digital tape, computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
Finally, it should be noted that: although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that changes may be made in the embodiments and/or equivalents thereof without departing from the spirit and scope of the invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (13)

1. A watermark synthesis method for a cloud desktop comprises the following steps: at the side of the server,
receiving an operation instruction of the cloud desktop;
generating a response command stream instruction according to the operation instruction;
generating a watermark instruction; and
and issuing the command stream instruction and the watermark instruction to the cloud desktop.
2. A method of watermarking as defined in claim 1, wherein the step of generating responsive command stream instructions includes: and generating the response picture data as the command stream command according to the operation command.
3. A watermark synthesis method as claimed in claim 1, further comprising: querying a configuration file of the cloud desktop to determine whether to add a watermark;
wherein the step of generating the watermark instruction comprises: when the watermark is determined to be added, generating a watermark instruction;
the step of issuing the command stream instruction and the watermark instruction to the cloud desktop comprises the following steps: and when the watermark is determined to be added, issuing the command stream instruction and the watermark instruction to the cloud desktop.
4. A method of watermarking as defined in any of claims 1-3, wherein the step of generating watermarking instructions includes: dividing the cloud desktop into a plurality of watermark areas according to the resolution of the cloud desktop;
the step of generating the watermark instruction comprises: and generating corresponding watermark instructions aiming at the plurality of watermark areas.
5. A method of watermark synthesis as claimed in claim 4, wherein the plurality of watermark regions have the same watermark instruction.
6. A watermark synthesis method for a cloud desktop comprises the following steps: at the client side, the client side is connected with the server,
sending an operation instruction of the cloud desktop to a server;
receiving responsive command stream instructions from the server;
receiving a watermark instruction from the server; and
synthesizing the command stream instruction and the watermark instruction into a complete image frame;
rendering and displaying the image frame.
7. The method of watermarking as defined in claim 6, wherein the command stream instructions include: picture data responsive to the operation instruction, the watermark synthesis method further comprising:
analyzing the watermark data to obtain the watermark image;
and analyzing the command stream instruction to obtain the corresponding picture data.
8. The watermark synthesis method of claim 6, further comprising: configuring watermark synthesis parameters according to the input of a user, wherein the watermark synthesis parameters represent whether the watermark needs to be added or not,
wherein the step of receiving a watermark instruction from a server comprises: when the watermark needs to be added, receiving a watermark instruction from the server;
wherein the step of synthesizing the command stream instructions and the watermark instructions into a complete image frame comprises: when the watermark needs to be added, the command stream instruction and the watermark instruction are combined into a complete image frame.
9. A watermark synthesis method according to claim 7, wherein the cloud desktop is divided into a plurality of watermark regions,
the step of compositing the command stream instructions and watermark instructions into a complete image frame comprises:
analyzing the command stream instruction to obtain the responded picture data;
applying the watermark instruction to a plurality of watermark areas on the picture data, synthesizing into a complete image frame,
the step of generating the watermark instruction comprises: and generating corresponding watermark instructions aiming at the plurality of watermark areas.
10. A method of watermark synthesis as claimed in claim 9, wherein the plurality of watermark regions have the same watermark instruction.
11. A computer program product having a computer program stored thereon, which computer program, when being executed by a processor, is operative to carry out the method of watermark synthesis according to any one of claims 1-10.
12. A server for a cloud desktop, comprising:
the receiving unit is configured to receive an operation instruction of the cloud desktop;
a response unit configured to generate a responsive command stream instruction according to the operation instruction;
a watermark generation unit configured to generate a watermark instruction; and
and the instruction transmission unit is configured to issue the command stream instruction and the watermark instruction to the cloud desktop.
13. A client for a cloud desktop, comprising:
the sending unit is configured to send an operation instruction of the cloud desktop to the server;
a command stream receiving unit configured to receive a responsive command stream instruction from the server;
a watermark receiving unit configured to receive a watermark instruction from the server; and
a watermark composition engine configured to compose the command stream instructions and watermark instructions into a complete image frame;
a display configured to display the image frames.
CN202210507605.4A 2022-05-09 2022-05-09 Watermark synthesis method, cloud desktop server, client and computer readable storage medium Pending CN114924819A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210507605.4A CN114924819A (en) 2022-05-09 2022-05-09 Watermark synthesis method, cloud desktop server, client and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210507605.4A CN114924819A (en) 2022-05-09 2022-05-09 Watermark synthesis method, cloud desktop server, client and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN114924819A true CN114924819A (en) 2022-08-19

Family

ID=82808579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210507605.4A Pending CN114924819A (en) 2022-05-09 2022-05-09 Watermark synthesis method, cloud desktop server, client and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN114924819A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107610038A (en) * 2017-09-29 2018-01-19 新华三技术有限公司 The display methods of watermark, apparatus and system
CN109840131A (en) * 2017-11-27 2019-06-04 中兴通讯股份有限公司 A kind of watermark adding method, device and computer readable storage medium
CN109977634A (en) * 2017-12-27 2019-07-05 中兴通讯股份有限公司 A kind of method, apparatus, computer equipment and the storage medium of watermark addition
CN113986064A (en) * 2021-09-23 2022-01-28 新华三大数据技术有限公司 Cloud desktop cursor processing method and device and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107610038A (en) * 2017-09-29 2018-01-19 新华三技术有限公司 The display methods of watermark, apparatus and system
CN109840131A (en) * 2017-11-27 2019-06-04 中兴通讯股份有限公司 A kind of watermark adding method, device and computer readable storage medium
CN109977634A (en) * 2017-12-27 2019-07-05 中兴通讯股份有限公司 A kind of method, apparatus, computer equipment and the storage medium of watermark addition
CN113986064A (en) * 2021-09-23 2022-01-28 新华三大数据技术有限公司 Cloud desktop cursor processing method and device and storage medium

Similar Documents

Publication Publication Date Title
US8237740B2 (en) Method and system for receiving a local vector object and viewing a vector image
RU2424559C1 (en) Method and computer system for reducing amount of data transmitted to remote client terminal
US20120050301A1 (en) Architecture For Rendering Graphics On Output Devices Over Diverse Connections
CN111818120A (en) End cloud user interaction method and system, corresponding equipment and storage medium
EP3311565B1 (en) Low latency application streaming using temporal frame transformation
WO2020192451A1 (en) Real-time picture projection method and apparatus of ar glasses screen, controller and medium
US20140074911A1 (en) Method and apparatus for managing multi-session
WO2021169236A1 (en) Rendering method and apparatus
KR20140120240A (en) Method of object customization by high-speed and realistic 3d rendering through web pages
US7583269B2 (en) Window system 2D graphics redirection using direct texture rendering
CN112379963B (en) Remote application window control method and device and computer equipment
TW554283B (en) Data processing system for generating graphics data and method of communicating graphics data
CN111870948A (en) Window management method and system under cloud game single-host multi-user environment
CN114924819A (en) Watermark synthesis method, cloud desktop server, client and computer readable storage medium
JP2009020723A (en) Server device and program
CN114496175A (en) Medical image viewing method, device, equipment and storage medium
CN114913277A (en) Method, device, equipment and medium for three-dimensional interactive display of object
CN114371838A (en) Method, device and equipment for rendering small program canvas and storage medium
KR101321600B1 (en) Rendering system and method
CN102104584B (en) Method and device for transmitting 3D model data, and 3D model data transmission system
CN116383018B (en) Method and system for self-defining flow tracking plug-in
CN118154746A (en) Hierarchical rendering method, device and storage medium in metaspace
KR20220106661A (en) Method and Apparatus for entity tracking based on feature data independent of augmented reality engine
CN118262022A (en) Scene generation method, device and storage medium in metaspace
CN116340687A (en) Webpage generation method and device, storage medium and electronic equipment

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