WO2014029091A1 - Window image transmission method, display method, terminal, server, and system - Google Patents

Window image transmission method, display method, terminal, server, and system Download PDF

Info

Publication number
WO2014029091A1
WO2014029091A1 PCT/CN2012/080475 CN2012080475W WO2014029091A1 WO 2014029091 A1 WO2014029091 A1 WO 2014029091A1 CN 2012080475 W CN2012080475 W CN 2012080475W WO 2014029091 A1 WO2014029091 A1 WO 2014029091A1
Authority
WO
WIPO (PCT)
Prior art keywords
window
area
display
coordinate
height
Prior art date
Application number
PCT/CN2012/080475
Other languages
French (fr)
Chinese (zh)
Inventor
秦晋
狄龙
谢军安
张楚雄
张毅
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2012/080475 priority Critical patent/WO2014029091A1/en
Priority to CN201280001095.8A priority patent/CN103959246B/en
Publication of WO2014029091A1 publication Critical patent/WO2014029091A1/en

Links

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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the embodiments of the present invention relate to the field of communications technologies, and in particular, to a window image transmission method, a display method, a terminal, a server, and a system. Background of the invention
  • the terminal and the server generally interact with each other as follows:
  • the terminal uploads a request for running the application generated by the user operation to the server, and the server calculates and processes the request after the application is run, and obtains the window image and sound of the application running.
  • the data is sent to the terminal, so that the terminal decodes and displays the window image.
  • one server runs multiple virtual machines at the same time, and each virtual machine runs a different application.
  • the server selects a specific virtual machine to run the application requested by the terminal, and then the virtual machine sends the window image of the application running to the terminal in real time.
  • data for multiple applications is displayed on the same terminal's desktop.
  • each application corresponds to a virtual machine, that is, the terminal establishes a connection with multiple virtual machines to obtain images, sounds, and the like that are running on different virtual machines. Therefore, the terminal needs to receive the transmitted data of each virtual machine and decode it on the desktop of the terminal.
  • the terminal displays data of multiple applications
  • the user may only focus on the window image displayed by one or several applications at the forefront of the desktop.
  • the virtual machine sends a window image of multiple application runs to the terminal, it will consume a lot of network bandwidth.
  • the terminal needs to decode the window image of multiple application operations, which increases the processing load of the terminal.
  • An object of the embodiments of the present invention is to provide a method, a display method, a terminal, a server, and a system for transmitting a window image, and displaying a window when a plurality of windows are occluded.
  • a first aspect of the present invention provides a method for transmitting a window image, including: in a process of running an application, a receiving terminal sends window information of a window corresponding to the application, and determining a display area of the window according to the window information. And sending, according to the display area of the window, image data corresponding to the display area information of the window to the terminal, so that the terminal performs display.
  • a second aspect of the present invention provides a server, including: a receiving unit, configured to: when a virtual machine runs an application, receive, by the terminal, window information of a window corresponding to the application;
  • Determining a unit determining, according to the window information, display area information of the window
  • the transmission unit transmits, by the display area information of the window, image data corresponding to the display area information of the window to the terminal, so that the terminal performs display.
  • a third aspect of the present invention provides a method for displaying a window, including: in a process of running an application, sending, by a virtual machine, window information of a window corresponding to the application to a server, so that the virtual machine on the server is according to the window Information, determining display area information of the window; receiving image data corresponding to the display area information of the window sent by the server and displaying the image data.
  • a fourth aspect of the present invention provides a terminal, including: a sending unit, configured to send, by a virtual machine, window information of a window corresponding to the application to a server, in a process of running an application, so that the virtual machine on the server is configured according to the virtual machine The window information, determining display area information of the window;
  • the receiving unit receives and displays the image data corresponding to the display area information of the window sent by the server.
  • a third aspect of the present invention provides a window display system including the above server and the above terminal.
  • the window image transmission method, the display method, the terminal, the server, and the system according to the embodiment of the present invention send image data corresponding to the display area information of the window according to the display area information of the window displayed by the terminal, when the window display area is smaller than the entire window In the area, it is not necessary to send the image data corresponding to the entire window area, thereby reducing the network load and improving the terminal operating efficiency.
  • FIG. 1 is a schematic flow chart of a method for transmitting a window image according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram 1 of a window in a method for transmitting a window image according to an embodiment of the present invention.
  • FIG. 3 is a second schematic diagram of a window in a method for transmitting a window image according to an embodiment of the present invention.
  • FIG. 4 is a third schematic diagram of a window in a method for transmitting a window image according to an embodiment of the present invention.
  • FIG. 5 is a window intent 4 of a method for transmitting a window image according to an embodiment of the present invention.
  • FIG. 6 is a first schematic structural diagram of a server according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram 2 of a server according to an embodiment of the present invention.
  • FIG. 8 is a schematic flowchart 1 of a method for displaying a window according to an embodiment of the present invention.
  • FIG. 9 is a schematic flowchart 1 of a method for displaying a window according to an embodiment of the present invention.
  • FIG. 10 is a first schematic structural diagram of a terminal according to an embodiment of the present invention.
  • FIG. 11 is a second schematic structural diagram of a terminal according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a display system of a window according to an embodiment of the present invention. Mode for carrying out the invention
  • an embodiment of the present invention provides a method for transmitting a window image, including:
  • Step 11 In the process of running the application, the receiving terminal sends the window information of the window corresponding to the application.
  • Step 12 Determine display area information of the window according to the window information
  • Step 13 Send image data corresponding to the display area information of the window to the terminal according to the display area information of the window, so that the terminal performs display.
  • the execution body of the window image transmission method in the embodiment of the present invention may be a server-side virtual machine.
  • the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application that the virtual machine runs the terminal request according to the identifier, and the virtual machine and the terminal establish the transmission application operation data and the receiving terminal sends the information. connection. Therefore, the terminal sends the window information of the application in the terminal display window or the user's operation for the application to the virtual machine running the application through the connection.
  • the window is the window displayed by the application running on the terminal.
  • the method for transmitting a window image sends image data corresponding to the display area information of the window according to the display area information of the window displayed by the terminal.
  • the window display area is smaller than the entire window area, the entire image does not need to be sent.
  • the image data corresponding to the window area thereby achieving the effect of reducing the network load.
  • the window information sent by the terminal includes: a window display state, a coordinate of any corner point of the cover area of the window, and a width and a height of the cover area.
  • the coordinates include an X coordinate and a Y coordinate
  • the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system
  • the screen coordinate system refers to a point of the upper left corner of the display screen as a coordinate origin (0, 0)
  • a horizontal direction is an X axis.
  • the vertical direction is the Y axis
  • the window coordinate system refers to the coordinate point origin (0, 0) of the upper left corner of the window, the X axis for the horizontal direction, and the Y axis for the vertical direction; the cover area of the window may be one or more.
  • the window information may further include: a number of cloaking windows.
  • the message type of the terminal sending window information is Updata_Window_infrom, and the message format can be as shown in Table 1 below, so that the virtual machine parses the message to obtain the window information sent by the terminal - Table 1
  • the parameters of the number of cover windows, X coordinate, Y coordinate, width and height are empty.
  • the width refers to the length of the region on the X axis
  • the height is the length of the region on the Y axis.
  • the X coordinate and the Y coordinate may be the coordinates of any corner point of the first cover area, and Table 1 takes the value of the point of the upper left corner, and may also take the coordinates of other corner points.
  • the embodiments of the present invention are not limited herein. The corresponding parameters in other tables refer to the description of this paragraph.
  • the corner of the covering area may be the upper left corner point, the upper right corner point, the lower left corner point or the lower right corner point of the covering area.
  • the upper left corner is preferred.
  • the window information sent by the terminal includes: a window display state, a coordinate of any corner point of the window, a width and a height of the window, and a coordinate of the z-axis sequence larger than the corner of the window and covering the window. And the Z-axis order is larger than the window And cover the window width and height of the window.
  • the coordinates include an X coordinate and a Y coordinate, and the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system; a window whose z-axis sequence is larger than the window and covers the window may be one or more.
  • the window information may further include: a number of cloaking windows.
  • the message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 2 below, so that the virtual machine parses the message to obtain the window information sent by the terminal:
  • the width and height of the window larger than the window and covering the window can determine the X coordinate, the Y coordinate, the width and the height of the cover area of any corner of the cover area of the window as shown in Table 1.
  • the corner point can be the upper left corner point, the upper right corner point, the lower left corner point, or the lower right corner point.
  • the upper left corner is preferred.
  • Z-axis sequence Z-axis sequence: When using the operating system, multiple windows are opened, resulting in a heap of overlapping windows. To indicate the position of these stacked windows, each window is labeled using the z-axis sequence, and each window has a unique position in the z-axis sequence. This window stack is along a virtual axis - the "z-axis", extending vertically from the screen. The window at the top of the z-axis sequence covers other windows in the Z-axis sequence. The window at the bottom of the Z-axis sequence is covered by other windows in the Z-axis sequence.
  • the Windows system puts the window just created on top of the Z-axis sequence, and the user can change the Z-axis sequence by activating another window; the Windows system always places the active window on top of the Z-axis sequence, the application can use functions.
  • a single linked list of the system maintains the Z-axis sequence.
  • the user changes the Z-axis sequence during the activation of different windows. For example, by using the GetNextWindow() parameter, you can get the handle of the previous or next window in the Z-axis sequence.
  • the operating system of the terminal can obtain the Z-axis order and window coordinate information of each window, including the coordinates of the top left corner and the width and height of each window.
  • the window information sent by the terminal includes: coordinates of any corner point of the window, width and height of the window, a Z-axis order is greater than coordinates of any corner of the window of the window, and a Z-axis sequence is larger than the window.
  • the coordinate includes the X coordinate and the Y coordinate, and the coordinate may adopt the coordinate of the screen coordinate system or the coordinate of the window coordinate system; the window whose Z axis sequence is larger than the window may be more than one.
  • the window information may further include: a number of cloaking windows.
  • the message type of the terminal sending window information is Updata_Window_infrom, and the message format can be as shown in Table 3 below, so that the virtual machine parses the message to obtain the window information sent by the terminal:
  • Message type string Indicates the message type, set to window display status update message
  • the first z-axis is greater than the X coordinate of any corner of the window of the window
  • the first z-axis order is greater than the Y coordinate of any corner of the window of the window.
  • width int The first z-axis order is greater than the width of the window of the window.
  • Height int The first z-axis order is greater than the width of the window's window int second, third...
  • the z-axis order is greater than the window's (X, Y, width, Height) in Table 3, through the window
  • the X coordinate of the corner point, the Y coordinate, the width and height of the window, and the X coordinate, the Y coordinate, and the z axis sequence of any corner of the window whose z-axis order is larger than the window are larger than the width and height of the window of the window, and can be determined.
  • the X coordinate, the Y coordinate, and the z-axis sequence of any corner point of the window as shown in Table 2 that is larger than the window and covering the window are larger than the window and the width and height of the window covering the window, thereby further determining The X coordinate, the Y coordinate, the width and height of the cover area of any corner point of the cover area of the window shown in Table 1.
  • the corner point can be the upper left corner point, the upper right corner point, the lower left corner point, or the lower right corner point.
  • the upper left corner is preferred.
  • the terminal can send window information in the above three types of message formats, and the terminal and the virtual machine can negotiate in advance which format to use to send window information, so that the virtual machine can parse out the window information.
  • the size of the window is in units of pixels.
  • the window width is 640 and the height is 480
  • the width of the window is 640 pixels and the height is 480 pixels.
  • the two windows of the corresponding application may also be different. This difference can be divided into three categories:
  • the window size is different: If the server's window size is 640*480, the size of the terminal's window is dragged by the user to 480*320.
  • the position of the window is different: For example, the coordinates of the upper left corner of the window of the server are (50, 50), but the coordinates of the upper left corner of the window of the terminal are (40, 70).
  • the terminal window size and the window size of the virtual machine can be obtained through the API (Application Programming Interface) provided by the operating system, and will not be described here.
  • API Application Programming Interface
  • the coordinates of the terminal and the sitting needs of the virtual machine can be converted to each other:
  • the window size of the virtual machine is X1*Y1
  • the size of the terminal window is ⁇ 2* ⁇ 2
  • the coordinates of the upper left corner of the terminal window are (xl, yl)
  • the virtual machine The coordinates of the upper left corner of the window are (x2, y2).
  • the window width is 480
  • the height is 320
  • the coordinates of the upper left corner of the window of the virtual machine are (50, 60)
  • the width of the window is 800
  • the height is 600.
  • the coordinate transformation can be performed on the virtual machine side or at the terminal. If the coordinate transformation is performed at the terminal, the terminal sends a window position request message to the virtual machine to obtain a virtual Machine window size and location information. If the coordinate transformation is performed on the virtual machine side, the window size and location information of the terminal may be included in the message (such as Table 1 - Table 3 format), or the terminal sends a separate window notification message carrying the window size and location information of the terminal to the virtual Machine, in order to facilitate the coordinate conversion of the virtual machine, not to repeat here.
  • the window information of the window sent by the terminal may be represented by a coordinate of a screen coordinate system (the screen coordinate system refers to a coordinate of the upper left corner of the display screen as a coordinate origin (0, 0)), or It is represented by the coordinates of the window coordinate system (the window coordinate system refers to the point in the upper left corner of the window as the coordinate origin (0, 0)).
  • the window information in the format of the table 1 can be represented by the coordinates in the window coordinate system. Since the virtual machine does not need to calculate the cover area according to the window information, the virtual machine can quickly obtain the cover area according to the coordinates in the window coordinate system.
  • the window information in the format of Table 2 and Table 3 can be represented by the coordinates in the screen coordinate system.
  • the terminal when the terminal establishes a window, or the Z-axis sequence of the window changes, or the coordinates of any corner of the window change, or the width or height of the window changes, the terminal
  • the window information of the window needs to be updated to the corresponding virtual machine, so that the corresponding virtual machine receives the window information of the updated window sent by the terminal.
  • step 12 determining the display area information of the window according to the window information of the window, including: mode 1, when the window information is in the format of the table 1:
  • the display area of the window is determined to be 0.
  • the display area of the window is determined to be the entire window except the cover area.
  • the area when there are a plurality of cover areas, determine a joint cover area composed of a plurality of cover areas, thereby determining a display area of the window as a field outside the joint cover area of the entire window.
  • the coordinates of the upper left corner of the window A are (50, 50), and the width is 150, the height is 100; the upper left corner of the window ( (X, ⁇ ) coordinates are (70, 80), the width is 60, the height is 120; the upper left corner of the window C ( ⁇ , ⁇ ) coordinates are (100, 110), width is 140, height is 100; as the upper left corner of window D ( ⁇ , ⁇ ) coordinates are (210, 160), width is 20, and height is 20.
  • the window display state of the window A is partially covered, and the (X, Y) coordinate of the upper left corner of the first cover field of the window A is (70, 80), the first cover The area is 60 wide and 70 high.
  • the second cover area of the window
  • the (X,Y) coordinate of the upper left corner is (100, 110), the second cover area is 100 wide, and the height is 40.
  • a joint covering area composed of the first covering area and the second covering area is determined, wherein the coordinates are (100, 110), the width is 30, and the height is 40 area is an overlapping area.
  • the display area of the window ⁇ is determined as the area of the entire window A except the joint cover area.
  • the window display state of the window B is partially covered, and the ( ⁇ , ⁇ ) coordinate of the upper left corner of the cover area of the window B is (100, 110), and the cover area width is 30, the height is 40, thereby determining the display area of the window ⁇ to remove the area outside the occlusion area for the entire window.
  • window C the window display state of window C is full display, and the display area of the window is determined to be the entire window C.
  • window D the window display state of the window D is completely covered, and the display area of the window is determined to be 0.
  • the window display state in the window information is completely covered, it is determined that the display area of the window is 0.
  • the window display state in the window information is partially covered, according to the X coordinate, the ⁇ coordinate, the width and the height of any corner of the window in the window information, and any corner of the window whose axis sequence is larger than the window and covers the window.
  • the X coordinate, ⁇ coordinate, width and height of the point determine the X coordinate, ⁇ coordinate, width and height of the occlusion area of any corner of the occlusion field;
  • the display area of the window is an area other than the occlusion area of the entire window, and when the occlusion area is plural, determining a plurality of occlusion areas The joint cover area, thereby determining the display area of the window as the area of the entire window except the joint cover area.
  • the coordinates (X, Y) of the upper left corner of the window ⁇ are (50, 50), The width is 150 and the height is 100; the upper left corner of the window ⁇ ( ⁇ , ⁇ ) has coordinates (70, 80), width 60, and height 120; window C's upper left corner (X, ⁇ ) coordinates are (100) , 110), width is 140, height is 100; as in the upper left corner of window D ( ⁇ , ⁇ ) coordinates are (210, 160), width is 20, height is 20.
  • the window display state of the window A is partially covered, and the coordinates of the ( ⁇ , ⁇ ) point according to the upper left corner of the window A are (50, 50), and the width is 150, high.
  • the (X,Y) coordinates of the upper left corner of the window ⁇ that is larger than the window ⁇ and cover the window ⁇ are (70, 80)
  • the width is 60
  • the height is 120
  • the ⁇ axis order is larger than the window ⁇
  • the (X,Y) coordinates of the upper left corner of the window C of the cover window are (100, 110)
  • the width is 140
  • the height is 100.
  • the ( ⁇ , ⁇ ) coordinates of the upper left corner of the first cover area of the window ⁇ are determined. For (70, 80), the first cover area is 60 wide and 70 high.
  • the ( ⁇ , ⁇ ) coordinates of the upper left corner of the second occlusion area of the window are (100, 110), and the second cover area is 100 wide and 40 high.
  • the display area of the window ⁇ is determined to be the area of the entire window A except the joint occlusion field.
  • the window display state of the window B is partially covered.
  • the coordinates (X, Y) are (70, 80), the width is 60, and the height is 120, and the ( ⁇ , ⁇ ) coordinate of the upper left corner of the window C whose axis sequence is larger than the window ⁇ and covers the window ⁇ is (100, 110), the width is 140, and the height is 100, and the upper left corner of the cover area of the window ⁇ is determined.
  • the coordinates of the point ( ⁇ , ⁇ ) are (100, 110), the width of the occlusion area is 30, and the height is 40, so that the display area of the window ⁇ is determined to be the area outside the occlusion area of the entire window.
  • window C the window display state of window C is full display, and the display area of the window is determined to be the entire window C.
  • window D the window display state of the window D is completely covered, and the display area of the window is determined to be 0.
  • the z-axis order is larger than the Whether the window of the window covers the window, if the window whose z-axis order is larger than the window does not cover the window, the window display state of the window is full display, and the display area of the window is determined to be the entire window;
  • the X coordinate, Y coordinate, the width and the height of any corner of the window in the window information, and the window whose z-axis order is larger than the window and covers the window The X coordinate, Y coordinate, width and height of a corner point, determine the X coordinate, Y coordinate, width and height of the cover area of any corner point of the cover area; According to the X coordinate, the Y coordinate, the width and the height of the corner of the cover area, it is determined whether the cover area completely covers the window. When there are multiple cover areas, it is determined whether the joint cover area composed of the plurality of cover areas is completely covered.
  • the window if the occlusion area or the joint occlusion area completely covers the window, the window display state of the window is full occlusion, thereby determining that the display field of the window is 0, and if the occlusion area or the joint occlusion area does not completely cover the window,
  • the window display state of the window is partially covered, and the display area of the window is determined to be an area of the entire window except the cover area, or the display area of the window is determined to be an area of the entire window except the joint cover area.
  • the coordinates (X, Y) of the upper left corner of the window A are (50, 50), and the width is wide.
  • the height is 100; the upper left corner of the window ( (X, ⁇ ) coordinates are (70, 80), the width is 60, the height is 120; the upper left corner of the window C ( ⁇ , ⁇ ) coordinates are (100, 110), width is 140, height is 100; as in the upper left corner of window D ( ⁇ , ⁇ ) coordinates are (210, 160), width is 20, height is 20.
  • the (X, Y) coordinate of the upper left corner of window A is (50, 50), the width is 150, the height is 100, and the axis sequence is greater than
  • the ( ⁇ , ⁇ ) coordinates of the upper left corner of the window ⁇ window are (70, 80), the width is 60, and the height is 120.
  • the coordinates of the upper left corner of the window ⁇ are determined to be within the window area of the window ⁇ .
  • the coordinates (50, 50), the width 150, and the height of 100 degrees are calculated (X, Y) of the upper right corner of the window ⁇ is (200, 50), and Calculate the coordinates of the lower left corner point (50, 150), determine that the X-axis coordinate 70 of the upper left corner of the window ⁇ is greater than the X-axis coordinate 50 of the upper left corner of the window ,, less than the X-axis coordinate 200 of the upper right corner of the window A, and It is determined that the Y-axis coordinate 80 of the upper left corner of the window B is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and is greater than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window B is located in the window A. Within the window area. Further, the z-axis order of the window B is determined to be larger than the window A and the
  • the (X, Y) coordinates of the upper left corner of the window A are (50, 50), the width is 150, the height is 100, and the top left corner of the window C whose axis sequence is larger than the window ⁇ is
  • the ( ⁇ , ⁇ ) coordinates are (100, 110), the width is 140, and the height is 100. It is determined that the coordinates of the upper left corner of the window C are located in the window area of the window ⁇ .
  • the coordinates (50, 50), the width 150, and the height of 100 degrees are calculated (X, Y) of the upper right corner of the window ⁇ (200, 50), and Calculating the coordinates of the lower left corner point (50, 150), determining that the X-axis coordinate 100 of the upper left corner of the window C is greater than the X-axis coordinate 50 of the upper left corner of the window ,, less than the X-axis coordinate 200 of the upper right corner of the window A, and It is determined that the Y-axis coordinate 110 of the upper left corner of the window C is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and is greater than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window C is located in the window A. Within the window area. Further, the z-axis order of the window C is larger than the window A and the window A is covered
  • the (X, Y) coordinates of the upper left corner of window A are (50, 50), and the window!
  • the coordinates of the upper left corner ( ⁇ , ⁇ ) are (210, 160), the width is 20, and the height is 20.
  • the coordinates of the upper right corner of the calculation window ⁇ ( ⁇ , ⁇ ) are (200, 50), and the lower left corner is calculated.
  • Point coordinates (50, 150) determining that the X-axis coordinate 210 of the upper left corner of the window D is greater than the X-axis coordinate 200 of the upper right corner of the window ,, and the Y-axis coordinate 160 of the upper left corner of the window D is greater than the upper right corner of the window A
  • the Y-axis coordinate of the point is 150, thereby determining that the upper left corner of the window D is outside the window area of the window A. Further determining that window D does not obscure window A.
  • the X-axis coordinate of the upper left corner of the window B is larger than the X-axis coordinate of the upper right corner of the window A, or the Y-axis coordinate of the upper left corner of the window B is larger than the Y-axis coordinate of the lower left corner of the window A, that is, The upper left corner of window B is not located in the window area of window A, then it is determined that window A is not covered by window B; it is assumed that the X-axis coordinate of the upper left corner of window C is larger than the window.
  • the X-axis coordinate of the upper right corner of A, or the Y-axis coordinate of the upper left corner of window C is greater than the Y-axis coordinate of the lower left corner of window A, that is, the upper left corner of window C is not located in the window area of window A, then It is determined that the window A is not covered by the window C; therefore, it is determined that the window A is not covered by the window B, the window (;, the window D, and the window display state of the window A is the full display, and the display area of the window A is determined to be the entire window.
  • the covered area i.e., the first covered area in which the window A is covered by the window B is obtained.
  • the coordinates (X, Y) of the upper right corner of the window A are (200, 50) and the coordinates of the lower left corner (50, 150), and
  • the coordinates (X, Y) of the upper right corner of the window B are calculated as (130, 80) and the coordinates of the lower left corner (70, 200), and the window B is determined.
  • the upper right corner point is located in the area of the window A, and the lower left corner point of the window B is outside the area of the window A, then the width of the first covering area is determined to be the width 60 of the window B, and the height of the first covering area is the window A
  • the Y-axis coordinate 150 of the lower left corner point minus the Y-axis coordinate 80 of the upper left corner of the window B is 70. Therefore, the ( ⁇ , ⁇ ) coordinate of the upper left corner of the first cover area of the window A is (70, 80), and the first cover area is 60 wide and 70 high.
  • the coordinates of the upper right corner of the window ⁇ are located outside the area of the window , that is, the X-axis coordinate of the upper right corner of the window B is greater than the X-axis coordinate of the window A, and the width of the first covering area is the window A.
  • the X-axis coordinate of the upper right corner point is subtracted from the coordinates of the upper left corner of the window B.
  • the height of the first covered area is the height of the window B.
  • the masked area (i.e., the second covered area) in which the window A is covered by the window C is obtained according to the width 140 of the window C and the height 100, and the coordinates of the upper left corner of the window A and the width and height of the window A.
  • the coordinates (X, Y) of the upper right corner of the window A are (200, 50) and the coordinates of the lower left corner (50, 150), and
  • the coordinates ( ⁇ , ⁇ ) of the upper right corner of the window C are calculated as (240, 100) and the coordinates of the lower left corner (100, 210), and the window C is determined.
  • the upper right corner point is outside the area of the window ⁇ and the lower left corner of the window C is outside the area of the window D, then the width of the second covered area is determined as the X-axis coordinate of the upper right corner of the window A 200 minus the window
  • the X-axis coordinate 100 of the upper left corner of C is 100
  • the height of the second masking area is the Y-axis coordinate 150 of the lower left corner of the window A minus the Y-axis coordinate 110 of the upper left corner of the window C is 40. Therefore, the (X,Y) coordinate of the upper left corner of the second cover area of the window A is (100, 110), and the second cover area is 100 wide and 40 high.
  • the width of the second covered area is the width of the window C.
  • the height of the second covered area is the height of the window C.
  • the joint cover area does not completely cover the window A, and the display of the window A is determined.
  • the area is the entire area of the window A except the joint mask area.
  • the joint cover area is less than or equal to the X-axis coordinate of the upper left corner of the window A
  • the Y-axis coordinate of the upper left corner of the joint cover area is less than or equal to the Y-axis coordinate of the upper left corner of the window A
  • the joint cover If the width of the area is greater than or equal to the width of the window A, and the height of the joint cover area is greater than or equal to the height of the window A, it is determined that the joint cover area completely covers the window A, and the display area of the window A is determined to be 0.
  • the coordinates of the upper left corner ( ⁇ , ⁇ ) according to the window ⁇ are (70, 80), the width is 60, the height is 120, and the window whose axis sequence is larger than the window ⁇
  • the ( ⁇ , ⁇ ) coordinates of the upper left corner of C are (100, 110), the width is 140, and the height is 100.
  • the coordinates of the upper left corner of the fixed window C are located in the window area of the window B.
  • the coordinates are (70, 80), the width is 60, and the height is 120.
  • the coordinates of the upper right corner of the calculation window ⁇ ( ⁇ , ⁇ ) are (130, 80).
  • the width is 60
  • the height is 120
  • the upper left corner of the window D (X, ⁇ ) coordinates are (210, 160)
  • the width is 20
  • the height is 20
  • the coordinates of the upper right corner of the calculation window ⁇ ( ⁇ , ⁇ ) are (130, 80)
  • the coordinates of the lower left corner point (70, 200) are calculated
  • the X-axis coordinate 210 of the upper left corner of the window D is determined. It is greater than the X-axis coordinate 130 of the upper right corner of the window ,, thereby determining that the upper left corner of the window D is outside the window area of the window ⁇ . Further confirmation window D does not cover the window ⁇ .
  • the X-axis coordinate of the upper left corner of the window C is larger than the X-axis coordinate of the upper right corner of the window ,, or the ⁇ -axis coordinate of the lower left corner of the window of the upper left corner of the window C, that is, the window
  • the upper left corner of C is not located in the window area of the window , then it is determined that the window ⁇ is not covered by the window (:, window D, the window ⁇ window display state is full display, and the window ⁇ display area is determined to be the entire window.
  • the window ⁇ is covered by the window C according to the width 140 and the height 100 of the window C, and the coordinates of the upper left corner of the window ⁇ and the width and height of the window ⁇ .
  • the coordinates ( ⁇ , ⁇ ) of the upper right corner of the window ⁇ are (130, 80) and the coordinates of the lower left corner (70, 200), and
  • the coordinates (X, ⁇ ) of the upper right corner of the window C are calculated as (240, 100) and the coordinates of the lower left corner (100, 110), and the window C is determined.
  • the upper right corner point is outside the area of the window
  • the lower left corner of the window C is outside the area of the window
  • the width of the occlusion area is determined as the X-axis coordinate 130 of the upper right corner of the window ⁇ minus the upper left corner of the window C
  • the X-axis coordinate 100 is 30, and the height of the cover area is the ⁇ axis coordinate 200 of the window ⁇ lower left corner point minus the ⁇ axis coordinate 110 of the upper left corner of the window C is 90. Therefore, the ( ⁇ , ⁇ ) coordinates of the upper left corner of the window ⁇ cover area are (100, 110), the cover area is 30 wide, and the height is 90.
  • the width of the occlusion area is the width of the window C.
  • the height of the cover area is the height of the window C.
  • the display area of the window ⁇ is determined to be the entire area of the window except the cover area.
  • the X-axis coordinate of the upper left corner of the cover area is smaller than the X-axis coordinate of the upper left corner of the window, and the coordinate of the upper left corner of the cover area is less than or equal to the pivot coordinate of the upper left corner of the window, and the width of the cover area is large.
  • the height of the occlusion area is greater than or equal to the height of the window ⁇ , then it is determined that the occlusion area completely covers the window ⁇ , and the display area of the window ⁇ is determined to be 0.
  • window C the Z-axis order of window C> the Z-axis order of window D> the Z-axis order of window B> the Z-axis order of window A
  • the window information of window C has no window of z-order in window C
  • the coordinates (X, Y) of the upper left corner of the window D are (210, 160), The width is 20 and the height is 20.
  • the coordinates (X, Y) of the upper right corner of the calculation window D are (230, 160), and the coordinates of the lower left corner of the calculation window D (210, 180) are larger than the window D according to the z-axis order.
  • the (X,Y) coordinates of the upper left corner of window C are (100, 110), the width is 140, and the height is 100.
  • the coordinates of the upper right corner of the calculation window C ( ⁇ , ⁇ ) are (240, 100), and Calculate the coordinates of the lower left corner of the window C (100, 210), and determine that the X-axis coordinate 210 of the upper left corner of the window D is greater than the X-axis coordinate 100 of the upper left corner of the window C, and is smaller than the X-axis coordinate of the upper right corner of the window C.
  • 240 and determining that the pivot coordinate 160 of the upper left corner of the window D is smaller than the pivot coordinate 210 of the lower left corner of the window C, is greater than the pivot coordinate 110 of the upper left corner of the window C, thereby determining that the window C covers the window D.
  • the coordinates of the upper right corner of D ( ⁇ , ⁇ ) is (210, 160), the coordinates of the lower left corner of window D (210, 180), and the coordinates of the upper right corner of window C ( ⁇ , ⁇ ) are (240, 100).
  • the coordinates of the lower left corner of the window C (100, 210) are determined to be (210, 160), and the coordinates of the upper right corner of the window D are located at the window C.
  • the width of the cover area is the width 20 of the window D
  • the lower left corner of the window C is located in the area of the window C
  • the height of the cover area is the height 20 of the window D.
  • the width of the cover area is the width 20 of the window D
  • the height of the cover area is the height 20 of the window D
  • the step of: 3 according to the display area information of the window, the image data corresponding to the display area information of the window is sent to the terminal, so that the terminal performs the display, including:
  • the image data of the entire window is acquired and sent to the terminal for display by the terminal.
  • the display area of the window is an area other than the cover area of the entire window
  • image data of the entire window is acquired, and the cover area is filled with a solid color or a colorless, and the filled image data is sent to the terminal, and the terminal displays.
  • the image data of the entire window is the image data of the application running corresponding to the window; the solid color is black or white.
  • the encoded data size of the image is complicated (the color type is large, the color distribution is uneven) is larger than the image is simple (the color type is single, the color distribution is uniform), so the image coding of the solid color is The amount of data is minimal.
  • the video stream that is, encoding a plurality of consecutive images
  • the encoding of the two images before and after only need to encode the changed portion of the second image, so the image to be covered is filled with a solid color and encoded, because the image is not It will change, and no coding will be used to reduce the amount of data in the video stream.
  • the display area of the window is 0, it is not necessary to acquire image data, and the amount of data of the video stream is reduced.
  • the method for transmitting a window image in the embodiment of the present invention may further include:
  • the display image transmission strategy includes: lowering the image of the window or not transmitting the image according to a Z-axis sequence of the window that is smaller than a Z-axis sequence of other windows of the terminal; An image of the window, or according to the ratio of the cover area of the window to the display area being greater than a certain threshold, determining to degrade the image of the window or not to transmit the image of the window;
  • the image of the window is reduced or not transmitted correspondingly.
  • the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load.
  • the terminal may directly set the window display state of the window to be completely covered by the window.
  • the user may only focus on the front end of the desktop (the Z-axis order is the largest).
  • the window corresponding to one or two applications does not focus on the window with a small z-axis order. Therefore, it is possible to reduce the transmission of a window with a small Z-axis sequence or a window with a small z-axis sequence, thereby reducing the network load. Improve terminal operating efficiency and reduce server load.
  • the method for transmitting a window image according to an embodiment of the present invention is applicable to an online application scenario, and the audio and video data of the window is efficiently compressed (for example, by using a video compression technology) and then sent to the terminal, and the terminal first decodes the compressed image after receiving the compressed image. Show.
  • the online application scenario is to transfer the image data of the application window of the server running application to the terminal, and the remote desktop transmits the entire desktop of the server to the terminal, but the terminal is in a window manner. display. Therefore, if the window of the remote desktop displayed by the terminal is partially covered by other windows, the area of the covered remote desktop corresponding to the server may be monochromatically filled and then encoded and transmitted. If the cover is completely covered, the image of the entire desktop is not used. Encoding, without transmission, can also reduce network bandwidth and reduce resource consumption of servers and terminals.
  • the method for transmitting a window image in the embodiment of the present invention is also applicable to a remote desktop application scenario.
  • the embodiment of the present invention provides a server, which includes: a receiving unit 61. In the process of running an application, the receiving terminal sends the application corresponding to the virtual terminal. a window information of the window; a determining unit 62, configured to determine display area information of the window according to the window information;
  • the transmission unit 63 transmits, by the T, image data corresponding to the display area information of the window to the terminal according to the display area information of the window, so that the terminal performs display.
  • the server of the embodiment of the present invention sends image data corresponding to the display area information of the window according to the display area information of the window displayed by the terminal.
  • the window display area is smaller than the entire window area, the image corresponding to the entire window area does not need to be sent. Data to achieve the effect of reducing network load.
  • the terminal before the receiving unit 61 receives the window information of the window corresponding to the application, the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application requested by the virtual machine running terminal according to the identifier. And the virtual machine and the terminal establish a connection for transmitting the application running data and receiving the information sent by the terminal. Therefore, the terminal transmits the window information of the application in the terminal display window or the user's operation for the application to the virtual machine running the application through the connection.
  • the window is the window displayed by the application running on the terminal.
  • the window information sent by the terminal includes: a window display state, a coordinate of any corner point of the cover area of the window, and a width and a height of the cover area.
  • the coordinates include an X coordinate and a Y coordinate
  • the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system
  • the screen coordinate system refers to a point of the upper left corner of the display screen as a coordinate origin (0, 0)
  • a horizontal direction is an X axis.
  • the vertical direction is the Y axis
  • the window coordinate system means that the upper left corner of the window is the coordinate origin (0, 0), the horizontal direction is the X axis, and the vertical direction is the Y axis; the window covering area can be one or more.
  • the window information may further include: a number of cloaking windows.
  • the message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 1, so that the virtual machine parses the message to obtain the window information sent by the terminal.
  • the window information sent by the terminal includes: a window display state, a coordinate of any corner of the window, a width and a height of the window, a coordinate of the z-axis sequence larger than the corner of the window and the window covering the window, and the z-axis The order is larger than the window and covers the window width and height of the window.
  • the coordinates include an X coordinate and a Y coordinate, and the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system; the window may be one or more of the window and the window covering the window may be one or more.
  • the window information may further include: a number of cloaking windows.
  • the message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 2 above, so that the virtual machine parses the message to obtain the window information sent by the terminal.
  • the window information sent by the terminal includes: coordinates of any corner point of the window, width and height of the window, a coordinate of the Z axis is greater than a corner of the window of the window, and a Z axis order is greater than a window width of the window and height.
  • the coordinates include an X coordinate and a ⁇ coordinate, and the coordinate may adopt the coordinate of the screen coordinate system or the coordinate of the window coordinate system; the window whose Z axis sequence is larger than the window may be one or more.
  • the window information may further include: a number of cloaking windows.
  • the message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 3 above, so that the virtual machine parses the message to obtain the window information sent by the terminal.
  • the receiving unit 61 is further configured to receive a window location request message sent by the terminal, where the window location request message is used to obtain the window size and location information of the virtual machine.
  • the server provided by the embodiment of the present invention may further include a sending unit 71, configured to send the window size and location information of the virtual machine to the terminal.
  • the receiving unit 61 receives the window information sent by the terminal, where the window information includes the window size and location information of the terminal, or receives a window notification message sent by the terminal, and the window notifies the message carrying terminal of the window size and location information.
  • the server provided by the embodiment of the present invention may further include a coordinate conversion unit 72, configured to convert the coordinates of the terminal into two according to the window size and location information of the terminal, the window size and the location information of the virtual machine. The corresponding coordinates of the virtual machine.
  • the window size of the virtual machine can be obtained through the API provided by the operating system. Coordinate conversion formula: If the window size of the virtual machine is X1*Y1, the terminal window size is ⁇ 2* ⁇ 2, for example, the coordinates of the upper left corner of the terminal window are (xl, yl), and the coordinates of the upper left corner of the virtual machine window are (x2, y2).
  • the determining unit 62 can be specifically used for:
  • the display area of the window is determined to be 0.
  • the display area of the window is determined to be the entire window except the cover area.
  • the area when there are a plurality of cover areas, determine a joint cover area composed of a plurality of cover areas, thereby determining that the display area of the window is an area of the entire window except the joint cover area.
  • the determining unit 62 can be specifically used to determine the display area of the window as the entire window according to the window display state in the window information.
  • the display area of the window is determined to be 0.
  • the window display state in the window information is partially covered, according to the X coordinate, the Y coordinate, the width and the height of any corner point of the window in the window information, and any corner of the window whose z-axis order is larger than the window and covers the window X coordinate, Y coordinate, width of the point Degree and height, determine the X coordinate, Y coordinate, width and height of the cover area of any corner of the cover field;
  • the display area of the window is an area other than the covering area of the entire window, and when there are a plurality of covering areas, determining a plurality of covering areas
  • the joint occlusion area determines the display field of the window as the area of the entire window except the joint occlusion area.
  • determining unit 62 specifically for:
  • the z-axis order is larger than the Whether the window of the window covers the window, if the window whose z-axis order is larger than the window does not cover the window, the window display state of the window is full display, and the display area of the window is determined to be the entire window;
  • the X coordinate, Y coordinate, the width and the height of any corner of the window in the window information, and the window whose z-axis order is larger than the window and covers the window The X coordinate, Y coordinate, width and height of a corner point, determine the X coordinate, Y coordinate, width and height of the cover area of any corner point of the cover area;
  • the cover area According to the X coordinate, the Y coordinate, the width and the height of the corner of the cover area, it is determined whether the cover area completely covers the window. When there are multiple cover areas, it is determined whether the joint cover area composed of the plurality of cover areas is completely covered.
  • the window if the occlusion area or the joint occlusion area completely covers the window, the window display state of the window is full occlusion, thereby determining that the display field of the window is 0, and if the occlusion area or the joint occlusion area does not completely cover the window,
  • the window display state of the window is partially covered, and the display area of the window is determined to be an area of the entire window except the cover area, or the display area of the window is determined to be an area of the entire window except the joint cover area.
  • the transmission unit 63 can be configured to acquire image data of the entire window when the display area of the window is the entire window, and send the image data to the terminal for display by the terminal.
  • the display area of the window is an area of the entire window except the cover area
  • image data of the entire window is acquired, and the cover area is filled with a solid color or a colorless, and the filled image data is sent to the terminal, and the terminal displays .
  • the solid color is black or white.
  • the server of the embodiment of the present invention is further configured to:
  • the display image transmission strategy includes: lowering the image of the window or not transmitting the image according to a Z-axis sequence of the window that is smaller than a Z-axis sequence of other windows of the terminal; An image of the window, or according to the ratio of the cover area of the window to the display area being greater than a certain threshold, determining to degrade the image of the window or not to transmit the image of the window;
  • the transmission unit 63 is configured to reduce or not transmit the image of the window according to the display image transmission policy.
  • the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load.
  • the terminal determines that the image transmission policy is not to transmit the image of the window, the window display state in the window information sent by the terminal is completely covered by the window, so that the receiving unit 61 receives the window display in the window information sent by the terminal. The status is completely covered by the window.
  • an embodiment of the present invention provides a window display method, including:
  • Step 81 The virtual machine sends window information of the window corresponding to the application to the server, so that the virtual machine on the server determines the display area information of the window according to the window information.
  • Step 82 Receive image data corresponding to the display area information of the window sent by the server and display the image data.
  • the execution body of the display method of the window of the embodiment of the present invention is a terminal.
  • the terminal receives the image data corresponding to the display area information of the window sent by the server, and when the window display area is smaller than the entire window area, the image data corresponding to the entire window area does not need to be received, thereby achieving Reduce the effect of network load and improve terminal operating efficiency.
  • the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application requested by the virtual machine running terminal according to the identifier, and the transmission application running data and the receiving terminal are established by the virtual machine and the terminal.
  • the window is the window displayed by the application running on the terminal.
  • the window information of the window is determined.
  • the window information of the window is determined, including:
  • Step 91 The terminal acquires the Z-axis sequence of all windows of the terminal, the (X, Y) coordinates of any corner of all the windows, and the width and height of all the windows.
  • the terminal acquires the axis sequence of all windows, such as the axis sequence of window C > the axis sequence of window D > the axis sequence of the window ⁇ the axis sequence of the window ⁇ .
  • the coordinates of the upper left corner (X, Y) of the terminal acquisition window A are (50, 50), the width is 150, and the height is 100.
  • the upper left corner of the window ⁇ ( ⁇ , ⁇ ) The coordinates are (70,80), the width is 60, and the height is 120.
  • the upper left corner of window C ( ⁇ , ⁇ ) has coordinates (100,110), width 140, and height 100; as in the upper left corner of window D ( ⁇ , ⁇ )
  • the coordinates are (210, 160), the width is 20, and the height is 20.
  • Step 92 The terminal determines whether the axis sequence of the window is maximum, and if yes, the window display state is full display, otherwise, the process proceeds to step 93 to determine ( ⁇ , ⁇ ) coordinates and window of any corner of the window of the axis window Width and height.
  • the terminal determines that the Z-axis order of the window C is the largest according to the axis sequence of the window C, the axis sequence of the window D, and the axis sequence of the window ,, that is, the window C is the top of the Z-axis sequence.
  • the window according to the window at the top of the Z-axis sequence, covers other windows in the Z-axis sequence, and determines that the window display state of the window C is full display.
  • step 93 further determines ⁇ axis of order greater than any corner of the window the window points ( ⁇ , ⁇ ) coordinates and the width and height of the window.
  • Step 93 The terminal is greater than ( ⁇ , ⁇ ) coordinates of any corner of the window of the window according to the axis sequence, and the width and height of the window. Determining whether the window is covered by a window whose z-axis order is larger than the window. If not, the window display state of the window is full display, otherwise it is determined that the axis sequence is larger than the window and covers any corner of the window of the window ( ⁇ , ⁇ ) The coordinates and the width and height of the window.
  • the axis sequence of the window C, the axis sequence of the window D, and the axis sequence of the window ⁇ are larger than the axis sequence of the window , and the terminal is based on the horizontal and vertical axes ( ⁇ , ⁇ ) of the upper left corner of the window A and the window.
  • the width and height of the window are confirmed to be larger than the window ⁇ .
  • the upper left corner of the window is located in the window area of window A, and it is determined that window A is covered by window B. Specifically, as shown in FIG.
  • the terminal is based on the Z-axis sequence of window B> the Z-axis order of window A, and the horizontal and vertical axis (X, Y) coordinates of window A are (50, 50), width 150, height 100;
  • the upper left corner of the window ⁇ ( ⁇ , ⁇ ) coordinates are (70, 80), and the coordinates of the upper left corner of the window ⁇ are determined to be within the window area of the window ⁇ .
  • the terminal can calculate the coordinates ( ⁇ , ⁇ ) of the upper right corner of the window ⁇ according to the XY axis ( ⁇ , ⁇ ) coordinates of the window A as (50, 50), the width 150, and the height of 100 degrees (200, 50), And calculating the coordinates of the lower left corner point (50, 150), determining that the X-axis coordinate 70 of the upper left corner of the window ⁇ is greater than the X-axis coordinate 50 of the upper left corner of the window ,, and less than the X-axis coordinate 200 of the upper right corner of the window A, And determining that the Y-axis coordinate 80 of the upper left corner of the window B is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and larger than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window B is located in the window A.
  • the window area Within the window area.
  • the terminal confirms according to the horizontal and vertical axes ( ⁇ , ⁇ ) of the upper left corner of the window A, the width and height of the window, and the coordinates of the upper left corner of the window ⁇ and/or the height of the window ⁇ .
  • 1 axis sequence is larger than the window ⁇ window ⁇ window ⁇ the upper left corner of the point Y axis is sitting on the small D ⁇ window A lower left corner point Y coordinate, or the window B lower left corner point Y coordinate is greater than the window A
  • the Y-axis coordinate of the upper left corner point determines that window A is not covered by window B.
  • the terminal determines the upper left corner of the window ⁇ according to the horizontal and vertical axes ( ⁇ , ⁇ ) of the upper left corner of the window A and the width and height of the window and the coordinates of the upper left corner of the window ⁇ and/or the height of the window ⁇ .
  • the X coordinate of the point is larger than the X-axis coordinate of the upper left corner of the window ,, smaller than the X-axis coordinate of the upper right corner of the window A, and the Y-axis coordinate of the lower left corner of the window B is larger than the Y-axis coordinate of the upper left corner of the window A.
  • the ( ⁇ , ⁇ ) coordinates of the upper left corner of the window A are (50, 50), the width is 150, the height is 100, and the top left corner of the window C whose axis sequence is larger than the window ⁇ is ( ⁇ , ⁇ )
  • the coordinates are (100, 110), the width is 140, and the height is 100. It is determined that the coordinates of the upper left corner of the window C are located in the window area of the window ⁇ .
  • the coordinates (50, 50), the width 150, and the height of 100 degrees are calculated as the coordinates ( ⁇ , ⁇ ) of the upper right corner of the window ⁇ (200, 50), and Calculating the coordinates of the lower left corner point (50, 150), determining that the X-axis coordinate 100 of the upper left corner of the window C is greater than the X-axis coordinate 50 of the upper left corner of the window ,, less than the X-axis coordinate 200 of the upper right corner of the window A, and It is determined that the Y-axis coordinate 110 of the upper left corner of the window C is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and is greater than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window C is located in the window A. Within the window area. Further, the z-axis order of the window C is larger than the window A and the
  • the coordinates of ( ⁇ , ⁇ ) of the upper left corner of window A are (50, 50), and the coordinates of the upper left corner of window D ((, ⁇ ) are (210, 160), and the width is 20 , the height is 20, the coordinates of the upper right corner of the calculation window ( (X, ⁇ ) are (200, 50), and the coordinates of the lower left corner point (50, 150) are calculated, and the X-axis coordinate 210 of the upper left corner of the window D is determined to be greater than
  • the X-axis coordinate 200 of the upper right corner of the window A, the Y-axis coordinate 160 of the upper left corner of the window D is greater than the Y-axis coordinate 150 of the upper right corner of the window A, thereby determining that the upper left corner of the window D is located in the window area of the window A Outside. Further determining that window D does not obscure window A.
  • the X-axis coordinate of the upper left corner of the window B is larger than the X-axis coordinate of the upper right corner of the window A, or the Y-axis coordinate of the upper left corner of the window B is larger than the Y-axis coordinate of the lower left corner of the window A, that is, The top left corner of window B is not located in window A.
  • the window A In the window area, it is determined that the window A is not covered by the window B; it is assumed that the X-axis coordinate of the upper left corner of the window C is larger than the X-axis coordinate of the upper right corner of the window A, or the Y-axis coordinate of the upper left corner of the window C If the Y-axis coordinate of the lower left corner of the window A is larger, that is, the upper left corner of the window C is not located in the window area of the window A, it is determined that the window A is not covered by the window C; therefore, it is determined that the window A is not covered by the window B or the window ( The window D is covered, and the window display state of the window A is full display.
  • the Z-axis order of window C and the Z-axis order of window D are larger than the Z-axis order of window B, and the terminal coordinates (70, 80) according to the upper left corner of window B ( ⁇ , ⁇ ). ), the width is 60, the height is 120, and the "Y" coordinate of the upper left corner of the window C whose axis sequence is larger than the window ⁇ is (100, 110), the width is 140, and the height is 100.
  • the upper left of the window C is determined.
  • the corner coordinates are in the window area of the window ⁇ .
  • the width is 60
  • the height is 120
  • the coordinates of the upper right corner of the window ⁇ ( ⁇ , ⁇ ) are calculated as (130, 80)
  • calculating the coordinates of the lower left corner point (70, 200) determining that the X-axis coordinate 100 of the upper left corner of the window C is greater than the X-axis coordinate 70 of the upper left corner of the window ,, and less than the X-axis coordinate 130 of the upper right corner of the window ⁇
  • the axis coordinate 110 of the upper left corner of the window C is smaller than the pivot coordinate 200 of the lower left corner of the window ,, which is greater than the ⁇ axis coordinate 80 of the upper left corner of the window ,, thereby determining that the upper left corner of the window C is located in the window Inside the window area. Further, it is determined that the axis of the window C is in the window and the window is closed.
  • the coordinates are (70, 80), the width is 60, the height is 120, and the upper left corner of the window D (X, ⁇ ) coordinates are (210, 160), and the width is 20, the height is 20, the coordinates of the upper right corner of the calculation window ⁇ ( ⁇ , ⁇ ) are (130, 80), and the coordinates of the lower left corner point (70, 200) are calculated, and the X-axis coordinate 210 of the upper left corner of the window D is determined. It is greater than the X-axis coordinate 130 of the upper right corner of the window ,, thereby determining that the upper left corner of the window D is outside the window area of the window ⁇ . Further confirmation window D does not cover the window ⁇ .
  • the X-axis coordinate of the upper left corner of the window C is larger than the X-axis coordinate of the upper right corner of the window ,, or the ⁇ coordinate of the upper left corner of the window C is the ⁇ coordinate of the lower left corner of the window ,, that is, the window
  • the window ⁇ is not covered by the window (;, window D, and the window ⁇ window display state is full display.
  • the Z-axis order of the window C is larger than the Z-axis order of the window D
  • the terminal coordinates (X, Y) of the upper left corner of the window D according to the window information of the window D is (210, 160)
  • width is 20
  • height is 20
  • the coordinates (X, Y) of the upper right corner of the calculation window D are (230, 160)
  • the coordinates of the lower left corner of the calculation window D (210, 180), according to the z-axis order
  • the ( ⁇ , ⁇ ) coordinates of the upper left corner of the window C larger than the window D are (100, 110), the width is 140, and the height is 100.
  • the coordinates of the upper right corner of the calculation window C ( ⁇ , ⁇ ) are (240, 100). And calculating the coordinates of the lower left corner of the window C (100, 210), determining that the X-axis coordinate 210 of the upper left corner of the window D is greater than the X-axis coordinate 100 of the upper left corner of the window C, which is smaller than the upper right corner of the window C.
  • the X-axis coordinate 240, and the paraxial coordinate 160 of the upper left corner of the window D is determined to be smaller than the paraxial coordinate 210 of the lower left corner of the window C, and greater than the paraxial coordinate 110 of the upper left corner of the window C, thereby determining the axis of C
  • the sequence is larger than window D and covers window D.
  • Step 94 The terminal is larger than the ( ⁇ , ⁇ ) coordinate of any corner of the window according to the z-axis sequence and covering the window, and the width and height of the window, and the ( ⁇ , ⁇ ) coordinates of any corner of the window and the window. Width and height, determine the ( ⁇ , ⁇ ) coordinates of any corner of the window's covered area and the width and height of the covered area.
  • the occlusion area of the window A covered by the window B is obtained (ie, A covered area).
  • the coordinates of the upper left corner of the terminal window A and the width and height of the window A obtain the coordinates ( ⁇ , ⁇ ) of the upper right corner of the window A as (200, 50)
  • the coordinates of the lower left corner point (50, 150), and the coordinates of the upper right corner of the window B (X, Y) are (130, 80) and the lower left corner according to the coordinates of the upper left corner of the window B and the width and height of the window B.
  • the Y-axis coordinate 150 of the point minus the Y-axis coordinate 80 of the upper left corner of the window B is 70. Therefore, the (X, Y) coordinate of the upper left corner of the first cover area of the window A is (70, 80), the first cover The area is 60 wide and 70 high.
  • the terminal determines that the coordinates of the upper corner of the window ⁇ are outside the area of the window , that is, the X-axis coordinate of the upper right corner of the window B is greater than the X-axis coordinate of the window A, the width of the first covering area is the window.
  • the X-axis coordinate of the upper right corner of A is subtracted from the coordinates of the upper left corner of window B.
  • the height of the first covered area is the height of the window B.
  • the masked area (i.e., the second covered area) in which the window A is covered by the window C is obtained according to the width 140 of the window C and the height 100, and the coordinates of the upper left corner of the window A and the width and height of the window A.
  • the coordinates ( ⁇ , ⁇ ) of the upper right corner of the window A are (200, 50) and the coordinates of the lower left corner (50, 150), and
  • the coordinates (X, ⁇ ) of the upper right corner of the window C are calculated as (240, 100) and the coordinates of the lower left corner (100, 210), and the window C is determined.
  • the upper right corner point is outside the area of the window ⁇ and the lower left corner of the window C is outside the area of the window A, and then the width of the second covered area is determined as the X-axis coordinate 200 of the upper right corner of the window A minus the window C
  • the X-axis coordinate 100 of the upper left corner point is 100
  • the height of the second masking area is the Y-axis coordinate 150 of the lower left corner of the window A minus the Y-axis coordinate 110 of the upper left corner of the window C is 40. Therefore, the (X, Y) coordinate of the upper left corner of the second cover area of the window A is (100, 110), and the second cover area is 100 wide and 40 high.
  • the width of the second mask area is the width of the window C.
  • the height of the second covered area is the height of the window C.
  • the window B is covered by the window C according to the width 140 and the height 100 of the window C, and the coordinates of the upper left corner of the window B and the width and height of the window B.
  • the coordinates (X, Y) of the upper right corner of the window B are (130, 80) and the coordinates of the lower left corner (70, 200), and Calculate the coordinates of the upper right corner of the window C ( ⁇ , ⁇ ) as (240, 100) and the coordinates of the lower left corner (100, 110) according to the coordinates of the upper left corner of the window C and the width and height of the window C, and determine the window C.
  • the upper right corner point is outside the area of the window
  • the lower left corner of the window C is outside the area of the window
  • the width of the occlusion area is determined as the X-axis coordinate 130 of the upper right corner of the window ⁇ minus the upper left corner of the window C
  • the X-axis coordinate 100 is 30, and the height of the cover area is the ⁇ axis coordinate 200 of the window ⁇ lower left corner point minus the ⁇ axis coordinate 110 of the upper left corner of the window C is 90. Therefore, the ( ⁇ , ⁇ ) coordinates of the upper left corner of the window area are (100, 110), the cover area is 30 wide, and the height is 90.
  • the width of the occlusion area is the width of the window C.
  • the height of the cover field is the height of the window C.
  • the coordinates (X, ⁇ ) of the upper right corner of D are (210, 160), the coordinates of the lower left corner of window D (210, 180), and the coordinates of the upper right corner of window C ( ⁇ , ⁇ ) is (240, 100), and the coordinates of the lower left corner of the window C (100, 210), determine the coordinates of the upper left corner of the window D ( ⁇ , ⁇ ) (210, 160), window D
  • the coordinates of the upper right corner point are located in the area of the window C, and the width of the cover area is the width 20 of the window D, and the lower left corner of the window C is located in the area of the window C.
  • the height of the covered area is the height 20 of the window D.
  • Step 95 When the terminal determines that the cover area of the window completely covers the window, determine that the window display state of the window is full cover. When the cover area of the window does not completely cover the window, the window display state of the window is partially covered.
  • the X-axis coordinate of the upper left corner of the joint cover area is less than or equal to the X-axis coordinate of the upper left corner of the window A
  • the Y-axis coordinate of the upper left corner of the joint cover area is smaller than the Y-axis coordinate of the upper left corner of the window A
  • the joint cover The width of the area is greater than or equal to the width of the window A, and the height of the joint cover area is high, and the height of the window A is determined to completely cover the window A, that is, the window display state of the window A is fully covered.
  • the cover area does not completely cover the window B, that is, the window display state of the window B is partially covered.
  • the X-axis coordinate of the upper left corner of the cover area is less than or equal to the X-axis coordinate of the upper left corner of the window B.
  • the Y-axis coordinate of the upper left corner of the cover area is less than or equal to the Y-axis coordinate of the upper left corner of the window B, and the width of the cover area is large.
  • the height of the cover area is greater than or equal to the height of the window B, it is determined that the cover area completely covers the window B, that is, the window display state of the window B is fully covered.
  • the width of the covering area is the width 20 of the window D
  • the height of the covering area is the height 20 of the window D
  • the covering area is completely determined.
  • the window D is covered, that is, the window display state of the window D is fully covered.
  • the window information includes a window size and location information of the terminal, or the terminal sends a window notification message, where the window notifies the message carrying the window size and location information of the terminal, so that the server
  • the window size and location information of the terminal, the window size and location information of the virtual machine convert the coordinates of the terminal into the corresponding coordinates of the virtual machine.
  • the display method of the window of the embodiment of the present invention may further include:
  • the window location request message is used to request the window size and location information of the virtual machine.
  • the coordinates of the terminal are converted into corresponding coordinates of the virtual machine according to the window size and position information of the terminal, the window size and position information of the virtual machine.
  • the window size of the terminal can be obtained through an API provided by the operating system. Coordinate conversion formula: If the window size of the virtual machine is X1*Y1, the terminal window size is ⁇ 2* ⁇ 2, for example, the coordinates of the upper left corner of the terminal window are (xl, yl), and the coordinates of the upper left corner of the virtual machine window are (x2, y2).
  • the display method of the window of the embodiment of the present invention may further include:
  • the determined display image transmission policy is sent to the server.
  • the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load.
  • the terminal determines that the image transmission policy is not to transmit the image of the window, the window display state in the window information sent by the terminal is completely covered by the window.
  • the embodiment of the present invention provides a terminal, including: a sending unit 101, configured to send a window of a window corresponding to the application in a process of running the application by the virtual machine.
  • the information is sent to the server, so that the virtual machine on the server determines the display area information of the window according to the window information.
  • the receiving unit 102 is configured to receive image data corresponding to the display area information of the window sent by the server and display the image data.
  • the terminal of the embodiment of the present invention receives the image data corresponding to the display area information of the window sent by the server. When the window display area is smaller than the entire window area, the image data corresponding to the entire window area does not need to be received, thereby reducing the network load. And improve terminal operating efficiency.
  • the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application requested by the virtual machine running terminal according to the identifier, and the virtual machine and the terminal establish a connection for transmitting the application running data and transmitting the information by the receiving terminal. Therefore, the terminal transmits the window information of the application in the terminal display window or the user's operation for the application to the virtual machine running the application through the connection.
  • the window is the window displayed by the application running on the terminal.
  • the terminal of the embodiment of the present invention further includes:
  • the determining unit 111 is configured to determine the window information of the window when the terminal establishes a window, or the z-axis sequence of the window changes, or the coordinate of any corner of the window changes, or the width or height of the window changes.
  • the determination unit 11 body includes:
  • the obtaining subunit 1111 is configured to acquire the Z-axis sequence of all windows of the terminal, the ( ⁇ , ⁇ ) coordinates of any corner point of all the windows, and the width and height of all the windows;
  • the first determining sub-unit 1112 is configured to determine whether the axis sequence of the window corresponding to the application is the maximum, and if yes, the window display state of the window corresponding to the application is a full display;
  • a second determining sub-unit 1113 configured to determine, by the first determining sub-unit 1112, that the axis sequence of the window corresponding to the application is not the maximum, according to any one of the corners of the window corresponding to the window corresponding to the application ( ⁇ , ⁇ ).
  • the coordinates and the width and height of the window determine whether the window corresponding to the application is covered by the window whose axis sequence is larger than the window corresponding to the application. If not, the window display state of the corresponding window of the application is full display, otherwise the axis is determined.
  • a third determining subunit 1114 configured to: ( ⁇ , ⁇ ) coordinates of any corner of the window corresponding to the window corresponding to the application and cover the window corresponding to the application, and the width and height of the window, and the application corresponding to the application The ( ⁇ , ⁇ ) coordinates of any corner of the window and the width and height of the window, determine the ( ⁇ , ⁇ ) coordinates of any corner of the covered area of the window corresponding to the application, and the width and height of the occluded area;
  • the fourth determining sub-unit 1115 is configured to determine that the cover area of the window corresponding to the application completely covers the window corresponding to the application, and determine that the window display state of the window corresponding to the application is full coverage, and the cover area of the corresponding window of the application is not When the window corresponding to the application is completely covered, it is determined that the window display state of the window corresponding to the application is partially covered.
  • the window information sent by the sending unit 101 may include the window size and location information of the terminal, or the sending unit 101 sends a window notification message, where the window notifies the message carrying the window size and location information of the terminal, so that the server is configured according to the terminal.
  • the window size and location information, the window size and location information of the virtual machine convert the coordinates of the terminal to the corresponding coordinates of the virtual machine.
  • the sending unit 101 may be further configured to send a window location request message to the server, where the window location request message is used to request to obtain the window size and location information of the virtual machine; at this time, the receiving unit 102 may further be configured to receive The window size and location information of the virtual machine sent by the server; at this time, the terminal of the embodiment of the present invention further includes a coordinate conversion 112, which is used to set the coordinates of the terminal according to the window size and location information of the terminal, the window size and the location information of the virtual machine. Convert to the corresponding coordinates of the virtual machine.
  • the window size of the terminal can be obtained through an API provided by the operating system. Coordinate conversion formula: If the window size of the virtual machine is X1*Y1, the terminal window size is ⁇ 2* ⁇ 2, for example, the coordinates of the upper left corner of the terminal window are (xl, yl), and the coordinates of the upper left corner of the virtual machine window are (x2, y2).
  • the determining unit 111 is further configured to determine, according to the Z-axis sequence of the window that is smaller than the Z-axis sequence of the other windows of the terminal, that the display image transmission policy is to degrade the image of the window or not to transmit the image of the window. Or determining, according to the ratio of the cover area of the window to the display area, that the display image transmission policy is to degrade the image of the window or not to transmit the image of the window;
  • the sending unit 101 is further configured to send the determined display image transmission policy to the server.
  • the first determining subunit 1112 may determine whether the Z-axis order of the window is smaller than the Z-axis order of other windows of the terminal.
  • the fourth determining sub-unit 1115 may determine that the ratio of the covered area of the window to the display area is greater than a certain threshold.
  • the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load.
  • the terminal determines that the image transmission policy is displayed as not transmitting the image of the window, the window display state in the window information sent by the sending unit 101 is full coverage of the window.
  • an application schematic diagram of a display system of a window according to an embodiment of the present invention includes a terminal 121 and a server 122.
  • the terminal 121 includes a determining unit 1211, a coordinate converting unit 1212, an input device unit 1213, a transmitting unit 1214, a receiving unit 1215, and a display unit 1216.
  • the server 122 includes a receiving unit 1221, an application running unit 1222, an image capturing unit 1223, an image filling unit 1224, an image position processing unit 1225, an encoding unit 1226, and a transmitting unit 1226.
  • the determining unit 1211 is configured to determine window information of the window.
  • the coordinate conversion unit 1212 is configured to convert the window coordinates of the terminal into corresponding coordinates of the window on the server-side virtual machine.
  • the input device unit 1213 is configured to generate an input event.
  • the input events operated by the user may specifically refer to keyboard and mouse events (terminals of the PC model), button or touch screen events (mobile phone or PDA type terminals), remote control or gamepad operation events (television type terminals), and the like.
  • the sending unit 1214 is configured to send window information to the receiving unit 1221.
  • the receiving unit 1221 is configured to receive the window information sent by the sending unit 1214, and send the information to the application running unit 1222 and the image.
  • Location processing unit 1225 is configured to receive the window information sent by the sending unit 1214, and send the information to the application running unit 1222 and the image.
  • the application running unit 1222 controls the running of the application on the virtual machine, including starting, suspending, and aborting the application.
  • the processing unit 1225 is configured to determine the window covering area information when the window portion is covered, or calculate the window covering area information according to the window covering position information.
  • the image intercepting unit 1223 is configured to intercept an image of the window according to the running of the application running unit 1222, and send the captured image to the encoding unit 1226 when the window is fully displayed.
  • the image filling unit 1224 is configured to fill a masked area in the image of the cut window with a solid color when the window portion is covered, and send the clipped image with the fill to the encoding unit 726.
  • the encoding unit 1226 is configured to encode the received image and send it to the sending unit 1226.
  • the sending unit 226 is configured to send the encoded image to the receiving unit 1215.
  • the receiving unit 1215 is configured to receive the encoded image from the sending unit 1226.
  • the display unit 1216 is configured to perform decoding display on the encoded image received by the receiving unit 1215.
  • the terminal 121 and the server 122 in the display system of the embodiment of the present invention can be specifically understood by referring to the terminal and the server in the above embodiments, and details are not described herein.
  • a person skilled in the art can understand that all or part of the process of implementing the above embodiment method can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. In execution, the flow of an embodiment of the methods as described above may be included.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Abstract

A window image transmission method comprises: in a process of operating an application, a virtual machine receiving window information (11) sent by a terminal and corresponding to the application; determining display area information (12) about the window according to the window information; and sending, according to the display area information about the window, image data corresponding to the display area information about the window to the terminal, so that the terminal performs display (13). A display method, a terminal, a server, and a system are further disclosed. In the solution, image data corresponding to display area information about a window is sent according to the display area information about the window displayed by an application in the terminal, and when a window display area is smaller than a whole window area, it is not required to send image data corresponding to the whole window, so as to achieve an effect of reducing the network load.

Description

窗口图像的传输方法、 显示方法、 终端、 服务器及系统 技术领域  Window image transmission method, display method, terminal, server and system
本发明实施例涉及通信技术领域, 尤其涉及一种窗口图像的传输方法、 显示方法、 终端、 服务 器及系统。 发明背景  The embodiments of the present invention relate to the field of communications technologies, and in particular, to a window image transmission method, a display method, a terminal, a server, and a system. Background of the invention
目前, 在线应用系统中, 终端与服务器一般交互过程为: 终端将用户操作产生的应用运行的请 求上传到服务器, 服务器收到应用运行的请求后进行计算和处理, 获得应用运行的窗口图像、 声音 等数据并发送到终端, 以便终端对窗口图像进行解码及显示。  At present, in the online application system, the terminal and the server generally interact with each other as follows: The terminal uploads a request for running the application generated by the user operation to the server, and the server calculates and processes the request after the application is run, and obtains the window image and sound of the application running. The data is sent to the terminal, so that the terminal decodes and displays the window image.
为了有效的实现资源利用率, 一台服务器同时运行多个虚拟机, 每个虚拟机运行不同的应用。 终端向服务器发出应川运行的请求后, 服务器选择一个特定虚拟机运行终端请求的应用, 然后虚拟 机将应用运行的窗口图像实时发送给终端。 对终端用户来说, 同一终端的桌面上显示了多个应用的 数据。 然而每个应用都对应于一台虚拟机, 也就是说终端会与多个虚拟机建立连接, 以获取不同虚 拟机上运行的应 W的图像、 声音等数据。 因此, 终端就需要接收每个虚拟机的发送来的数据, 并解 码显示在终端的桌面上.  In order to effectively achieve resource utilization, one server runs multiple virtual machines at the same time, and each virtual machine runs a different application. After the terminal sends a request to the server to run the response, the server selects a specific virtual machine to run the application requested by the terminal, and then the virtual machine sends the window image of the application running to the terminal in real time. For the end user, data for multiple applications is displayed on the same terminal's desktop. However, each application corresponds to a virtual machine, that is, the terminal establishes a connection with multiple virtual machines to obtain images, sounds, and the like that are running on different virtual machines. Therefore, the terminal needs to receive the transmitted data of each virtual machine and decode it on the desktop of the terminal.
对于用户来说, 虽然终端显示多个应用的数据, 但用户有可能只关注于桌面最前端的一个或几 个应用显示示的窗口图像。 此时, 如果虚拟机还将多个应用运行的窗口图像发送给终端, 会占用大 量网络带宽。 而且, 终端需要对多个应用运行的窗口图像解码, 增加了终端的处理负担。 发明内容  For the user, although the terminal displays data of multiple applications, the user may only focus on the window image displayed by one or several applications at the forefront of the desktop. At this point, if the virtual machine sends a window image of multiple application runs to the terminal, it will consume a lot of network bandwidth. Moreover, the terminal needs to decode the window image of multiple application operations, which increases the processing load of the terminal. Summary of the invention
本发明实施例的目的是提供一种窗口图像的传输方法、 显示方法、 终端、 服务器及系统, 对多 窗口存在遮挡的情况进行窗口显示。  An object of the embodiments of the present invention is to provide a method, a display method, a terminal, a server, and a system for transmitting a window image, and displaying a window when a plurality of windows are occluded.
本发明第一方面提供了一种窗口图像的传输方法, 包括, 虚拟机在运行应用的过程中, 接收终 端发送该应用对应的窗口的窗口信息, 根据所述窗口信息确定所述窗口的显示区域; 根据所述窗口 的显示区域, 将 窗口的显示区域信息对应的图像数据发送给所述终端, 以使所述终端进行显示。  A first aspect of the present invention provides a method for transmitting a window image, including: in a process of running an application, a receiving terminal sends window information of a window corresponding to the application, and determining a display area of the window according to the window information. And sending, according to the display area of the window, image data corresponding to the display area information of the window to the terminal, so that the terminal performs display.
本发明第二方面提供了一种服务器, 包括, 接收单元, 用于虚拟机在运行应用的过程中, 接收 终端发送该应用对应的窗口的窗口信息;  A second aspect of the present invention provides a server, including: a receiving unit, configured to: when a virtual machine runs an application, receive, by the terminal, window information of a window corresponding to the application;
确定单元, 川于根据所述窗口信息, 确定所述窗口的显示区域信息;  Determining a unit, determining, according to the window information, display area information of the window;
传输单元, W于根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发送 给所述终端, 以使所述终端进行显示。  The transmission unit transmits, by the display area information of the window, image data corresponding to the display area information of the window to the terminal, so that the terminal performs display.
本发明第三方面提供了一种窗口的显示方法, 包括, 虚拟机在运行应用的过程中, 发送该应用 对应的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述窗口的 显示区域信息; 接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 本发明第四方面提供了一种终端, 包括, 发送单元, 用于虚拟机在运行应用的过程中, 发送该 应用对应的的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述 窗口的显示区域信息; A third aspect of the present invention provides a method for displaying a window, including: in a process of running an application, sending, by a virtual machine, window information of a window corresponding to the application to a server, so that the virtual machine on the server is according to the window Information, determining display area information of the window; receiving image data corresponding to the display area information of the window sent by the server and displaying the image data. A fourth aspect of the present invention provides a terminal, including: a sending unit, configured to send, by a virtual machine, window information of a window corresponding to the application to a server, in a process of running an application, so that the virtual machine on the server is configured according to the virtual machine The window information, determining display area information of the window;
接收单元, 于接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 本发明第三方面提供了一种窗口的显示系统, 包括上述的服务器以及上述的终端。  The receiving unit receives and displays the image data corresponding to the display area information of the window sent by the server. A third aspect of the present invention provides a window display system including the above server and the above terminal.
作为第一方面的第一可能的实现方式中,  As a first possible implementation of the first aspect,
本发明实施例窗口图像的传输方法、 显示方法、 终端、 服务器及系统, 根据应用在终端显示的 窗口的显示区域信息, 发送与窗口的显示区域信息对应的图像数据, 当窗口显示区域小于整个窗口 区域时, 不需要发送整个窗口区域对应的图像数据, 从而达到降低网络负载, 提高终端运行效率。 附图简要说明  The window image transmission method, the display method, the terminal, the server, and the system according to the embodiment of the present invention send image data corresponding to the display area information of the window according to the display area information of the window displayed by the terminal, when the window display area is smaller than the entire window In the area, it is not necessary to send the image data corresponding to the entire window area, thereby reducing the network load and improving the terminal operating efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
图 1为本发明实施例窗口图像的传输方法的流程示意图。  FIG. 1 is a schematic flow chart of a method for transmitting a window image according to an embodiment of the present invention.
图 2为本发明实施例窗口图像的传输方法中窗口示意图一。  FIG. 2 is a schematic diagram 1 of a window in a method for transmitting a window image according to an embodiment of the present invention.
图 3为本发明实施例窗口图像的传输方法统中窗口示意图二。  FIG. 3 is a second schematic diagram of a window in a method for transmitting a window image according to an embodiment of the present invention.
图 4为本发明实施例窗口图像的传输方法中窗口示意图三。  FIG. 4 is a third schematic diagram of a window in a method for transmitting a window image according to an embodiment of the present invention.
图 5为本发明实施例窗口图像的传输方法中窗口意图四。  FIG. 5 is a window intent 4 of a method for transmitting a window image according to an embodiment of the present invention.
图 6为本发明实施例服务器的构成示意图一。  FIG. 6 is a first schematic structural diagram of a server according to an embodiment of the present invention.
图 7为本发明实施例服务器的构成示意图二。  FIG. 7 is a schematic structural diagram 2 of a server according to an embodiment of the present invention.
图 8为本发明实施例窗口的显示方法的流程示意图一。  FIG. 8 is a schematic flowchart 1 of a method for displaying a window according to an embodiment of the present invention.
图 9为本发明实施例窗口的显示方法的流程示意图一。  FIG. 9 is a schematic flowchart 1 of a method for displaying a window according to an embodiment of the present invention.
图 10为本发明实施例终端的构成示意图一。  FIG. 10 is a first schematic structural diagram of a terminal according to an embodiment of the present invention.
图 11为本发明实施例终端的构成示意图二。  FIG. 11 is a second schematic structural diagram of a terminal according to an embodiment of the present invention.
图 12为本发明实施例窗口的显示系统的构成示意图。 实施本发明的方式  FIG. 12 is a schematic structural diagram of a display system of a window according to an embodiment of the present invention. Mode for carrying out the invention
如图 1所示, 本发明实施例提供一种窗口图像的传输方法, 包括:  As shown in FIG. 1, an embodiment of the present invention provides a method for transmitting a window image, including:
步骤 11、 虚拟机在运行应用的过程中, 接收终端发送该应用对应的窗口的窗口信息。  Step 11: In the process of running the application, the receiving terminal sends the window information of the window corresponding to the application.
步骤 12、 根据所述窗口信息, 确定所述窗口的显示区域信息;  Step 12: Determine display area information of the window according to the window information;
步骤 13、 根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发送给所述 终端, 以使所述终端进行显示。  Step 13: Send image data corresponding to the display area information of the window to the terminal according to the display area information of the window, so that the terminal performs display.
本发明实施例窗口图像的传输方法的执行主体可以是服务器端的虚拟机。 在执行步骤 11之前, 终端向服务器发出携带应用标识的应用运行的请求, 服务器根据用应标识选择虚拟机运行终端请求 的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端发送信息的连接。 因此, 终端通过该 连接将该应用在终端显示窗口的窗口信息或用户针对应用的操作发送给运行该应用的虚拟机。 窗口 是虚拟机运行的应用在终端显示的窗口。 本发明实施例提供的窗口图像的传输方法, 根据应用在终端显示的窗口的显示区域信息, 发送 与窗口的显示区域信息对应的图像数据, 当窗口显示区域小于整个窗口区域时, 不需要发送整个窗 口区域对应的图像数据, 从而达到降低网络负载的效果。 The execution body of the window image transmission method in the embodiment of the present invention may be a server-side virtual machine. Before performing step 11, the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application that the virtual machine runs the terminal request according to the identifier, and the virtual machine and the terminal establish the transmission application operation data and the receiving terminal sends the information. connection. Therefore, the terminal sends the window information of the application in the terminal display window or the user's operation for the application to the virtual machine running the application through the connection. The window is the window displayed by the application running on the terminal. The method for transmitting a window image according to an embodiment of the present invention sends image data corresponding to the display area information of the window according to the display area information of the window displayed by the terminal. When the window display area is smaller than the entire window area, the entire image does not need to be sent. The image data corresponding to the window area, thereby achieving the effect of reducing the network load.
其中, 具体而言, 上述步骤 11中, 终端发送的窗口信息包括: 窗口显示状态, 窗口的遮盖区域 任一角点的坐标, 以及遮盖区域的宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕 坐标系的坐标或者窗口坐标系的坐标,屏幕坐标系是指以显示器屏幕的左上角点为坐标原点(0, 0) , 横向为 X轴, 纵向为 Y轴, 窗口坐标系是指以窗口的左上角点为坐标原点 (0, 0)), 横向为 X轴, 纵 向为 Y轴; 窗口的遮盖区域可以为一个或者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。  Specifically, in the foregoing step 11, the window information sent by the terminal includes: a window display state, a coordinate of any corner point of the cover area of the window, and a width and a height of the cover area. Wherein, the coordinates include an X coordinate and a Y coordinate, and the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system, and the screen coordinate system refers to a point of the upper left corner of the display screen as a coordinate origin (0, 0), and a horizontal direction is an X axis. The vertical direction is the Y axis, and the window coordinate system refers to the coordinate point origin (0, 0) of the upper left corner of the window, the X axis for the horizontal direction, and the Y axis for the vertical direction; the cover area of the window may be one or more. Optionally, the window information may further include: a number of cloaking windows.
定义终端发送窗口信息的消息类型为 Updata— Window— infrom,消息格式可以如下表 1所示, 从而虚拟机解析该消息获取终端发送的窗口信息 - 表 1  The message type of the terminal sending window information is Updata_Window_infrom, and the message format can be as shown in Table 1 below, so that the virtual machine parses the message to obtain the window information sent by the terminal - Table 1
Figure imgf000005_0001
Figure imgf000005_0001
表 1中, 窗口显示状态为全显示或者全遮盖时, 遮盖窗口数量、 X坐标、 Y坐标、 宽度及高度 的参数为空。 值得说明的是, 本申请中宽度指区域在 X轴的长度, 高度为区域在 Y轴的长度。 另, 在表 1中, X坐标和 Y坐标可以为第一个遮盖区域的任一角点的坐标,表一取值为左上角点的坐标, 也可以取其它角点的坐标。 本发明实施例在此不做限定。 其它表中的相应参数参照此段说明。  In Table 1, when the window display status is full display or full coverage, the parameters of the number of cover windows, X coordinate, Y coordinate, width and height are empty. It should be noted that in the present application, the width refers to the length of the region on the X axis, and the height is the length of the region on the Y axis. In addition, in Table 1, the X coordinate and the Y coordinate may be the coordinates of any corner point of the first cover area, and Table 1 takes the value of the point of the upper left corner, and may also take the coordinates of other corner points. The embodiments of the present invention are not limited herein. The corresponding parameters in other tables refer to the description of this paragraph.
表 1中, 遮盖区域角点可以为遮盖区域左上角点、 右上角点、 左下角点或者右下角点。 较佳的, 基于采用的坐标系, 如屏幕坐标系 (以显示器屏幕的左上角点为坐标原点 (0,0 ) ) 或者窗口坐标系 (以窗口的左上角点为坐标原点 (0,0)), 则优选左上角点。  In Table 1, the corner of the covering area may be the upper left corner point, the upper right corner point, the lower left corner point or the lower right corner point of the covering area. Preferably, based on the adopted coordinate system, such as the screen coordinate system (the upper left corner of the display screen is the coordinate origin (0, 0)) or the window coordinate system (the upper left corner of the window is the coordinate origin (0, 0) ), then the upper left corner is preferred.
或者, 上述步骤 11中, 终端发送的窗口信息包括: 窗口显示状态, 窗口任一角点的坐标, 窗口 的宽度和高度, z轴序大于该窗口且遮盖该窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口 且遮盖该窗口的窗口宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标 或者窗口坐标系的坐标; z 轴序大于该窗口且遮盖该窗口的窗口可以为一个或者多个。 可选的, 窗 口信息还可以包括: 遮盖窗口数量。 Alternatively, in the above step 11, the window information sent by the terminal includes: a window display state, a coordinate of any corner point of the window, a width and a height of the window, and a coordinate of the z-axis sequence larger than the corner of the window and covering the window. And the Z-axis order is larger than the window And cover the window width and height of the window. Wherein, the coordinates include an X coordinate and a Y coordinate, and the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system; a window whose z-axis sequence is larger than the window and covers the window may be one or more. Optionally, the window information may further include: a number of cloaking windows.
定义终端发送窗口信息的消息类型为 Updata— Window一 infrom, 消息格式可以如下表 2所示, 从而虚拟机解析该消息获取终端发送的窗口信息:  The message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 2 below, so that the virtual machine parses the message to obtain the window information sent by the terminal:
表 2  Table 2
Figure imgf000006_0001
Figure imgf000006_0001
表 2中, 窗口显示状态为全显示或者全遮盖时, 遮盖窗口数量、 X坐标、 Y坐标、 宽度及高度为 空。  In Table 2, when the window display state is full display or full coverage, the number of cover windows, X coordinate, Y coordinate, width and height are empty.
表 2中, 通过窗口的任一角点的 X坐标、 Y坐标、 窗口的宽度和高度, 以及 z轴序大于该窗口且 遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 z轴序大于该窗口且遮盖该窗口的窗口的宽度和高 度, 可以确定如表 1所示的窗口的遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度。  In Table 2, the X coordinate, the Y coordinate, the width and height of the window passing through any corner of the window, and the X coordinate, Y coordinate, and z-axis sequence of any corner of the window whose z-axis order is larger than the window and covers the window. The width and height of the window larger than the window and covering the window can determine the X coordinate, the Y coordinate, the width and the height of the cover area of any corner of the cover area of the window as shown in Table 1.
表 2中, 角点可以为左上角点、 右上角点、 左下角点或者右下角点。 较佳的, 优选左上角点。 对 Z轴序简单说明, Z轴序: 在使用操作系统时, 会打开多个窗口, 从而产生了一个重叠窗口 的堆。 为了表明这些 叠窗口的位置, 使用 z轴序来对各窗口进行标注, 每个窗口在 z轴序中都有 唯一的一个位置。这个窗口堆是沿着一个虚拟的轴—— "z轴", 从屏幕垂直向外延伸。 z轴序顶部的 窗口覆盖 Z轴序中的其他窗口。 Z轴序底部的窗口被 Z轴序中的其他窗口覆盖。 In Table 2, the corner point can be the upper left corner point, the upper right corner point, the lower left corner point, or the lower right corner point. Preferably, the upper left corner is preferred. A brief description of the Z-axis sequence, Z-axis sequence: When using the operating system, multiple windows are opened, resulting in a heap of overlapping windows. To indicate the position of these stacked windows, each window is labeled using the z-axis sequence, and each window has a unique position in the z-axis sequence. This window stack is along a virtual axis - the "z-axis", extending vertically from the screen. The window at the top of the z-axis sequence covers other windows in the Z-axis sequence. The window at the bottom of the Z-axis sequence is covered by other windows in the Z-axis sequence.
例如, Windows系统把刚刚创建的窗口放在 Z轴序的顶部, 用户可通过激活另外一个窗口来改 变 Z 轴序; Windows 系统总是把活动的窗口放在 Z 轴序的顶部, 应用程序可用函数 For example, the Windows system puts the window just created on top of the Z-axis sequence, and the user can change the Z-axis sequence by activating another window; the Windows system always places the active window on top of the Z-axis sequence, the application can use functions.
BringWindowToTopO把一个窗口放置到 Z轴序的顶部。 BringWindowToTopO places a window on top of the Z-axis sequence.
通常, 系统川一个单链表维护 Z轴序。 用户在激活不同的窗口过程中会改变 Z轴序。 例如通过 用 GetNextWindow() 凼数, 可以获得 Z轴序中的前一个或后一个窗口的句柄。  Usually, a single linked list of the system maintains the Z-axis sequence. The user changes the Z-axis sequence during the activation of different windows. For example, by using the GetNextWindow() parameter, you can get the handle of the previous or next window in the Z-axis sequence.
可见, 终端的操作系统可以得到每个窗口的 Z轴序、 窗口坐标信息, 包括左上角顶点坐标及每 个窗口的宽度和高度。  It can be seen that the operating system of the terminal can obtain the Z-axis order and window coordinate information of each window, including the coordinates of the top left corner and the width and height of each window.
或者, 上述步骤 11中, 终端发送的窗口信息包括: 窗口任一角点的坐标, 窗口的宽度和高度, Z轴序大于该窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口的窗口宽度和高度。 其中, 坐 标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐标系的坐标; Z轴序大于该窗口 的窗口可以为一个 者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。  Alternatively, in the above step 11, the window information sent by the terminal includes: coordinates of any corner point of the window, width and height of the window, a Z-axis order is greater than coordinates of any corner of the window of the window, and a Z-axis sequence is larger than the window. Window width and height. The coordinate includes the X coordinate and the Y coordinate, and the coordinate may adopt the coordinate of the screen coordinate system or the coordinate of the window coordinate system; the window whose Z axis sequence is larger than the window may be more than one. Optionally, the window information may further include: a number of cloaking windows.
定义终端发送窗口信息的消息类型为 Updata— Window— infrom,消息格式可以如下表 3所示, 从而虚拟机解析消息获取终端发送的窗口信息:  The message type of the terminal sending window information is Updata_Window_infrom, and the message format can be as shown in Table 3 below, so that the virtual machine parses the message to obtain the window information sent by the terminal:
表 3  table 3
参数 类型 说明 消息类型 string 指示消息类型, 设为窗口显示状态更新消息, Parameter Type Description Message type string Indicates the message type, set to window display status update message,
可定义为 Updata_Windwo_infrom_  Can be defined as Updata_Windwo_infrom_
X坐标 int 窗口任一角点的 X坐标  X coordinate int X coordinate of any corner of the window
Y坐标 int 窗口任一角点的 Y坐标 宽度 width int 窗口的宽度 高度 Height int 窗口的高度 遮盖窗口数量 int 标识有多少个窗口的 z轴序大于该窗口 Y coordinate int Y coordinate of any corner of the window Width width int Width of the window Height Height int Height of the window Number of occlusion windows int Identifies how many windows have a z-order greater than this window
X int 第一个 z轴序大于该窗口的窗口的任一角点的 X坐标 X int The first z-axis is greater than the X coordinate of any corner of the window of the window
Y int 第一个 z轴序大于该窗口的窗口的任一角点的 Y坐标 width int 第一个 z轴序大于该窗口的窗口的宽度 Height int 第一个 z轴序大于该窗口的窗口的宽度 int 第二个、 第三个… z轴序大于该窗口的窗口的 (X, Y, width, Height) 表 3中, 通过窗口的任一角点的 X坐标、 Y坐标、 窗口的宽度和高度, 以及 z轴序大于该窗口的 窗口的任一角点的 X坐标、 Y坐标、 z轴序大于该窗口的窗口的宽度和高度, 可以确定如表 2所示的 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 z轴序大于该窗口且遮盖该窗 口的窗口的宽度和高度, 从而进一步确定如表 1所示的窗口的遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度。 Y int The first z-axis order is greater than the Y coordinate of any corner of the window of the window. width int The first z-axis order is greater than the width of the window of the window. Height int The first z-axis order is greater than the width of the window's window int second, third... The z-axis order is greater than the window's (X, Y, width, Height) in Table 3, through the window The X coordinate of the corner point, the Y coordinate, the width and height of the window, and the X coordinate, the Y coordinate, and the z axis sequence of any corner of the window whose z-axis order is larger than the window are larger than the width and height of the window of the window, and can be determined. The X coordinate, the Y coordinate, and the z-axis sequence of any corner point of the window as shown in Table 2 that is larger than the window and covering the window are larger than the window and the width and height of the window covering the window, thereby further determining The X coordinate, the Y coordinate, the width and height of the cover area of any corner point of the cover area of the window shown in Table 1.
表 3中, 角点可以为左上角点、 右上角点、 左下角点或者右下角点。 较佳的, 优选左上角点。 基于终端可以以上述 3种消息格式发送窗口信息, 则终端与虚拟机可以事先协商具体采用哪种 格式发送窗口信息, 便于虚拟机对应解析出窗口信息。  In Table 3, the corner point can be the upper left corner point, the upper right corner point, the lower left corner point, or the lower right corner point. Preferably, the upper left corner is preferred. The terminal can send window information in the above three types of message formats, and the terminal and the virtual machine can negotiate in advance which format to use to send window information, so that the virtual machine can parse out the window information.
可选的, 上述步骤 11中, 窗口的大小是以像素点为单位的, 如窗口宽为 640, 高为 480, 则指 窗口的宽为 640个像素点, 高为 480个像素点。 当服务器与终端的屏幕分辨率相同的情况下, 对应 应用的两个窗口也可能不同。 这样的不同可以分为三类:  Optionally, in the foregoing step 11, the size of the window is in units of pixels. For example, if the window width is 640 and the height is 480, the width of the window is 640 pixels and the height is 480 pixels. When the screen resolution of the server and the terminal is the same, the two windows of the corresponding application may also be different. This difference can be divided into three categories:
( 1 ) 窗口大小不同: 如服务器的窗口大小为 640*480, 但终端的窗口的大小被用户拖拽变为了 480*320。  (1) The window size is different: If the server's window size is 640*480, the size of the terminal's window is dragged by the user to 480*320.
( 2 ) 窗口位置不同: 如服务器的窗口左上角坐标为 (50, 50 ), 但终端的窗口的左上角坐标为 (40, 70)。  (2) The position of the window is different: For example, the coordinates of the upper left corner of the window of the server are (50, 50), but the coordinates of the upper left corner of the window of the terminal are (40, 70).
(3 ) 窗口大小和位置均不同: 上面两种情况的综合。  (3) The window size and position are different: the combination of the above two cases.
终端窗口大小和虚拟机的窗口大小可以通过操作系统提供的 API (Application Programming Interface,应用程序编程接口 )获得, 在此不做赘述。  The terminal window size and the window size of the virtual machine can be obtained through the API (Application Programming Interface) provided by the operating system, and will not be described here.
因此终端的坐标和虚拟机的坐需要可以互相转换标: 如虚拟机的窗口大小为 X1*Y1, 终端窗 口大小为 Χ2*Υ2, 终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角的坐标为 (x2, y2), 则 对于在终端的一个坐标为(al, bl ),宽为 cl,高为 dl的窗口,其在虚拟机的坐标变为 a2= (al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl o 举例说明, 对于终端窗口 的左上角坐标为 (100, 100), 窗口宽度为 480, 高 320, 虚拟机的窗口左上角坐标为 (50, 60), 窗口 宽度为 800, 高度为 600, 则对于终端侧任意窗口的左上角坐标如 (200, 200)) 及宽度如 (150)和 高度如 (80 ), 即 xl=100, yl=100, XI =480, Yl=320, x2=50, y2=60, Χ2=800, Υ2=600, al=200, bl=200, cl=150, dl=80, 则根据 a2= (al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl; c2=cl*X2/Xl; d2=dl*Y2/Yl, 转换到虚拟机的此窗口坐标为: (250, 300), 宽度为 250, 高度为 150; Therefore, the coordinates of the terminal and the sitting needs of the virtual machine can be converted to each other: For example, the window size of the virtual machine is X1*Y1, the size of the terminal window is Χ2*Υ2, and the coordinates of the upper left corner of the terminal window are (xl, yl), the virtual machine The coordinates of the upper left corner of the window are (x2, y2). For a window with coordinates (al, bl), width cl, and height dl at the terminal, the coordinates of the virtual machine become a2= (al-xl). +x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl ; width is c2=cl*X2/Xl; high is d2=dl*Y2/Yl o For example, for the upper left of the terminal window The angular coordinates are (100, 100), the window width is 480, the height is 320, the coordinates of the upper left corner of the window of the virtual machine are (50, 60), the width of the window is 800, and the height is 600. The coordinates of the upper left corner of any window on the terminal side. Such as (200, 200)) and width such as (150) and height as (80), ie xl=100, yl=100, XI=480, Yl=320, x2=50, y2=60, Χ2=800, Υ2 =600, al=200, bl=200, cl=150, dl=80, then according to a2=(al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl ; c2 =cl*X2/Xl; d2=dl*Y2/Yl, the coordinates of this window converted to the virtual machine are: (250, 300), width is 2 50, height is 150;
本领域普通技术人员可以参考现有技术理解坐标转换, 坐标变换可以在虚拟机端进行, 也可以 在终端进行, 如果在终端进行坐标变换, 则终端向虚拟机发送窗口位置请求消息, 以获得虚拟机的 窗口大小和位置信息。 如果在虚拟机端进行坐标变换, 则可以在消息 (如表 1-表 3格式) 中包含终 端的窗口大小和位置信息, 或者终端发送单独的窗口通知消息携带终端的窗口大小和位置信息给虚 拟机, 以便于虚拟机进行坐标转换, 在此不做赘述。 可选的, 上述步骤 11中, 终端发送的窗口的窗口信息可以以屏幕坐标系(屏幕坐标系是指以显 示器屏幕的左上角点为坐标原点 (0,0) ) 下的坐标表示, 也可以以窗口坐标系 (窗口坐标系是指以 窗口的左上角点为坐标原点 (0, 0 ) ) 下的坐标表示。 较佳的, 如表 1格式的窗口信息可以窗口坐标 系下的坐标表示, 由于虚拟机不需要根据窗口信息计算遮盖区域, 虚拟机可以快捷的根据窗口坐标 系下的坐标直接获得遮盖区域。 而表 2和表 3格式的窗口信息可以以屏幕坐标系下的坐标表示。 A person skilled in the art can understand the coordinate conversion with reference to the prior art. The coordinate transformation can be performed on the virtual machine side or at the terminal. If the coordinate transformation is performed at the terminal, the terminal sends a window position request message to the virtual machine to obtain a virtual Machine window size and location information. If the coordinate transformation is performed on the virtual machine side, the window size and location information of the terminal may be included in the message (such as Table 1 - Table 3 format), or the terminal sends a separate window notification message carrying the window size and location information of the terminal to the virtual Machine, in order to facilitate the coordinate conversion of the virtual machine, not to repeat here. Optionally, in the foregoing step 11, the window information of the window sent by the terminal may be represented by a coordinate of a screen coordinate system (the screen coordinate system refers to a coordinate of the upper left corner of the display screen as a coordinate origin (0, 0)), or It is represented by the coordinates of the window coordinate system (the window coordinate system refers to the point in the upper left corner of the window as the coordinate origin (0, 0)). Preferably, the window information in the format of the table 1 can be represented by the coordinates in the window coordinate system. Since the virtual machine does not need to calculate the cover area according to the window information, the virtual machine can quickly obtain the cover area according to the coordinates in the window coordinate system. The window information in the format of Table 2 and Table 3 can be represented by the coordinates in the screen coordinate system.
可选的, 本发明实施例窗口图像的传输方法, 当终端建立窗口, 或者窗口的 Z轴序发生变化, 或者窗口的任一角点的坐标发生变化, 或者窗口的宽度或者高度发生变化时, 终端需要对窗口的窗 口信息更新给对应的虚拟机, 从而, 对应的虚拟机接收终端发送的更新的窗口的窗口信息。  Optionally, in the method for transmitting a window image according to the embodiment of the present invention, when the terminal establishes a window, or the Z-axis sequence of the window changes, or the coordinates of any corner of the window change, or the width or height of the window changes, the terminal The window information of the window needs to be updated to the corresponding virtual machine, so that the corresponding virtual machine receives the window information of the updated window sent by the terminal.
具体而言, 上述步骤 12、 根据窗口的窗口信息, 确定窗口的显示区域信息, 包括: 方式 1, 窗口信息为表 1格式时:  Specifically, in the foregoing step 12, determining the display area information of the window according to the window information of the window, including: mode 1, when the window information is in the format of the table 1:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。  When the window display state in the window information is full display, it is determined that the display area of the window is the entire window.
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。  Or, when the window display status in the window information is full, the display area of the window is determined to be 0.
或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y 坐标、 遮盖 域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的^域。  Or, according to the window display state in the window information is partially covered, according to the X coordinate, the Y coordinate, the width and the height of the cover field of any corner of the cover area in the window information, the display area of the window is determined to be the entire window except the cover area. The area, when there are a plurality of cover areas, determine a joint cover area composed of a plurality of cover areas, thereby determining a display area of the window as a field outside the joint cover area of the entire window.
例如, 如图 2所示, 终端存在四个应用在终端分别对应窗口 A、 窗口 B、 窗口 C及窗口 D, 如窗 口 A的左上角点(Χ, Υ )坐标为(50, 50),宽为 150,高为 100;窗口 Β的左上角点(X, Υ)坐标为(70, 80), 宽为 60, 高为 120; 窗口 C的左上角点 (Χ,Υ) 坐标为 (100, 110), 宽为 140, 高为 100; 如窗口 D 的左上角点 (Χ, Υ ) 坐标为 (210, 160), 宽为 20,高为 20。  For example, as shown in FIG. 2, there are four applications in the terminal corresponding to the window A, the window B, the window C, and the window D. For example, the coordinates of the upper left corner of the window A (Χ, Υ) are (50, 50), and the width is 150, the height is 100; the upper left corner of the window ( (X, Υ) coordinates are (70, 80), the width is 60, the height is 120; the upper left corner of the window C (Χ, Υ) coordinates are (100, 110), width is 140, height is 100; as the upper left corner of window D (Χ, Υ) coordinates are (210, 160), width is 20, and height is 20.
如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉窗口 Α的 Ζ轴序。  For example, the axis sequence of window C> the axis sequence of window D> the window Β axis order> window Α Ζ axis order.
如图 3所示, 对于窗口 A, 窗口 A的窗口信息中窗口显示状态为部分遮盖, 窗口 A的第一遮盖 域左上角点的 (X,Y ) 坐标为 (70, 80), 第一遮盖区域宽为 60, 高为 70。 窗口 Α的第二遮盖区域 左上角点的 (X,Y) 坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。 根据第一遮盖区域和第二 遮盖区域, 确定第一遮盖区域和第二遮盖区域构成的联合遮盖区域, 其中坐标为 (100, 110), 宽为 30, 高为 40区域为重叠区域。  As shown in FIG. 3, for the window A, the window display state of the window A is partially covered, and the (X, Y) coordinate of the upper left corner of the first cover field of the window A is (70, 80), the first cover The area is 60 wide and 70 high. The second cover area of the window Α The (X,Y) coordinate of the upper left corner is (100, 110), the second cover area is 100 wide, and the height is 40. According to the first covering area and the second covering area, a joint covering area composed of the first covering area and the second covering area is determined, wherein the coordinates are (100, 110), the width is 30, and the height is 40 area is an overlapping area.
进一步根据联合遮盖区域, 确定窗口 Α的显示区域为整个窗口 A除联合遮盖区域外的区域。 如图 4所示, 对 P窗口 B, 窗口 B的窗口信息中窗口显示状态为部分遮盖, 窗口 B的遮盖区域 左上角点的 (Χ, Υ ) 坐标为 (100, 110), 遮盖区域宽为 30, 高为 40, 从而确定窗口 Β的显示区域为 整个窗口 Β除遮盖区域外的区域。  Further, according to the joint cover area, the display area of the window 确定 is determined as the area of the entire window A except the joint cover area. As shown in FIG. 4, for the P window B, the window display state of the window B is partially covered, and the (Χ, Υ) coordinate of the upper left corner of the cover area of the window B is (100, 110), and the cover area width is 30, the height is 40, thereby determining the display area of the window 为 to remove the area outside the occlusion area for the entire window.
对于窗口 C,窗口 C的窗口信息中窗口显示状态为全显示,则确定窗口的显示区域为整个窗口 C。 对于窗口 D, 窗口 D的窗口信息中窗口显示状态为全遮盖, 则确定窗口的显示区域为 0。  For window C, the window display state of window C is full display, and the display area of the window is determined to be the entire window C. For window D, the window display state of the window D is completely covered, and the display area of the window is determined to be 0.
方式 2, 窗口信息为表 2格式时:  Mode 2, when the window information is in Table 2 format:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。  When the window display state in the window information is full display, it is determined that the display area of the window is the entire window.
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。 或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Υ坐标、 宽度及高度, 以及 ζ轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Υ坐标、 宽 度及高度, 确定遮盖 域任一角点的 X坐标、 Υ坐标、 遮盖区域的宽度和高度; Or, according to the window display state in the window information is completely covered, it is determined that the display area of the window is 0. Or, according to the window display state in the window information is partially covered, according to the X coordinate, the Υ coordinate, the width and the height of any corner of the window in the window information, and any corner of the window whose axis sequence is larger than the window and covers the window The X coordinate, Υ coordinate, width and height of the point, determine the X coordinate, Υ coordinate, width and height of the occlusion area of any corner of the occlusion field;
以及根据遮盖区域任一角点的 X坐标、 Υ坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域 为整个窗口除遮盖区域外的区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除联合遮盖区域外的区域。  And determining, according to the X coordinate, the Υ coordinate, the width and the height of the occlusion area of the occlusion area, the display area of the window is an area other than the occlusion area of the entire window, and when the occlusion area is plural, determining a plurality of occlusion areas The joint cover area, thereby determining the display area of the window as the area of the entire window except the joint cover area.
例如, 仍如图 2所示, 终端存在四个应用在终端分别对应窗口 Α、 窗口 Β、 窗口 C及窗口 D, 如 窗口 Α的左上角点 (X,Y) 坐标为 (50, 50), 宽为 150,高为 100; 窗口 Β的左上角点 (Χ,Υ) 坐标为 ( 70, 80 ), 宽为 60, 高为 120; 窗口 C的左上角点 (X, Υ) 坐标为 (100, 110), 宽为 140, 高为 100; 如窗口 D的左上角点 (Χ,Υ) 坐标为 (210, 160), 宽为 20,高为 20。  For example, as shown in FIG. 2, there are four applications in the terminal corresponding to the window Α, the window Β, the window C, and the window D. For example, the coordinates (X, Y) of the upper left corner of the window 为 are (50, 50), The width is 150 and the height is 100; the upper left corner of the window Χ (Χ, Υ) has coordinates (70, 80), width 60, and height 120; window C's upper left corner (X, Υ) coordinates are (100) , 110), width is 140, height is 100; as in the upper left corner of window D (Χ, Υ) coordinates are (210, 160), width is 20, height is 20.
如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉窗口 Α的 Ζ轴序。  For example, the axis sequence of window C> the axis sequence of window D> the window Β axis order> window Α Ζ axis order.
如图 3所示, 对千窗口 A, 窗口 A的窗口信息中窗口显示状态为部分遮盖, 根据窗口 A的左上 角点的 (Χ, Υ) 坐标为 (50, 50), 宽为 150,高为 100, ζ轴序大于窗口 Α且遮盖窗口 Α的窗口 Β的左 上角点的 (X,Y) 坐标为(70, 80 ), 宽为 60, 高为 120,以及 ζ轴序大于窗口 Α且遮盖窗口 Α的窗口 C 的左上角点的 (X,Y) 坐标为 (100, 110), 宽为 140, 高为 100, 确定窗口 Α的第一遮盖区域左上角 点的 (Χ, Υ) 坐标为 (70, 80), 第一遮盖区域宽为 60, 高为 70。 窗口 Α的第二遮盖区域左上角点的 ( Χ, Υ) 坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。  As shown in FIG. 3, for the thousand window A, the window display state of the window A is partially covered, and the coordinates of the (左, Υ) point according to the upper left corner of the window A are (50, 50), and the width is 150, high. For the 100, the (X,Y) coordinates of the upper left corner of the window 大于 that is larger than the window 遮 and cover the window 为 are (70, 80), the width is 60, the height is 120, and the ζ axis order is larger than the window Α and The (X,Y) coordinates of the upper left corner of the window C of the cover window are (100, 110), the width is 140, and the height is 100. The (Χ, Υ) coordinates of the upper left corner of the first cover area of the window 确定 are determined. For (70, 80), the first cover area is 60 wide and 70 high. The ( Χ, Υ) coordinates of the upper left corner of the second occlusion area of the window ( are (100, 110), and the second cover area is 100 wide and 40 high.
进一步, 根据第一遮盖区域和第二遮盖区域, 确定第一遮盖区域和第一遮盖区域构成的联合遮 盖区域, 其中坐标为 (100, 110 ), 宽为 30, 高为 40区域为重叠区域, 确定窗口 Α的显示区域为整 个窗口 A除联合遮盖 域外的区域。  Further, according to the first covering area and the second covering area, determining a joint covering area composed of the first covering area and the first covering area, wherein the coordinates are (100, 110), the width is 30, and the height is 40 area is an overlapping area. The display area of the window 确定 is determined to be the area of the entire window A except the joint occlusion field.
如图 4所示, 对千窗口 B, 窗口 B的窗口信息中窗口显示状态为部分遮盖, 根据窗口 B的左上 角点 (X,Y)坐标为 (70, 80), 宽为 60, 高为 120, 以及 ζ轴序大于窗口 Β且遮盖窗口 Β的窗口 C的 左上角点的(Χ,Υ )坐标为(100, 110),宽为 140,高为 100,确定窗口 Β的遮盖区域左上角点的(Χ, Υ) 坐标为 (100, 110), 遮盖区域宽为 30, 高为 40, 从而确定窗口 Β的显示区域为整个窗口 Β除遮盖区 域外的区域。  As shown in FIG. 4, for the thousand window B, the window display state of the window B is partially covered. According to the upper left corner of the window B, the coordinates (X, Y) are (70, 80), the width is 60, and the height is 120, and the (Χ, Υ) coordinate of the upper left corner of the window C whose axis sequence is larger than the window 遮 and covers the window 为 is (100, 110), the width is 140, and the height is 100, and the upper left corner of the cover area of the window 确定 is determined. The coordinates of the point (Χ, Υ) are (100, 110), the width of the occlusion area is 30, and the height is 40, so that the display area of the window Β is determined to be the area outside the occlusion area of the entire window.
对于窗口 C,窗口 C的窗口信息中窗口显示状态为全显示,则确定窗口的显示区域为整个窗口 C。 对于窗口 D, 窗口 D的窗口信息中窗口显示状态为全遮盖, 则确定窗口的显示区域为 0。  For window C, the window display state of window C is full display, and the display area of the window is determined to be the entire window C. For window D, the window display state of the window D is completely covered, and the display area of the window is determined to be 0.
方式 3, 窗口信息为表 3格式时:  Mode 3, when the window information is in Table 3 format:
根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口;  According to the X coordinate, the Y coordinate, the width and the height of any corner point of the window in the window information, and the X coordinate, the Y coordinate, the width and the height of any corner point of the window whose z-axis order is larger than the window, it is determined that the z-axis order is larger than the Whether the window of the window covers the window, if the window whose z-axis order is larger than the window does not cover the window, the window display state of the window is full display, and the display area of the window is determined to be the entire window;
如果 z轴序火于该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; 根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。 If the z-axis fires over the window of the window, the X coordinate, the Y coordinate, the width and the height of any corner of the window in the window information, and the window whose z-axis order is larger than the window and covers the window The X coordinate, Y coordinate, width and height of a corner point, determine the X coordinate, Y coordinate, width and height of the cover area of any corner point of the cover area; According to the X coordinate, the Y coordinate, the width and the height of the corner of the cover area, it is determined whether the cover area completely covers the window. When there are multiple cover areas, it is determined whether the joint cover area composed of the plurality of cover areas is completely covered. The window; if the occlusion area or the joint occlusion area completely covers the window, the window display state of the window is full occlusion, thereby determining that the display field of the window is 0, and if the occlusion area or the joint occlusion area does not completely cover the window, The window display state of the window is partially covered, and the display area of the window is determined to be an area of the entire window except the cover area, or the display area of the window is determined to be an area of the entire window except the joint cover area.
例如, 如图 2所示, 终端存在四个应用在终端分别对应窗口 A、 窗口 B、 窗口 C及窗口 D, 如窗 口 A的左上角点(X,Y )坐标为(50, 50),宽为 150,高为 100;窗口 Β的左上角点(X, Υ)坐标为(70, 80), 宽为 60, 高为 120; 窗口 C的左上角点 (Χ, Υ ) 坐标为 (100, 110), 宽为 140, 高为 100; 如窗口 D 的左上角点 (Χ,Υ ) 坐标为 (210, 160), 宽为 20,高为 20。  For example, as shown in FIG. 2, there are four applications in the terminal corresponding to the window A, the window B, the window C, and the window D. For example, the coordinates (X, Y) of the upper left corner of the window A are (50, 50), and the width is wide. 150, the height is 100; the upper left corner of the window ( (X, Υ) coordinates are (70, 80), the width is 60, the height is 120; the upper left corner of the window C (Χ, Υ) coordinates are (100, 110), width is 140, height is 100; as in the upper left corner of window D (Χ, Υ) coordinates are (210, 160), width is 20, height is 20.
如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉窗口 Α的 Ζ轴序。  For example, the axis sequence of window C> the axis sequence of window D> the window Β axis order> window Α Ζ axis order.
如图 3所示,对于窗口 A,根据窗口 A的窗口信息中窗口 A的左上角点的(X,Y)坐标为(50, 50 ), 宽为 150,高为 100, 以及 ζ轴序大于窗口 Α的窗口 Β的左上角点的(Χ,Υ)坐标为(70, 80), 宽为 60, 高为 120,确定窗口 Β的左上角点坐标位于窗口 Α的窗口区域内。 进一步的, 根据窗口 A的左上角点 ( Χ, Υ) 坐标为 (50, 50), 宽度 150,高度 100度计算窗口 Α的右上角点坐标 (X,Y) 为 (200, 50), 以及计算左下角点坐标(50, 150), 确定窗口 Β的左上角点的 X轴坐标 70大于窗口 Α的左上角点的 X轴坐标 50, 小于窗口 A的右上角点的 X轴坐标 200, 以及确定窗口 B的左上角点的 Y轴坐标 80小 于窗口 A的左下角点的 Y轴坐标 150, 大于窗口 A的左上角点的 Y轴坐标 50, 从而确定窗口 B的左 上角点位于窗口 A的窗口区域内。 进一步的确定窗口 B的 z轴序大于窗口 A且遮盖窗口 A。  As shown in FIG. 3, for window A, according to the window information of window A, the (X, Y) coordinate of the upper left corner of window A is (50, 50), the width is 150, the height is 100, and the axis sequence is greater than The (Χ, Υ) coordinates of the upper left corner of the window Β window are (70, 80), the width is 60, and the height is 120. The coordinates of the upper left corner of the window 确定 are determined to be within the window area of the window Α. Further, according to the upper left corner point ((, Υ) of the window A, the coordinates (50, 50), the width 150, and the height of 100 degrees are calculated (X, Y) of the upper right corner of the window 为 is (200, 50), and Calculate the coordinates of the lower left corner point (50, 150), determine that the X-axis coordinate 70 of the upper left corner of the window Β is greater than the X-axis coordinate 50 of the upper left corner of the window ,, less than the X-axis coordinate 200 of the upper right corner of the window A, and It is determined that the Y-axis coordinate 80 of the upper left corner of the window B is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and is greater than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window B is located in the window A. Within the window area. Further, the z-axis order of the window B is determined to be larger than the window A and the window A is covered.
根据窗口 A的窗口信息中窗口 A的左上角点的(X,Y)坐标为 (50, 50), 宽为 150,高为 100, 以 及 ζ轴序大于窗口 Α的窗口 C的左上角点的 (Χ, Υ)坐标为 (100, 110), 宽为 140, 高为 100,确定窗 口 C的左上角点坐标位于窗口 Α的窗口区域内。 进一步的, 根据窗口 A的左上角点 (X,Y) 坐标为 ( 50, 50 ), 宽度 150,高度 100度计算窗口 Α的右上角点坐标 (X,Y) 为 (200, 50 ), 以及计算左下 角点坐标(50, 150 ) , 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Α的左上角点的 X轴坐标 50, 小于窗口 A的右上角点的 X轴坐标 200, 以及确定窗口 C的左上角点的 Y轴坐标 110小于窗口 A的 左下角点的 Y轴坐标 150, 大于窗口 A的左上角点的 Y轴坐标 50, 从而确定窗口 C的左上角点位于 窗口 A的窗口区域内。 进一步的确定窗口 C的 z轴序大于窗口 A且遮盖窗口 A。  According to the window information of the window A, the (X, Y) coordinates of the upper left corner of the window A are (50, 50), the width is 150, the height is 100, and the top left corner of the window C whose axis sequence is larger than the window Α is The (Χ, Υ) coordinates are (100, 110), the width is 140, and the height is 100. It is determined that the coordinates of the upper left corner of the window C are located in the window area of the window Α. Further, according to the upper left corner point (X, Y) of the window A, the coordinates (50, 50), the width 150, and the height of 100 degrees are calculated (X, Y) of the upper right corner of the window 为 (200, 50), and Calculating the coordinates of the lower left corner point (50, 150), determining that the X-axis coordinate 100 of the upper left corner of the window C is greater than the X-axis coordinate 50 of the upper left corner of the window ,, less than the X-axis coordinate 200 of the upper right corner of the window A, and It is determined that the Y-axis coordinate 110 of the upper left corner of the window C is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and is greater than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window C is located in the window A. Within the window area. Further, the z-axis order of the window C is larger than the window A and the window A is covered.
根据窗口 A的窗口信息中窗口 A的左上角点的(X,Y)坐标为 (50, 50), 以及窗口!)的左上角点 ( Χ, Υ)坐标为(210, 160), 宽为 20,高为 20, 计算窗口 Α的右上角点坐标(Χ, Υ)为(200, 50 ) , 以 及计算左下角点坐标 (50, 150 ), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 Α的右上角点的 X轴坐标 200, 窗口 D的左上角点的 Y轴坐标 160大于窗口 A的右上角点的 Y轴坐标 150, 从而确定 窗口 D的左上角点位于窗口 A的窗口区域之外。 进一步的确定窗口 D没有遮盖窗口 A。  According to the window information of window A, the (X, Y) coordinates of the upper left corner of window A are (50, 50), and the window! The coordinates of the upper left corner ( Χ, Υ) are (210, 160), the width is 20, and the height is 20. The coordinates of the upper right corner of the calculation window Χ (Χ, Υ) are (200, 50), and the lower left corner is calculated. Point coordinates (50, 150), determining that the X-axis coordinate 210 of the upper left corner of the window D is greater than the X-axis coordinate 200 of the upper right corner of the window ,, and the Y-axis coordinate 160 of the upper left corner of the window D is greater than the upper right corner of the window A The Y-axis coordinate of the point is 150, thereby determining that the upper left corner of the window D is outside the window area of the window A. Further determining that window D does not obscure window A.
此外, 假设确定窗口 B的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 B 的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 B的左上角点没有位于窗口 A的 窗口区域内, 则确定窗口 A没有被窗口 B所遮盖; 假设确定窗口 C的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 C的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 C的左上角点没有位于窗口 A的窗口区域内, 则确定窗口 A没有被窗口 C所遮盖; 因此确定 窗口 A没有被窗口 B、 窗口(;、 窗口 D所遮盖, 窗口 A的窗口显示状态为全显示, 确定窗口 A的显示 区域为整个窗口。 In addition, it is assumed that the X-axis coordinate of the upper left corner of the window B is larger than the X-axis coordinate of the upper right corner of the window A, or the Y-axis coordinate of the upper left corner of the window B is larger than the Y-axis coordinate of the lower left corner of the window A, that is, The upper left corner of window B is not located in the window area of window A, then it is determined that window A is not covered by window B; it is assumed that the X-axis coordinate of the upper left corner of window C is larger than the window. The X-axis coordinate of the upper right corner of A, or the Y-axis coordinate of the upper left corner of window C is greater than the Y-axis coordinate of the lower left corner of window A, that is, the upper left corner of window C is not located in the window area of window A, then It is determined that the window A is not covered by the window C; therefore, it is determined that the window A is not covered by the window B, the window (;, the window D, and the window display state of the window A is the full display, and the display area of the window A is determined to be the entire window.
进一步根据窗口 B的宽度 60和高度 120, 以及窗口 A的左上角点的坐标以及窗口 A的宽度和高 度获取窗口 A被窗口 B的遮盖的遮盖区域(即第一遮盖区域)。 具体的, 根据窗口 A的左上角点的坐 标以及窗口 A的宽度和高度获取窗口 A的右上角点坐标(X, Y)为(200, 50 )以及左下角点坐标(50 , 150 ) ,以及根据窗口 B的左上角点的坐标以及窗口 B的宽度和高度计算窗口 B的右上角点坐标(X, Y) 为 (130 , 80 ) 以及左下角点坐标(70, 200 ) ,确定窗口 B的右上角点位于窗口 A的区域内, 以及窗 口 B的左下角点位于窗口 A的区域之外, 则确定第一遮盖区域的宽度为窗口 B的宽度 60, 以及第一 遮盖区域的高度为窗口 A左下角点的 Y轴坐标 150减去窗口 B左上角点的 Y轴坐标 80为 70。 因此, 窗口 A的第一遮盖区域左上角点的 (Χ, Υ) 坐标为 (70, 80 ), 第一遮盖区域宽为 60, 高为 70。 进一 步的, 假设确定窗口 Β的右上角点的坐标位于窗口 Α的区域之外, 即窗口 B的右上角点的 X轴坐标 大于窗口 A的 X轴坐标, 则第一遮盖区域的宽度为窗口 A的右上角点的 X轴坐标减去的窗口 B左上 角点的坐标。 此外, 假设窗口 B的左下角点位于窗于 A的区域内, 则第一遮盖区域的高度为窗口 B 的高度。  Further, according to the width 60 and the height 120 of the window B, and the coordinates of the upper left corner of the window A and the width and height of the window A, the covered area (i.e., the first covered area) in which the window A is covered by the window B is obtained. Specifically, according to the coordinates of the upper left corner of the window A and the width and height of the window A, the coordinates (X, Y) of the upper right corner of the window A are (200, 50) and the coordinates of the lower left corner (50, 150), and According to the coordinates of the upper left corner of the window B and the width and height of the window B, the coordinates (X, Y) of the upper right corner of the window B are calculated as (130, 80) and the coordinates of the lower left corner (70, 200), and the window B is determined. The upper right corner point is located in the area of the window A, and the lower left corner point of the window B is outside the area of the window A, then the width of the first covering area is determined to be the width 60 of the window B, and the height of the first covering area is the window A The Y-axis coordinate 150 of the lower left corner point minus the Y-axis coordinate 80 of the upper left corner of the window B is 70. Therefore, the (Χ, Υ) coordinate of the upper left corner of the first cover area of the window A is (70, 80), and the first cover area is 60 wide and 70 high. Further, it is assumed that the coordinates of the upper right corner of the window Β are located outside the area of the window ,, that is, the X-axis coordinate of the upper right corner of the window B is greater than the X-axis coordinate of the window A, and the width of the first covering area is the window A. The X-axis coordinate of the upper right corner point is subtracted from the coordinates of the upper left corner of the window B. Further, assuming that the lower left corner of the window B is located in the area of the window A, the height of the first covered area is the height of the window B.
根据窗口 C的宽度 140和高度 100, 以及窗口 A的左上角点的坐标以及窗口 A的宽度和高度获 取窗口 A被窗口 C的遮盖的遮盖区域(即第二遮盖区域)。 具体的, 根据窗口 A的左上角点的坐标以 及窗口 A的宽度和高度获取窗口 A的右上角点坐标 (X,Y) 为 (200, 50 ) 以及左下角点坐标 (50, 150 ) ,以及根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐标(Χ, Υ) 为 (240, 100 ) 以及左下角点坐标(100, 210 ),确定窗口 C的右上角点位于窗口 Α的区域之外以及 窗口 C的左下角点位丁 -窗口 A的区域之外, 则确定第二遮盖区域的宽度为窗口 A的右上角点的 X轴 坐标 200减去窗口 C的左上角点的 X轴坐标 100为 100, 以及第二遮盖区域的高度为窗口 A左下角 点的 Y轴坐标 150减去窗口 C左上角点的 Y轴坐标 110为 40。 因此, 窗口 A的第二遮盖区域左上角 点的 (X,Y )坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。 进一步的, 假设确定窗口 C的右 上角点的坐标位丁 ·窗口 Α的区域内, 则第二遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的 左下角点位于窗丁 A的区域内, 则第二遮盖区域的高度为窗口 C的高度。  The masked area (i.e., the second covered area) in which the window A is covered by the window C is obtained according to the width 140 of the window C and the height 100, and the coordinates of the upper left corner of the window A and the width and height of the window A. Specifically, according to the coordinates of the upper left corner of the window A and the width and height of the window A, the coordinates (X, Y) of the upper right corner of the window A are (200, 50) and the coordinates of the lower left corner (50, 150), and According to the coordinates of the upper left corner of the window C and the width and height of the window C, the coordinates (Χ, Υ) of the upper right corner of the window C are calculated as (240, 100) and the coordinates of the lower left corner (100, 210), and the window C is determined. The upper right corner point is outside the area of the window 以及 and the lower left corner of the window C is outside the area of the window D, then the width of the second covered area is determined as the X-axis coordinate of the upper right corner of the window A 200 minus the window The X-axis coordinate 100 of the upper left corner of C is 100, and the height of the second masking area is the Y-axis coordinate 150 of the lower left corner of the window A minus the Y-axis coordinate 110 of the upper left corner of the window C is 40. Therefore, the (X,Y) coordinate of the upper left corner of the second cover area of the window A is (100, 110), and the second cover area is 100 wide and 40 high. Further, assuming that the coordinate position of the upper right corner of the window C is determined to be within the area of the window ,, the width of the second covered area is the width of the window C. Further, assuming that the lower left corner of the window C is located in the area of the window A, the height of the second covered area is the height of the window C.
进一步根据第一遮盖区域和第二遮盖区域构成的联合遮盖区域的左上角点的坐标(70, 80 )于窗 口 A的区域内, 则确定联合遮盖区域没有完全遮盖窗口 A, 确定窗口 A的显示区域为整个该窗口 A 除联合遮盖区域外的区域。 假设联合遮盖区域的左上角点的 X轴坐标小于等于窗口 A左上角点的 X 轴坐标, 联合遮盖区域的左上角点的 Y轴坐标小于等于窗口 A左上角点的 Y轴坐标, 且联合遮盖区 域的宽大于等于窗口 A的宽, 联合遮盖区域的高大于等于窗口 A的高, 则确定联合遮盖区域完全遮 盖窗口 A, 确定窗口 A的显示区域为 0。  Further, according to the coordinates (70, 80) of the upper left corner of the joint cover area formed by the first cover area and the second cover area in the area of the window A, it is determined that the joint cover area does not completely cover the window A, and the display of the window A is determined. The area is the entire area of the window A except the joint mask area. Assume that the X-axis coordinate of the upper left corner of the joint cover area is less than or equal to the X-axis coordinate of the upper left corner of the window A, and the Y-axis coordinate of the upper left corner of the joint cover area is less than or equal to the Y-axis coordinate of the upper left corner of the window A, and the joint cover If the width of the area is greater than or equal to the width of the window A, and the height of the joint cover area is greater than or equal to the height of the window A, it is determined that the joint cover area completely covers the window A, and the display area of the window A is determined to be 0.
如图 4所示, 对 ]'·窗口 B, 根据窗口 Β的左上角点(Χ,Υ )坐标为 (70, 80), 宽为 60, 高为 120, 以及 ζ轴序大于窗口 Β的窗口 C的左上角点的 (Χ, Υ) 坐标为 (100, 110 ) , 宽为 140, 高为 100 , 确 定窗口 C的左上角点坐标位于窗口 B的窗口区域内。 进一步的, 根据窗口 B的左上角点(X,Y)坐标 为 (70, 80), 宽为 60, 高为 120, 计算窗口 Β的右上角点坐标 (Χ, Υ) 为 (130, 80), 以及计算左 下角点坐标(70 , 200 ) , 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Β的左上角点的 X轴坐标 70, 小于窗口 Β的右上角点的 X轴坐标 130, 以及确定窗口 C的左上角点的 Υ轴坐标 110小于窗口 Β 的左下角点的 Υ轴坐标 200, 大于窗口 Β的左上角点的 Υ轴坐标 80, 从而确定窗口 C的左上角点位 于窗口 Β的窗口区域内。 进一步的确定窗口 C的 ζ轴序大于窗口 Β且遮盖窗口 Β。 As shown in Fig. 4, for the window ', the coordinates of the upper left corner (Χ, Υ) according to the window 为 are (70, 80), the width is 60, the height is 120, and the window whose axis sequence is larger than the window Β The (左, Υ) coordinates of the upper left corner of C are (100, 110), the width is 140, and the height is 100. The coordinates of the upper left corner of the fixed window C are located in the window area of the window B. Further, according to the upper left corner point (X, Y) of the window B, the coordinates are (70, 80), the width is 60, and the height is 120. The coordinates of the upper right corner of the calculation window Χ (Χ, Υ) are (130, 80). And calculating the coordinates of the lower left corner point (70, 200), determining that the X-axis coordinate 100 of the upper left corner of the window C is greater than the X-axis coordinate 70 of the upper left corner of the window ,, and the X-axis coordinate 130 of the upper right corner of the window Β is smaller than 130 And determining that the pivot coordinate 110 of the upper left corner of the window C is smaller than the pivot coordinate 200 of the lower left corner of the window ,, which is greater than the pivot coordinate 80 of the upper left corner of the window ,, thereby determining that the upper left corner of the window C is located in the window Inside the window area. It is further determined that the axis sequence of the window C is larger than the window 遮 and covers the window Β.
根据窗口 Β的左上角点(Χ,Υ)坐标为(70, 80),宽为 60,高为 120,以及窗口 D的左上角点(X, Υ) 坐标为 (210, 160 ) , 宽为 20,高为 20, 计算窗口 Β的右上角点坐标 (Χ,Υ) 为 (130, 80), 以及计 算左下角点坐标 (70, 200) , 确定窗口 D的左上角点的 X轴坐标 210大于窗口 Β的右上角点的 X轴 坐标 130, 从而确定窗口 D的左上角点位于窗口 Β的窗口区域之外。 进一步的确定窗口 D没有遮盖 窗口 Β。  According to the upper left corner of the window (Χ, Υ) coordinates are (70, 80), the width is 60, the height is 120, and the upper left corner of the window D (X, Υ) coordinates are (210, 160), the width is 20, the height is 20, the coordinates of the upper right corner of the calculation window Χ (Χ, Υ) are (130, 80), and the coordinates of the lower left corner point (70, 200) are calculated, and the X-axis coordinate 210 of the upper left corner of the window D is determined. It is greater than the X-axis coordinate 130 of the upper right corner of the window ,, thereby determining that the upper left corner of the window D is outside the window area of the window Β. Further confirmation window D does not cover the window Β.
假设确定窗口 C的左上角点的 X轴坐标大于窗口 Β的右上角点的 X轴坐标, 或者窗口 C的左上 角点的 Υ轴坐标人丁窗口 Β的左下角点的 Υ轴坐标, 即窗口 C的左上角点没有位于窗口 Β的窗口区 域内, 则确定窗口 Β没有被窗口(:、 窗口 D所遮盖,窗口 Β的窗口显示状态为全显示, 确定窗口 Β的 显示区域为整个窗口。  Suppose that the X-axis coordinate of the upper left corner of the window C is larger than the X-axis coordinate of the upper right corner of the window ,, or the Υ-axis coordinate of the lower left corner of the window of the upper left corner of the window C, that is, the window The upper left corner of C is not located in the window area of the window ,, then it is determined that the window Β is not covered by the window (:, window D, the window 显示 window display state is full display, and the window Β display area is determined to be the entire window.
进一步根据窗口 C的宽度 140和高度 100, 以及窗口 Β的左上角点的坐标以及窗口 Β的宽度和 高度获取窗口 Β被窗口 C的遮盖的遮盖区域。 具体的, 根据窗口 Β的左上角点的坐标以及窗口 Β的 宽度和高度获取窗口 Β的右上角点坐标 (Χ,Υ) 为 (130, 80 ) 以及左下角点坐标 (70, 200 ) ,以及 根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐标(X, Υ)为(240, 100 ) 以及左下角点坐标 (100, 110 ) ,确定窗口 C的右上角点位于窗口 Β的区域之外, 以及窗口 C 的左下角点位于窗口 Β的区域之外, 则确定遮盖区域的宽度为窗口 Β右上角点的 X轴坐标 130减去 窗口 C左上角点的 X轴坐标 100为 30, 以及遮盖区域的高度为窗口 Β左下角点的 Υ轴坐标 200减去 窗口 C左上角点的 Υ轴坐标 110为 90。因此,窗口 Β的遮盖区域左上角点的(Χ,Υ)坐标为(100, 110), 遮盖区域宽为 30, 高为 90。 进一步的, 假设确定窗口 C的右上角点的坐标位于窗口 Β的区域内, 则 遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的左下角点位于窗于 Β的区域内, 则遮盖区域 的高度为窗口 C的高度。  Further, the window Β is covered by the window C according to the width 140 and the height 100 of the window C, and the coordinates of the upper left corner of the window 以及 and the width and height of the window Β. Specifically, according to the coordinates of the upper left corner of the window 以及 and the width and height of the window 获取, the coordinates (Χ, Υ) of the upper right corner of the window 为 are (130, 80) and the coordinates of the lower left corner (70, 200), and According to the coordinates of the upper left corner of the window C and the width and height of the window C, the coordinates (X, Υ) of the upper right corner of the window C are calculated as (240, 100) and the coordinates of the lower left corner (100, 110), and the window C is determined. The upper right corner point is outside the area of the window ,, and the lower left corner of the window C is outside the area of the window ,, then the width of the occlusion area is determined as the X-axis coordinate 130 of the upper right corner of the window 减 minus the upper left corner of the window C The X-axis coordinate 100 is 30, and the height of the cover area is the Υ axis coordinate 200 of the window Β lower left corner point minus the Υ axis coordinate 110 of the upper left corner of the window C is 90. Therefore, the (Χ, Υ) coordinates of the upper left corner of the window Β cover area are (100, 110), the cover area is 30 wide, and the height is 90. Further, assuming that the coordinates of the upper right corner of the window C are determined to be within the area of the window ,, the width of the occlusion area is the width of the window C. Further, assuming that the lower left corner of the window C is located in the area of the window, the height of the cover area is the height of the window C.
进一步根据遮盖区域的左上角点的坐标(100, 110 )于窗口 Β的区域内, 则确定遮盖区域没有完 全遮盖窗口 Β, 确定窗口 Β的显示区域为整个该窗口 Β除遮盖区域外的区域。 假设遮盖区域的左上 角点的 X轴坐标小于 于窗口 Β左上角点的 X轴坐标, 遮盖区域的左上角点的 Υ轴坐标小于等于窗 口 Β左上角点的 Υ轴坐标, 且遮盖区域的宽大于等于窗口 Β的宽, 遮盖区域的高大于等于窗口 Β的 高, 则确定遮盖 Κ域完全遮盖窗口 Β, 确定窗口 Β的显示区域为 0。  Further, according to the coordinates (100, 110) of the upper left corner of the cover area in the area of the window ,, it is determined that the cover area does not completely cover the window Β, and the display area of the window 确定 is determined to be the entire area of the window except the cover area. Assume that the X-axis coordinate of the upper left corner of the cover area is smaller than the X-axis coordinate of the upper left corner of the window, and the coordinate of the upper left corner of the cover area is less than or equal to the pivot coordinate of the upper left corner of the window, and the width of the cover area is large. If it is equal to the width of the window ,, the height of the occlusion area is greater than or equal to the height of the window Β, then it is determined that the occlusion area completely covers the window Β, and the display area of the window Β is determined to be 0.
对于窗口 C, 窗口 C的 Z轴序〉窗口 D的 Z轴序〉窗口 B的 Z轴序〉窗口 A的 Z轴序,窗口 C的窗 口信息中没有 z轴序人于窗口 C的窗口, 窗口 C的窗口显示状态为全显示, 则确定窗口 C的显示区 域为整个窗口(;。  For window C, the Z-axis order of window C> the Z-axis order of window D> the Z-axis order of window B> the Z-axis order of window A, the window information of window C has no window of z-order in window C, window If the window display state of C is full display, it is determined that the display area of window C is the entire window (;.
如图 5所示,对丁 ·窗口 D,根据窗口 D的窗口信息中窗口 D的左上角点(X,Y)坐标为(210, 160), 宽为 20,高为 20, 计算窗口 D的右上角点坐标(X, Y) 为 (230, 160), 以及计算窗口 D的左下角点 坐标 (210, 180 ), 根据 z轴序大于窗口 D的窗口 C的左上角点的 (X,Y) 坐标为 (100, 110), 宽为 140, 高为 100, 计算窗口 C的右上角点坐标 (Χ, Υ) 为 (240, 100), 以及计算窗口 C的左下角点 坐标 (100, 210 ), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 C的左上角点的 X轴坐标 100, 小于窗口 C的右上角点的 X轴坐标 240, 以及确定窗口 D的左上角点的 Υ轴坐标 160小于窗口 C的 左下角点的 Υ轴坐标 210, 大于窗口 C的左上角点的 Υ轴坐标 110, 从而确定窗口 C遮盖窗口 D。 As shown in FIG. 5, for the window D, according to the window information of the window D, the coordinates (X, Y) of the upper left corner of the window D are (210, 160), The width is 20 and the height is 20. The coordinates (X, Y) of the upper right corner of the calculation window D are (230, 160), and the coordinates of the lower left corner of the calculation window D (210, 180) are larger than the window D according to the z-axis order. The (X,Y) coordinates of the upper left corner of window C are (100, 110), the width is 140, and the height is 100. The coordinates of the upper right corner of the calculation window C (Χ, Υ) are (240, 100), and Calculate the coordinates of the lower left corner of the window C (100, 210), and determine that the X-axis coordinate 210 of the upper left corner of the window D is greater than the X-axis coordinate 100 of the upper left corner of the window C, and is smaller than the X-axis coordinate of the upper right corner of the window C. 240, and determining that the pivot coordinate 160 of the upper left corner of the window D is smaller than the pivot coordinate 210 of the lower left corner of the window C, is greater than the pivot coordinate 110 of the upper left corner of the window C, thereby determining that the window C covers the window D.
进一步根据 D的右上角点坐标(Χ, Υ) 为 (210, 160 ) , 窗口 D的左下角点坐标(210, 180), 窗 口 C的右上角点坐标 (Χ, Υ) 为 (240, 100) , 以及窗口 C的左下角点坐标 (100, 210), 确定窗口 D的遮盖区域左上角点的(X, Υ)坐标为(210, 160), 窗口 D的右上角点的坐标位于窗口 C的区域内, 则遮盖区域的宽度为窗口 D的宽度 20, 窗口 C的左下角点位于窗于 C的区域内, 则遮盖区域的高度 为窗口 D的高度 20。  Further, according to the coordinates of the upper right corner of D (Χ, Υ) is (210, 160), the coordinates of the lower left corner of window D (210, 180), and the coordinates of the upper right corner of window C (Χ, Υ) are (240, 100). ), and the coordinates of the lower left corner of the window C (100, 210), the coordinates of the (X, Υ) of the upper left corner of the occlusion area of the window D are determined to be (210, 160), and the coordinates of the upper right corner of the window D are located at the window C. In the area, the width of the cover area is the width 20 of the window D, and the lower left corner of the window C is located in the area of the window C, and the height of the cover area is the height 20 of the window D.
进一步根据窗口 D的遮盖区域左上角点的(Χ,Υ)坐标为 (210, 160 ), 遮盖区域的宽度度为窗口 D的宽度 20,遮盖区域的高度为窗口 D的高度 20, 确定确定遮盖区域完全遮盖窗口 D, 确定窗口 D的 显示区域为 0。  Further, according to the (Χ, Υ) coordinate of the upper left corner of the cover area of the window D is (210, 160), the width of the cover area is the width 20 of the window D, and the height of the cover area is the height 20 of the window D, determining the cover The area completely covers the window D, and the display area of the window D is determined to be 0.
具体而言, 步骤] 3根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发 送给所述终端, 以使所述终端进行显示, 包括:  Specifically, the step of: 3, according to the display area information of the window, the image data corresponding to the display area information of the window is sent to the terminal, so that the terminal performs the display, including:
窗口的显示 域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示。 或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获取整个窗口的图像数据, 向遮盖 区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述终端进行显示。  When the display field of the window is the entire window, the image data of the entire window is acquired and sent to the terminal for display by the terminal. Alternatively, when the display area of the window is an area other than the cover area of the entire window, image data of the entire window is acquired, and the cover area is filled with a solid color or a colorless, and the filled image data is sent to the terminal, and the terminal displays.
其中, 整个窗口的图像数据即为窗口对应的应用运行的图像数据; 纯色如黑色或者白色。 可见, 对于现有的图像编码方式, 对于图像复杂 (颜色种类多, 颜色分布不均) 的编码后的数 据大小要大于图像简单的 (颜色种类单一, 颜色分布均匀), 所以说纯色的图像编码后数据量最小。 对于视频流来说, 即编码多幅连续的图像, 前后两幅图像的编码, 只需要编码第二幅图像改变的部 分, 所以将被遮盖的图像以纯色填充后进行编码, 此部分由于图像不会发生变化, 也不用编码, 可 降低视频流的数据量。 而且, 窗口的显示区域为 0时, 不需要获取图像数据, 降低视频流的数据量。  The image data of the entire window is the image data of the application running corresponding to the window; the solid color is black or white. It can be seen that for the existing image coding method, the encoded data size of the image is complicated (the color type is large, the color distribution is uneven) is larger than the image is simple (the color type is single, the color distribution is uniform), so the image coding of the solid color is The amount of data is minimal. For the video stream, that is, encoding a plurality of consecutive images, the encoding of the two images before and after, only need to encode the changed portion of the second image, so the image to be covered is filled with a solid color and encoded, because the image is not It will change, and no coding will be used to reduce the amount of data in the video stream. Moreover, when the display area of the window is 0, it is not necessary to acquire image data, and the amount of data of the video stream is reduced.
可选的, 本发明实施例窗口图像的传输方法, 还可以包括:  Optionally, the method for transmitting a window image in the embodiment of the present invention may further include:
接收所述终端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小 于所述终端其他窗口的 Z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所 述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定降质传输所述窗口的图像或者不传输所 述窗口的图像;  Receiving a display image transmission policy sent by the terminal, where the display image transmission strategy includes: lowering the image of the window or not transmitting the image according to a Z-axis sequence of the window that is smaller than a Z-axis sequence of other windows of the terminal; An image of the window, or according to the ratio of the cover area of the window to the display area being greater than a certain threshold, determining to degrade the image of the window or not to transmit the image of the window;
根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗口的图像。  According to the display image transmission strategy, the image of the window is reduced or not transmitted correspondingly.
其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则终端可以直接将窗口的窗 口显示状态设置为窗口全遮盖。  Wherein, the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load. Optionally, if the terminal determines that the image transmission policy is displayed as not transmitting the image of the window, the terminal may directly set the window display state of the window to be completely covered by the window.
可见, 虽然启动了多个应用对应的窗口, 但用户有可能只关注于桌面最前端 (Z轴序最大) 的 一个或两个应用对应的窗口, 并不关注 z轴序小的窗口, 因此, 可以降质传输 Z轴序小的窗口或者 不传输 z轴序小的窗口, 从而达到降低网络负载。 提高终端运行效率, 降低服务器负载的效果。 It can be seen that although the corresponding window of multiple applications is started, the user may only focus on the front end of the desktop (the Z-axis order is the largest). The window corresponding to one or two applications does not focus on the window with a small z-axis order. Therefore, it is possible to reduce the transmission of a window with a small Z-axis sequence or a window with a small z-axis sequence, thereby reducing the network load. Improve terminal operating efficiency and reduce server load.
本发明实施例窗口图像的传输方法, 适用于在线应用场景, 对窗口的音视频数据进行高效压缩 (例如采取视频压缩技术) 后发送到终端, 终端收到压缩后的画面后在本地先解码再展示。  The method for transmitting a window image according to an embodiment of the present invention is applicable to an online application scenario, and the audio and video data of the window is efficiently compressed (for example, by using a video compression technology) and then sent to the terminal, and the terminal first decodes the compressed image after receiving the compressed image. Show.
与在线应用场景不同的是, 在线应用场景是将服务器运行应用的应用窗口的图像数据传递到终 端, 而远程桌面是将服务器的整个桌面传递到终端, 但在终端都是在一个窗口的方式进行显示。 所 以如果在终端显示的远程桌面的窗口被其他窗口半遮盖时, 可以对服务器对应的被遮盖的远程桌面 的区域进行单色填充后再编码传输, 如是全遮盖, 则整个桌面的图像都不用进行编码, 也不用进行 传输, 同样可以减少网络带宽, 降低服务器和终端的资源消耗。  Different from the online application scenario, the online application scenario is to transfer the image data of the application window of the server running application to the terminal, and the remote desktop transmits the entire desktop of the server to the terminal, but the terminal is in a window manner. display. Therefore, if the window of the remote desktop displayed by the terminal is partially covered by other windows, the area of the covered remote desktop corresponding to the server may be monochromatically filled and then encoded and transmitted. If the cover is completely covered, the image of the entire desktop is not used. Encoding, without transmission, can also reduce network bandwidth and reduce resource consumption of servers and terminals.
本发明实施例窗口图像的传输方法也适用于远程桌面应用场景。  The method for transmitting a window image in the embodiment of the present invention is also applicable to a remote desktop application scenario.
可见, 本发明实施例窗口图像的传输方法, 对于多窗口情况下, 窗口全显示时, 将窗口图像编 码传输给终端, 窗口被全部遮盖时, 不需要将窗口图像编码传输给终端, 而窗口被部分遮盖时, 对 遮盖区域内图像填充纯色, 再编码传输给终端, 从而达到降低网络负载, 提高终端运行效率, 降低 服务器负载的效果。 如图 6所示, 对应上述实施例的窗口图像的传输方法, 本发明实施例提供一种服务器, 包括: 接收单元 61, 用了-虚拟机在运行应用的过程中, 接收终端发送该应用对应的窗口的窗口信息; 确定单元 62, 用于根据所述窗口信息, 确定所述窗口的显示区域信息;  It can be seen that, in the case of multiple windows, when the window is fully displayed, the window image code is transmitted to the terminal, and when the window is completely covered, the window image code does not need to be transmitted to the terminal, and the window is When partially covering, the image in the covered area is filled with a solid color, and then encoded and transmitted to the terminal, thereby reducing the network load, improving the operating efficiency of the terminal, and reducing the load on the server. As shown in FIG. 6, the embodiment of the present invention provides a server, which includes: a receiving unit 61. In the process of running an application, the receiving terminal sends the application corresponding to the virtual terminal. a window information of the window; a determining unit 62, configured to determine display area information of the window according to the window information;
传输单元 63 , 用 T根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发 送给所述终端, 以使所述终端进行显示。  The transmission unit 63 transmits, by the T, image data corresponding to the display area information of the window to the terminal according to the display area information of the window, so that the terminal performs display.
本发明实施例的服务器, 根据应用在终端显示的窗口的显示区域信息, 发送与窗口的显示区域 信息对应的图像数据, 当窗口显示区域小于整个窗口区域时, 不需要发送整个窗口区域对应的图像 数据, 从而达到降低网络负载的效果。  The server of the embodiment of the present invention sends image data corresponding to the display area information of the window according to the display area information of the window displayed by the terminal. When the window display area is smaller than the entire window area, the image corresponding to the entire window area does not need to be sent. Data to achieve the effect of reducing network load.
本发明实施例的服务器, 接收单元 61接收终端发送该应用对应的窗口的窗口信息之前, 终端向 服务器发出携带应用标识的应用运行的请求,服务器根据用应标识选择虚拟机运行终端请求的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端发送信息的连接。 因此, 终端通过该连接将该 应用在终端显示窗口的窗口信息或用户针对应用的操作发送给运行该应用的虚拟机。 窗口是虚拟机 运行的应用在终端显示的窗口。  In the server of the embodiment of the present invention, before the receiving unit 61 receives the window information of the window corresponding to the application, the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application requested by the virtual machine running terminal according to the identifier. And the virtual machine and the terminal establish a connection for transmitting the application running data and receiving the information sent by the terminal. Therefore, the terminal transmits the window information of the application in the terminal display window or the user's operation for the application to the virtual machine running the application through the connection. The window is the window displayed by the application running on the terminal.
可选的, 终端发送的窗口信息包括: 窗口显示状态, 窗口的遮盖区域任一角点的坐标, 以及遮 盖区域的宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐 标系的坐标, 屏幕坐标系是指以显示器屏幕的左上角点为坐标原点 (0, 0) ,横向为 X轴, 纵向为 Y 轴, 窗口坐标系是指以窗口的左上角点为坐标原点 (0,0)), 横向为 X轴, 纵向为 Y轴; 窗口的遮盖 区域可以为一个 者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。 定义终端发送窗口信息 的消息类型为 Updata— Window— infrom, 消息格式可以如是上表 1所示, 从而虚拟机解析该消息 获取终端发送的窗口信息。 可选的, 终端发送的窗口信息包括: 窗口显示状态, 窗口任一角点的坐标, 窗口的宽度和高度, z轴序大于该窗口且遮盖该窗口的窗口的任一角点的坐标, 以及 z轴序大于该窗口且遮盖该窗口的 窗口宽度和高度。 其中, 坐标包括 X坐标和 Y坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐标系 的坐标; z 轴序人于该窗口且遮盖该窗口的窗口可以为一个或者多个。 可选的, 窗口信息还可以包 括: 遮盖窗口数 。 定义终端发送窗口信息的消息类型为 Updata_Window— infrom, 消息格式可以 如上表 2所示, 从而虚拟机解析该消息获取终端发送的窗口信息。 Optionally, the window information sent by the terminal includes: a window display state, a coordinate of any corner point of the cover area of the window, and a width and a height of the cover area. Wherein, the coordinates include an X coordinate and a Y coordinate, and the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system, and the screen coordinate system refers to a point of the upper left corner of the display screen as a coordinate origin (0, 0), and a horizontal direction is an X axis. The vertical direction is the Y axis, and the window coordinate system means that the upper left corner of the window is the coordinate origin (0, 0), the horizontal direction is the X axis, and the vertical direction is the Y axis; the window covering area can be one or more. Optionally, the window information may further include: a number of cloaking windows. The message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 1, so that the virtual machine parses the message to obtain the window information sent by the terminal. Optionally, the window information sent by the terminal includes: a window display state, a coordinate of any corner of the window, a width and a height of the window, a coordinate of the z-axis sequence larger than the corner of the window and the window covering the window, and the z-axis The order is larger than the window and covers the window width and height of the window. Wherein, the coordinates include an X coordinate and a Y coordinate, and the coordinate may adopt a coordinate of a screen coordinate system or a coordinate of a window coordinate system; the window may be one or more of the window and the window covering the window may be one or more. Optionally, the window information may further include: a number of cloaking windows. The message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 2 above, so that the virtual machine parses the message to obtain the window information sent by the terminal.
可选的, 终端发送的窗口信息包括: 窗口任一角点的坐标, 窗口的宽度和高度, Z 轴序大于该 窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口的窗口宽度和高度。 其中, 坐标包括 X坐标 和 γ坐标, 坐标可采用屏幕坐标系的坐标或者窗口坐标系的坐标; Z轴序大于该窗口的窗口可以为 一个或者多个。 可选的, 窗口信息还可以包括: 遮盖窗口数量。 定义终端发送窗口信息的消息类型 为 Updata— Window— infrom, 消息格式可以如上表 3所示, 从而虚拟机解析消息获取终端发送的 窗口信息。  Optionally, the window information sent by the terminal includes: coordinates of any corner point of the window, width and height of the window, a coordinate of the Z axis is greater than a corner of the window of the window, and a Z axis order is greater than a window width of the window and height. The coordinates include an X coordinate and a γ coordinate, and the coordinate may adopt the coordinate of the screen coordinate system or the coordinate of the window coordinate system; the window whose Z axis sequence is larger than the window may be one or more. Optionally, the window information may further include: a number of cloaking windows. The message type of the terminal to send the window information is Updata_Window_infrom, and the message format can be as shown in Table 3 above, so that the virtual machine parses the message to obtain the window information sent by the terminal.
可选的, 接收单元 61还可以用于接收终端发送的窗口位置请求消息, 窗口位置请求消息用于请 求获得虛拟机的窗口大小和位置信息。 此时, 如图 7所示, 本发明实施例提供的服务器, 还可以包 括发送单元 71 , 用丁 '将虚拟机的窗口大小和位置信息发送给所述终端。  Optionally, the receiving unit 61 is further configured to receive a window location request message sent by the terminal, where the window location request message is used to obtain the window size and location information of the virtual machine. At this time, as shown in FIG. 7, the server provided by the embodiment of the present invention may further include a sending unit 71, configured to send the window size and location information of the virtual machine to the terminal.
或者, 接收单元 61接收终端发送的窗口信息, 该窗口信息中包含终端的窗口大小和位置信息, 或者接收终端发送的窗口通知消息, 该窗口通知消息携带终端的窗口大小和位置信息。 此时, 如图 7所示, 本发明实施例提供的服务器, 还可以包括坐标转换单元 72, 用于根据终端的窗口大小和位 置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。  Alternatively, the receiving unit 61 receives the window information sent by the terminal, where the window information includes the window size and location information of the terminal, or receives a window notification message sent by the terminal, and the window notifies the message carrying terminal of the window size and location information. At this time, as shown in FIG. 7, the server provided by the embodiment of the present invention may further include a coordinate conversion unit 72, configured to convert the coordinates of the terminal into two according to the window size and location information of the terminal, the window size and the location information of the virtual machine. The corresponding coordinates of the virtual machine.
虚拟机的窗口大小可以通过操作系统提供的 API获得。 坐标转换公式: 如虚拟机的窗口大小为 X1*Y1 , 终端窗口大小为 Χ2*Υ2, 如终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角的坐 标为 (x2,y2), 则对于在终端的一个坐标为 (al,bl ), 宽为 cl, 高为 dl 的窗口, 其在虚拟机的坐 标变为 a2= (al-xl+x2 ) *X2/X1; b2= (bl- yl+y2) *Y2/Yl ; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl。 The window size of the virtual machine can be obtained through the API provided by the operating system. Coordinate conversion formula: If the window size of the virtual machine is X1*Y1, the terminal window size is Χ2*Υ2, for example, the coordinates of the upper left corner of the terminal window are (xl, yl), and the coordinates of the upper left corner of the virtual machine window are (x2, y2). ), for a window with coordinates (al, bl), width cl, and height dl at the terminal, its coordinates in the virtual machine become a2=(al-xl+x2) *X2/X1 ; b2= (bl- yl+y2) *Y2/Yl ; width is c2=cl*X2/Xl; height is d2=dl*Y2/Yl.
当窗口信息为表 1格式时: 确定单元 62, 具体可以用于:  When the window information is in the format of Table 1: the determining unit 62 can be specifically used for:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。  When the window display state in the window information is full display, it is determined that the display area of the window is the entire window.
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。  Or, when the window display status in the window information is full, the display area of the window is determined to be 0.
或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的区域。  Or, according to the window display state in the window information is partially covered, according to the X coordinate, the Y coordinate, the width and the height of the cover area of any corner of the cover area in the window information, the display area of the window is determined to be the entire window except the cover area. The area, when there are a plurality of cover areas, determine a joint cover area composed of a plurality of cover areas, thereby determining that the display area of the window is an area of the entire window except the joint cover area.
或者, 当窗口信息为表 2格式时: 确定单元 62, 具体可以用于- 根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口。  Alternatively, when the window information is in the format of Table 2: the determining unit 62 can be specifically used to determine the display area of the window as the entire window according to the window display state in the window information.
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0。  Or, when the window display status in the window information is full, the display area of the window is determined to be 0.
或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽 度及高度, 确定遮盖 域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; Or, according to the window display state in the window information is partially covered, according to the X coordinate, the Y coordinate, the width and the height of any corner point of the window in the window information, and any corner of the window whose z-axis order is larger than the window and covers the window X coordinate, Y coordinate, width of the point Degree and height, determine the X coordinate, Y coordinate, width and height of the cover area of any corner of the cover field;
以及根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域 为整个窗口除遮盖区域外的区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示 域为整个窗口除联合遮盖区域外的区域。  And determining, according to the X coordinate, the Y coordinate, the width and the height of the corner of the covering area, the display area of the window is an area other than the covering area of the entire window, and when there are a plurality of covering areas, determining a plurality of covering areas The joint occlusion area determines the display field of the window as the area of the entire window except the joint occlusion area.
或者, 当窗口信息为表 3格式时: 确定单元 62, 具体可以用于:  Alternatively, when the window information is in the format of Table 3: determining unit 62, specifically for:
根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口;  According to the X coordinate, the Y coordinate, the width and the height of any corner point of the window in the window information, and the X coordinate, the Y coordinate, the width and the height of any corner point of the window whose z-axis order is larger than the window, it is determined that the z-axis order is larger than the Whether the window of the window covers the window, if the window whose z-axis order is larger than the window does not cover the window, the window display state of the window is full display, and the display area of the window is determined to be the entire window;
如果 z轴序火于该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度;  If the z-axis fires over the window of the window, the X coordinate, the Y coordinate, the width and the height of any corner of the window in the window information, and the window whose z-axis order is larger than the window and covers the window The X coordinate, Y coordinate, width and height of a corner point, determine the X coordinate, Y coordinate, width and height of the cover area of any corner point of the cover area;
根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。  According to the X coordinate, the Y coordinate, the width and the height of the corner of the cover area, it is determined whether the cover area completely covers the window. When there are multiple cover areas, it is determined whether the joint cover area composed of the plurality of cover areas is completely covered. The window; if the occlusion area or the joint occlusion area completely covers the window, the window display state of the window is full occlusion, thereby determining that the display field of the window is 0, and if the occlusion area or the joint occlusion area does not completely cover the window, The window display state of the window is partially covered, and the display area of the window is determined to be an area of the entire window except the cover area, or the display area of the window is determined to be an area of the entire window except the joint cover area.
具体而言, 传输单元 63, 可以用于窗口的显示区域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示。 或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获 取整个窗口的图像数据, 向该遮盖区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述 终端进行显示。  Specifically, the transmission unit 63 can be configured to acquire image data of the entire window when the display area of the window is the entire window, and send the image data to the terminal for display by the terminal. Alternatively, when the display area of the window is an area of the entire window except the cover area, image data of the entire window is acquired, and the cover area is filled with a solid color or a colorless, and the filled image data is sent to the terminal, and the terminal displays .
其中, 纯色如黑色或者白色。  Among them, the solid color is black or white.
可选的, 本发明实施例服务器, 接收单元 61还可以用于:  Optionally, the server of the embodiment of the present invention, the receiving unit 61 is further configured to:
接收所述终端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小 于所述终端其他窗口的 Z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所 述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定降质传输所述窗口的图像或者不传输所 述窗口的图像;  Receiving a display image transmission policy sent by the terminal, where the display image transmission strategy includes: lowering the image of the window or not transmitting the image according to a Z-axis sequence of the window that is smaller than a Z-axis sequence of other windows of the terminal; An image of the window, or according to the ratio of the cover area of the window to the display area being greater than a certain threshold, determining to degrade the image of the window or not to transmit the image of the window;
此时, 传输单元 63, 用于根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗 口的图像。  At this time, the transmission unit 63 is configured to reduce or not transmit the image of the window according to the display image transmission policy.
其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则终端发送的窗口信息中的 窗口显示状态为窗口全遮盖,从而接收单元 61接收到终端发送的窗口信息中的窗口显示状态为窗口 全遮盖。  Wherein, the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load. Optionally, if the terminal determines that the image transmission policy is not to transmit the image of the window, the window display state in the window information sent by the terminal is completely covered by the window, so that the receiving unit 61 receives the window display in the window information sent by the terminal. The status is completely covered by the window.
本发明实施例服务器可以对应参考上述实施例的窗口图像的传输方法得以具体理解, 在此不作 赘述。 如图 8所示, 本发明实施例提供一种窗口的显示方法, 包括: The server of the embodiment of the present invention can be specifically understood according to the method for transmitting the window image of the foregoing embodiment, and is not used herein. Narration. As shown in FIG. 8, an embodiment of the present invention provides a window display method, including:
步骤 81、 虚拟机在运行应用的过程中, 发送该应用对应的窗口的窗口信息给服务器, 以使所述 服务器上的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息;  Step 81: The virtual machine sends window information of the window corresponding to the application to the server, so that the virtual machine on the server determines the display area information of the window according to the window information.
步骤 82、 接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。  Step 82: Receive image data corresponding to the display area information of the window sent by the server and display the image data.
本发明实施例窗口的显示方法的执行主体是终端。  The execution body of the display method of the window of the embodiment of the present invention is a terminal.
本发明实施例窗口的显示方法, 终端接收所述服务器发送的与窗口的显示区域信息对应的图像 数据, 当窗口显示区域小于整个窗口区域时, 不需要接收整个窗口区域对应的图像数据, 从而达到 降低网络负载的效果, 并提高终端运行效率。  In the display method of the window of the embodiment of the present invention, the terminal receives the image data corresponding to the display area information of the window sent by the server, and when the window display area is smaller than the entire window area, the image data corresponding to the entire window area does not need to be received, thereby achieving Reduce the effect of network load and improve terminal operating efficiency.
本发明实施例窗口的显示方法, 终端向服务器发出携带应用标识的应用运行的请求, 服务器根 据用应标识选择虚拟机运行终端请求的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端 发送信息的连接。 因此, 终端通过该连接将该应用在终端显示窗口的窗口信息或用户针对应用的操 作发送给运行该应用的虚拟机。 窗口是虚拟机运行的应用在终端显示的窗口。  In the display method of the window of the embodiment of the present invention, the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application requested by the virtual machine running terminal according to the identifier, and the transmission application running data and the receiving terminal are established by the virtual machine and the terminal. The connection to send the message. Therefore, the terminal transmits the window information of the application in the terminal display window or the user's operation for the application to the virtual machine running the application through the connection. The window is the window displayed by the application running on the terminal.
本发明实施例窗口的显示方法, 在上述步骤 81之前, 还可以包括:  The display method of the window of the embodiment of the present invention may further include:
当终端建立窗口, 或者窗口的 Z轴序发生变化, 或者窗口的任一角点的坐标发生变化, 或者窗 口的宽度或者高度发生变化时, 确定该窗口的窗口信息。  When the terminal establishes a window, or the Z-axis sequence of the window changes, or the coordinates of any corner of the window change, or the width or height of the window changes, the window information of the window is determined.
具体的, 参见图 2-图 5, 终端存在四个应用在终端分别对应窗口 A、 窗口 B、 窗口 C及窗口 D, 如图 9所示, 确定窗口的窗口信息, 包括:  Specifically, referring to FIG. 2 to FIG. 5, there are four applications in the terminal corresponding to the window A, the window B, the window C, and the window D. As shown in FIG. 9, the window information of the window is determined, including:
步骤 91、 终端获取终端所有窗口的 Z轴序、 所有窗口的任一角点的 (X,Y) 坐标以及所有窗口 的宽度和高度。  Step 91: The terminal acquires the Z-axis sequence of all windows of the terminal, the (X, Y) coordinates of any corner of all the windows, and the width and height of all the windows.
具体的, 终端获取所有窗口的 Ζ轴序, 如窗口 C的 Ζ轴序〉窗口 D的 Ζ轴序〉窗口 Β的 Ζ轴序〉 窗口 Α的 Ζ轴序。  Specifically, the terminal acquires the axis sequence of all windows, such as the axis sequence of window C > the axis sequence of window D > the axis sequence of the window 〉 the axis sequence of the window Α.
以下具体都以左上角点为例, 终端获取窗口 A的左上角点 (X,Y) 坐标为 (50,50), 宽为 150, 高为 100; 窗口 Β的左上角点(Χ,Υ)坐标为(70,80), 宽为 60, 高为 120; 窗口 C的左上角点(Χ,Υ) 坐标为 ( 100,110 ), 宽为 140, 高为 100; 如窗口 D的左上角点 (Χ,Υ)坐标为 (210,160), 宽为 20, 高为 20。  The following is an example of the upper left corner. The coordinates of the upper left corner (X, Y) of the terminal acquisition window A are (50, 50), the width is 150, and the height is 100. The upper left corner of the window Χ (Χ, Υ) The coordinates are (70,80), the width is 60, and the height is 120. The upper left corner of window C (Χ,Υ) has coordinates (100,110), width 140, and height 100; as in the upper left corner of window D (Χ , Υ) The coordinates are (210, 160), the width is 20, and the height is 20.
步骤 92、 终端确定窗口的 Ζ轴序是否为最大, 如果是则窗口显示状态为全显示, 否则进入步骤 93确定 ζ轴序大丁亥窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度。  Step 92: The terminal determines whether the axis sequence of the window is maximum, and if yes, the window display state is full display, otherwise, the process proceeds to step 93 to determine (Χ, Υ) coordinates and window of any corner of the window of the axis window Width and height.
具体的, 终端根据窗口 C的 Ζ轴序 >窗口 D的 Ζ轴序窗口 Β的 Ζ轴序 >窗口 Α的 Ζ轴序, 确定 窗口 C的 Z轴序最大, 即窗口 C为 Z轴序顶部的窗口, 则根据 Z轴序顶部的窗口覆盖 Z轴序中的 其他窗口, 确定窗口 C的窗口显示状态为全显示。  Specifically, the terminal determines that the Z-axis order of the window C is the largest according to the axis sequence of the window C, the axis sequence of the window D, and the axis sequence of the window ,, that is, the window C is the top of the Z-axis sequence. The window, according to the window at the top of the Z-axis sequence, covers other windows in the Z-axis sequence, and determines that the window display state of the window C is full display.
由于窗 Π Α、 窗口 Β和窗口 D的 Ζ轴序不为最大, 进入步骤 93进一步确定 Ζ轴序大于该窗口 的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度。 Since the window Π Α, window D, and window Β Ζ axis is not the maximum sequence proceeds to step 93 further determines Ζ axis of order greater than any corner of the window the window points (Χ, Υ) coordinates and the width and height of the window.
步骤 93、 终端根据 ζ轴序大于该窗口的窗口任一角点的 (Χ, Υ) 坐标以及窗口的宽度和高度, 确定窗口是否被 z轴序大于该窗口的窗口遮盖, 如果没有则该窗口的窗口显示状态为全显示, 否则 确定 ζ轴序大于该窗口且遮盖该窗口的窗口任一角点的 (Χ, Υ) 坐标以及窗口的宽度和高度。 Step 93: The terminal is greater than (Χ, Υ) coordinates of any corner of the window of the window according to the axis sequence, and the width and height of the window. Determining whether the window is covered by a window whose z-axis order is larger than the window. If not, the window display state of the window is full display, otherwise it is determined that the axis sequence is larger than the window and covers any corner of the window of the window (Χ, Υ) The coordinates and the width and height of the window.
具体的, 窗口 C的 Ζ轴序、 窗口 D的 Ζ轴序以及窗口 Β的 Ζ轴序大于窗口 Α的 Ζ轴序, 终端根 据窗口 A的左上角点的横纵轴(Χ, Υ ) 以及窗口的宽度和高度, 确认 Ζ轴序大于窗口 Α的窗口 Β的左 上角点位于窗口 A的窗口区域内, 确定窗口 A被窗口 B遮盖。 具体的, 如图 3所示, 对于窗口 A, 终端根据窗口 B的 Z轴序〉窗口 A的 Z轴序, 以及窗口 A的横纵轴(X,Y)坐标为(50, 50), 宽度 150, 高度 100 ; 窗口 Β的左上角点 (Χ,Υ) 坐标为 (70, 80), 确定窗口 Β的左上角点坐标位于窗口 Α的窗 口区域内。 进一步的, 终端可以根据窗口 A的 XY轴 (Χ, Υ ) 坐标为 (50, 50), 宽度 150,高度 100度 计算窗口 Α的右上角点坐标 (Χ, Υ) 为 (200, 50), 以及计算左下角点坐标 (50, 150), 确定窗口 Β的左上角点的 X轴坐标 70大于窗口 Α的左上角点的 X轴坐标 50,小于窗口 A的右上角点的 X轴坐 标 200, 以及确定窗口 B的左上角点的 Y轴坐标 80小于窗口 A的左下角点的 Y轴坐标 150, 大于窗 口 A的左上角点的 Y轴坐标 50, 从而确定窗口 B的左上角点位于窗口 A的窗口区域内。  Specifically, the axis sequence of the window C, the axis sequence of the window D, and the axis sequence of the window 大于 are larger than the axis sequence of the window ,, and the terminal is based on the horizontal and vertical axes (Χ, Υ) of the upper left corner of the window A and the window. The width and height of the window are confirmed to be larger than the window Α. The upper left corner of the window is located in the window area of window A, and it is determined that window A is covered by window B. Specifically, as shown in FIG. 3, for window A, the terminal is based on the Z-axis sequence of window B> the Z-axis order of window A, and the horizontal and vertical axis (X, Y) coordinates of window A are (50, 50), width 150, height 100; The upper left corner of the window Χ (Χ, Υ) coordinates are (70, 80), and the coordinates of the upper left corner of the window 确定 are determined to be within the window area of the window Α. Further, the terminal can calculate the coordinates (Χ, Υ) of the upper right corner of the window 根据 according to the XY axis (Χ, Υ) coordinates of the window A as (50, 50), the width 150, and the height of 100 degrees (200, 50), And calculating the coordinates of the lower left corner point (50, 150), determining that the X-axis coordinate 70 of the upper left corner of the window 大于 is greater than the X-axis coordinate 50 of the upper left corner of the window ,, and less than the X-axis coordinate 200 of the upper right corner of the window A, And determining that the Y-axis coordinate 80 of the upper left corner of the window B is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and larger than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window B is located in the window A. Within the window area.
作为另一种可选方式, 终端根据窗口 A的左上角点的横纵轴(Χ, Υ ) 以及窗口的宽度和高度以及 根据窗口 Β的左上角点的坐标和 /或窗口 Β的高度,确认 1轴序大于窗口 Α的窗口 Β窗口 Β的左上角 点的 Y轴标坐小丁 ·窗口 A的左下角点的 Y轴坐标, 或确定窗口 B的左下角点的 Y轴坐标大于窗口 A 的左上角点的 Y轴坐标, 则确定窗口 A没有被窗口 B所遮盖。 进一步的, 终端根据窗口 A的左上角 点的横纵轴 (Χ, Υ ) 以及窗口的宽度和高度以及根据窗口 Β的左上角点的坐标和 /或窗口 Β的高度, 确定窗口 Β的左上角点的 X坐标大于窗口 Α的左上角点的 X轴坐标, 小于窗口 A的右上角点的 X轴 坐标, 且窗口 B的左下角点的 Y轴坐标大于窗口 A的左上角点的 Y轴坐标, 则确定窗口 A被窗口 B 所遮盖。 并可以进一步确定窗口 A被遮盖的第一遮盖区域。  As another alternative, the terminal confirms according to the horizontal and vertical axes (Χ, Υ) of the upper left corner of the window A, the width and height of the window, and the coordinates of the upper left corner of the window 和 and/or the height of the window Β. 1 axis sequence is larger than the window Α window Β window Β the upper left corner of the point Y axis is sitting on the small D · window A lower left corner point Y coordinate, or the window B lower left corner point Y coordinate is greater than the window A The Y-axis coordinate of the upper left corner point determines that window A is not covered by window B. Further, the terminal determines the upper left corner of the window 根据 according to the horizontal and vertical axes (Χ, Υ) of the upper left corner of the window A and the width and height of the window and the coordinates of the upper left corner of the window 和 and/or the height of the window Β. The X coordinate of the point is larger than the X-axis coordinate of the upper left corner of the window ,, smaller than the X-axis coordinate of the upper right corner of the window A, and the Y-axis coordinate of the lower left corner of the window B is larger than the Y-axis coordinate of the upper left corner of the window A. , then it is determined that window A is covered by window B. And the first cover area in which the window A is covered can be further determined.
根据窗口 A的窗口信息中窗口 A的左上角点的 (Χ, Υ)坐标为 (50, 50), 宽为 150,高为 100, 以 及 ζ轴序大于窗口 Α的窗口 C的左上角点的 (Χ, Υ )坐标为 (100, 110), 宽为 140, 高为 100,确定窗 口 C的左上角点坐标位于窗口 Α的窗口区域内。 进一步的, 根据窗口 A的左上角点 (Χ, Υ) 坐标为 ( 50, 50), 宽度 150,高度 100度计算窗口 Α的右上角点坐标 (Χ, Υ ) 为 (200, 50), 以及计算左下 角点坐标(50, 150 ) , 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Α的左上角点的 X轴坐标 50, 小于窗口 A的右上角点的 X轴坐标 200, 以及确定窗口 C的左上角点的 Y轴坐标 110小于窗口 A的 左下角点的 Y轴坐标 150, 大于窗口 A的左上角点的 Y轴坐标 50, 从而确定窗口 C的左上角点位于 窗口 A的窗口区域内。 进一步的确定窗口 C的 z轴序大于窗口 A且遮盖窗口 A。  According to the window information of the window A, the (Χ, Υ) coordinates of the upper left corner of the window A are (50, 50), the width is 150, the height is 100, and the top left corner of the window C whose axis sequence is larger than the window Α is (Χ, Υ) The coordinates are (100, 110), the width is 140, and the height is 100. It is determined that the coordinates of the upper left corner of the window C are located in the window area of the window Α. Further, according to the upper left corner point (Χ, Υ) of the window A, the coordinates (50, 50), the width 150, and the height of 100 degrees are calculated as the coordinates (Χ, Υ) of the upper right corner of the window 为 (200, 50), and Calculating the coordinates of the lower left corner point (50, 150), determining that the X-axis coordinate 100 of the upper left corner of the window C is greater than the X-axis coordinate 50 of the upper left corner of the window ,, less than the X-axis coordinate 200 of the upper right corner of the window A, and It is determined that the Y-axis coordinate 110 of the upper left corner of the window C is smaller than the Y-axis coordinate 150 of the lower left corner of the window A, and is greater than the Y-axis coordinate 50 of the upper left corner of the window A, thereby determining that the upper left corner of the window C is located in the window A. Within the window area. Further, the z-axis order of the window C is larger than the window A and the window A is covered.
根据窗口 A的窗口信息中窗口 A的左上角点的(Χ, Υ)坐标为 (50, 50), 以及窗口 D的左上角点 ( Χ, Υ )坐标为(210, 160), 宽为 20,高为 20, 计算窗口 Α的右上角点坐标(X, Υ)为(200, 50), 以 及计算左下角点坐标 (50, 150 ) , 确定窗口 D的左上角点的 X轴坐标 210大于窗口 A的右上角点的 X轴坐标 200, 窗口 D的左上角点的 Y轴坐标 160大于窗口 A的右上角点的 Y轴坐标 150, 从而确定 窗口 D的左上角点位于窗口 A的窗口区域之外。 进一步的确定窗口 D没有遮盖窗口 A。  According to the window information of window A, the coordinates of (左, Υ) of the upper left corner of window A are (50, 50), and the coordinates of the upper left corner of window D ((, Υ) are (210, 160), and the width is 20 , the height is 20, the coordinates of the upper right corner of the calculation window ( (X, Υ) are (200, 50), and the coordinates of the lower left corner point (50, 150) are calculated, and the X-axis coordinate 210 of the upper left corner of the window D is determined to be greater than The X-axis coordinate 200 of the upper right corner of the window A, the Y-axis coordinate 160 of the upper left corner of the window D is greater than the Y-axis coordinate 150 of the upper right corner of the window A, thereby determining that the upper left corner of the window D is located in the window area of the window A Outside. Further determining that window D does not obscure window A.
此外, 假设确定窗口 B的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 B 的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 B的左上角点没有位于窗口 A的 窗口区域内, 则确定窗口 A没有被窗口 B所遮盖; 假设确定窗口 C的左上角点的 X轴坐标大于窗口 A的右上角点的 X轴坐标, 或者窗口 C的左上角点的 Y轴坐标大于窗口 A的左下角点的 Y轴坐标, 即窗口 C的左上角点没有位于窗口 A的窗口区域内, 则确定窗口 A没有被窗口 C所遮盖; 因此确定 窗口 A没有被窗口 B、 窗口(、 窗口 D所遮盖, 窗口 A的窗口显示状态为全显示。 In addition, it is assumed that the X-axis coordinate of the upper left corner of the window B is larger than the X-axis coordinate of the upper right corner of the window A, or the Y-axis coordinate of the upper left corner of the window B is larger than the Y-axis coordinate of the lower left corner of the window A, that is, The top left corner of window B is not located in window A. In the window area, it is determined that the window A is not covered by the window B; it is assumed that the X-axis coordinate of the upper left corner of the window C is larger than the X-axis coordinate of the upper right corner of the window A, or the Y-axis coordinate of the upper left corner of the window C If the Y-axis coordinate of the lower left corner of the window A is larger, that is, the upper left corner of the window C is not located in the window area of the window A, it is determined that the window A is not covered by the window C; therefore, it is determined that the window A is not covered by the window B or the window ( The window D is covered, and the window display state of the window A is full display.
如图 4所示, 对于窗口 B, 窗口 C的 Z轴序以及窗口 D的 Z轴序大于窗口 B的 Z轴序, 终端根 据窗口 B的左上角点 (Χ, Υ) 坐标为 (70, 80), 宽为 60, 高为 120, 以及 ζ轴序大于窗口 Β的窗口 C 的左上角点的 《,Y) 坐标为 (100, 110 ) , 宽为 140, 高为 100, 确定窗口 C的左上角点坐标位于窗 口 Β的窗口区域内。进一步的, 根据窗口 Β的左上角点(Χ,Υ)坐标为(70, 80 ), 宽为 60, 高为 120, 计算窗口 Β的右上角点坐标 (Χ,Υ) 为 (130, 80), 以及计算左下角点坐标 (70, 200 ), 确定窗口 C的左上角点的 X轴坐标 100大于窗口 Β的左上角点的 X轴坐标 70, 小于窗口 Β的右上角点的 X轴 坐标 130, 以及确定窗口 C的左上角点的 Υ轴坐标 110小于窗口 Β的左下角点的 Υ轴坐标 200, 大于 窗口 Β的左上角点的 Υ轴坐标 80, 从而确定窗口 C的左上角点位于窗口 Β的窗口区域内。 进一步的 确定窗口 C的 ζ轴序人于窗口 Β且遮盖窗口 Β。  As shown in FIG. 4, for window B, the Z-axis order of window C and the Z-axis order of window D are larger than the Z-axis order of window B, and the terminal coordinates (70, 80) according to the upper left corner of window B (Χ, Υ). ), the width is 60, the height is 120, and the "Y" coordinate of the upper left corner of the window C whose axis sequence is larger than the window 为 is (100, 110), the width is 140, and the height is 100. The upper left of the window C is determined. The corner coordinates are in the window area of the window Β. Further, according to the upper left corner of the window Β (Χ, Υ) coordinates are (70, 80), the width is 60, the height is 120, and the coordinates of the upper right corner of the window Β (Χ, Υ) are calculated as (130, 80) And calculating the coordinates of the lower left corner point (70, 200), determining that the X-axis coordinate 100 of the upper left corner of the window C is greater than the X-axis coordinate 70 of the upper left corner of the window ,, and less than the X-axis coordinate 130 of the upper right corner of the window Β And determining that the axis coordinate 110 of the upper left corner of the window C is smaller than the pivot coordinate 200 of the lower left corner of the window ,, which is greater than the 坐标 axis coordinate 80 of the upper left corner of the window ,, thereby determining that the upper left corner of the window C is located in the window Inside the window area. Further, it is determined that the axis of the window C is in the window and the window is closed.
根据窗口 Β的左上角点(X, Υ)坐标为(70, 80),宽为 60,高为 120,以及窗口 D的左上角点(X, Υ) 坐标为 (210, 160 ) , 宽为 20,高为 20, 计算窗口 Β的右上角点坐标 (Χ, Υ) 为 (130, 80), 以及计 算左下角点坐标 (70, 200), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 Β的右上角点的 X轴 坐标 130, 从而确定窗口 D的左上角点位于窗口 Β的窗口区域之外。 进一步的确定窗口 D没有遮盖 窗口 Β。  According to the upper left corner of the window (X, Υ), the coordinates are (70, 80), the width is 60, the height is 120, and the upper left corner of the window D (X, Υ) coordinates are (210, 160), and the width is 20, the height is 20, the coordinates of the upper right corner of the calculation window Χ (Χ, Υ) are (130, 80), and the coordinates of the lower left corner point (70, 200) are calculated, and the X-axis coordinate 210 of the upper left corner of the window D is determined. It is greater than the X-axis coordinate 130 of the upper right corner of the window ,, thereby determining that the upper left corner of the window D is outside the window area of the window Β. Further confirmation window D does not cover the window Β.
假设确定窗口 C的左上角点的 X轴坐标大于窗口 Β的右上角点的 X轴坐标, 或者窗口 C的左上 角点的 Υ轴坐标人于窗口 Β的左下角点的 Υ轴坐标, 即窗口 C的左上角点没有位于窗口 Β的窗口区 域内, 则确定窗口 Β没有被窗口(;、 窗口 D所遮盖,窗口 Β的窗口显示状态为全显示。  Suppose that the X-axis coordinate of the upper left corner of the window C is larger than the X-axis coordinate of the upper right corner of the window ,, or the 坐标 coordinate of the upper left corner of the window C is the Υ coordinate of the lower left corner of the window ,, that is, the window The upper left corner of C is not in the window area of the window ,, then it is determined that the window Β is not covered by the window (;, window D, and the window 显示 window display state is full display.
如图 5所示, 对丁 ·窗口 D, 窗口 C的 Z轴序大于窗口 D的 Z轴序, 终端根据窗口 D的窗口信息 中窗口 D的左上角点(X, Y)坐标为(210, 160 ),宽为 20,高为 20,计算窗口 D的右上角点坐标(X, Y) 为 (230, 160), 以及计算窗口 D的左下角点坐标(210, 180), 根据 z轴序大于窗口 D的窗口 C的 左上角点的 (Χ, Υ ) 坐标为 (100, 110), 宽为 140, 高为 100, 计算窗口 C的右上角点坐标(Χ, Υ) 为 ( 240, 100), 以及计算窗口 C的左下角点坐标 (100, 210), 确定窗口 D的左上角点的 X轴坐标 210大于窗口 C的左上角点的 X轴坐标 100, 小于窗口 C的右上角点的 X轴坐标 240, 以及确定窗口 D的左上角点的 Υ轴坐标 160小于窗口 C的左下角点的 Υ轴坐标 210,大于窗口 C的左上角点的 Υ轴 坐标 110, 从而确定 C的 ζ轴序大于窗口 D且遮盖窗口 D。  As shown in FIG. 5, for the D-window D, the Z-axis order of the window C is larger than the Z-axis order of the window D, and the terminal coordinates (X, Y) of the upper left corner of the window D according to the window information of the window D is (210, 160), width is 20, height is 20, the coordinates (X, Y) of the upper right corner of the calculation window D are (230, 160), and the coordinates of the lower left corner of the calculation window D (210, 180), according to the z-axis order The (Χ, Υ) coordinates of the upper left corner of the window C larger than the window D are (100, 110), the width is 140, and the height is 100. The coordinates of the upper right corner of the calculation window C (Χ, Υ) are (240, 100). And calculating the coordinates of the lower left corner of the window C (100, 210), determining that the X-axis coordinate 210 of the upper left corner of the window D is greater than the X-axis coordinate 100 of the upper left corner of the window C, which is smaller than the upper right corner of the window C. The X-axis coordinate 240, and the paraxial coordinate 160 of the upper left corner of the window D is determined to be smaller than the paraxial coordinate 210 of the lower left corner of the window C, and greater than the paraxial coordinate 110 of the upper left corner of the window C, thereby determining the axis of C The sequence is larger than window D and covers window D.
步骤 94、 终端根据 z轴序大于该窗口且遮盖该窗口的窗口任一角点的 (Χ, Υ) 坐标以及窗口的 宽度和高度, 以及该窗口任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确定该窗口的遮盖区域任 一角点的 (Χ, Υ) 坐标以及遮盖区域的宽度和高度。  Step 94: The terminal is larger than the (Χ, Υ) coordinate of any corner of the window according to the z-axis sequence and covering the window, and the width and height of the window, and the (Χ, Υ) coordinates of any corner of the window and the window. Width and height, determine the (Χ, Υ) coordinates of any corner of the window's covered area and the width and height of the covered area.
如图 3所示, 对于窗口 Α, 根据窗口 Β的宽度 60和高度 120, 以及窗口 Α的左上角点的坐标以 及窗口 A的宽度和高度获取窗口 A被窗口 B的遮盖的遮盖区域(即第一遮盖区域)。 具体的, 终端窗 口 A的左上角点的坐标以及窗口 A的宽度和高度获取窗口 A的右上角点坐标 (Χ, Υ) 为 (200, 50) 以及左下角点坐标 (50, 150) ,以及根据窗口 B的左上角点的坐标以及窗口 B的宽度和高度计算窗 口 B的右上角点坐标 (X,Y) 为 (130, 80 ) 以及左下角点坐标 (70, 200) ,终端确定窗口 Β的右上 角点位于窗口 Α的区域内, 则确定第一遮盖区域的宽度为窗口 B的宽度 60, 以及第一遮盖区域的高 度为窗口 A左下角点的 Y轴坐标 150减去窗口 B左上角点的 Y轴坐标 80为 70.因此, 窗口 A的第一 遮盖区域左上角点的 (X,Y) 坐标为 (70,80), 第一遮盖区域宽为 60, 高为 70。 进一步的, 假设终 端确定窗口 Β的 上角点的坐标位于窗口 Α的区域之外, 即窗口 B的右上角点的 X轴坐标大于窗口 A的 X轴坐标, 则第一遮盖区域的宽度为窗口 A的右上角点的 X轴坐标减去窗口 B的左上角点的坐 标。 此外, 假设终端窗口 B的左下角点位于窗于 A的区域内, 则第一遮盖区域的高度为窗口 B的高 度。 As shown in FIG. 3, for the window Α, according to the width 60 and the height 120 of the window ,, and the coordinates of the upper left corner of the window 以及 and the width and height of the window A, the occlusion area of the window A covered by the window B is obtained (ie, A covered area). Specifically, the coordinates of the upper left corner of the terminal window A and the width and height of the window A obtain the coordinates (Χ, Υ) of the upper right corner of the window A as (200, 50) And the coordinates of the lower left corner point (50, 150), and the coordinates of the upper right corner of the window B (X, Y) are (130, 80) and the lower left corner according to the coordinates of the upper left corner of the window B and the width and height of the window B. Point coordinates (70, 200), the upper right corner of the terminal determining window 位于 is located in the area of the window ,, determining that the width of the first covering area is the width 60 of the window B, and the height of the first covering area is the lower left corner of the window A The Y-axis coordinate 150 of the point minus the Y-axis coordinate 80 of the upper left corner of the window B is 70. Therefore, the (X, Y) coordinate of the upper left corner of the first cover area of the window A is (70, 80), the first cover The area is 60 wide and 70 high. Further, assuming that the terminal determines that the coordinates of the upper corner of the window 位于 are outside the area of the window ,, that is, the X-axis coordinate of the upper right corner of the window B is greater than the X-axis coordinate of the window A, the width of the first covering area is the window. The X-axis coordinate of the upper right corner of A is subtracted from the coordinates of the upper left corner of window B. Further, assuming that the lower left corner of the terminal window B is located in the area of the window A, the height of the first covered area is the height of the window B.
根据窗口 C的宽度 140和高度 100, 以及窗口 A的左上角点的坐标以及窗口 A的宽度和高度获 取窗口 A被窗口 C的遮盖的遮盖区域(即第二遮盖区域)。 具体的, 根据窗口 A的左上角点的坐标以 及窗口 A的宽度和高度获取窗口 A的右上角点坐标 (Χ, Υ) 为 (200, 50 ) 以及左下角点坐标 (50, 150 ) ,以及根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐标(X, Υ) 为 (240, 100 ) 以及左下角点坐标(100, 210),确定窗口 C的右上角点位于窗口 Α的区域之外以及 窗口 C的左下角点位于窗口 A的区域之外, 则确定第二遮盖区域的宽度为窗口 A的右上角点的 X轴 坐标 200减去窗口 C的左上角点的 X轴坐标 100为 100 , 以及第二遮盖区域的高度为窗口 A左下角 点的 Y轴坐标 150减去窗口 C左上角点的 Y轴坐标 110为 40。 因此, 窗口 A的第二遮盖区域左上角 点的 (X,Y)坐标为 (100, 110), 第二遮盖区域宽为 100, 高为 40。 进一步的, 假设确定窗口 C的右 上角点的坐标位丁窗口 Α的区域内, 则第二遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的 左下角点位于窗 Γ A的区域内, 则第二遮盖区域的高度为窗口 C的高度。  The masked area (i.e., the second covered area) in which the window A is covered by the window C is obtained according to the width 140 of the window C and the height 100, and the coordinates of the upper left corner of the window A and the width and height of the window A. Specifically, according to the coordinates of the upper left corner of the window A and the width and height of the window A, the coordinates (Χ, Υ) of the upper right corner of the window A are (200, 50) and the coordinates of the lower left corner (50, 150), and According to the coordinates of the upper left corner of the window C and the width and height of the window C, the coordinates (X, Υ) of the upper right corner of the window C are calculated as (240, 100) and the coordinates of the lower left corner (100, 210), and the window C is determined. The upper right corner point is outside the area of the window 以及 and the lower left corner of the window C is outside the area of the window A, and then the width of the second covered area is determined as the X-axis coordinate 200 of the upper right corner of the window A minus the window C The X-axis coordinate 100 of the upper left corner point is 100, and the height of the second masking area is the Y-axis coordinate 150 of the lower left corner of the window A minus the Y-axis coordinate 110 of the upper left corner of the window C is 40. Therefore, the (X, Y) coordinate of the upper left corner of the second cover area of the window A is (100, 110), and the second cover area is 100 wide and 40 high. Further, assuming that the coordinate position of the upper right corner of the window C is determined within the area of the window ,, the width of the second mask area is the width of the window C. Further, assuming that the lower left corner of the window C is located in the area of the window A, the height of the second covered area is the height of the window C.
如图 4所示, 对丁窗口 B, 根据窗口 C的宽度 140和高度 100, 以及窗口 B的左上角点的坐标以 及窗口 B的宽度和高度获取窗口 B被窗口 C的遮盖的遮盖区域。 具体的, 根据窗口 B的左上角点的 坐标以及窗口 B的宽度和高度获取窗口 B的右上角点坐标 (X,Y) 为 (130, 80 ) 以及左下角点坐标 ( 70, 200) ,以及根据窗口 C的左上角点的坐标以及窗口 C的宽度和高度计算窗口 C的右上角点坐 标 (Χ,Υ) 为 (240, 100) 以及左下角点坐标 (100, 110 ) ,确定窗口 C的右上角点位于窗口 Β的区 域之外, 以及窗口 C的左下角点位于窗口 Β的区域之外, 则确定遮盖区域的宽度为窗口 Β右上角点 的 X轴坐标 130减去窗口 C左上角点的 X轴坐标 100为 30, 以及遮盖区域的高度为窗口 Β左下角点 的 Υ轴坐标 200减去窗口 C左上角点的 Υ轴坐标 110为 90。因此,窗口 Β的遮盖区域左上角点的 (Χ, Υ) 坐标为 (100, 110 ), 遮盖区域宽为 30, 高为 90。 进一步的, 假设确定窗口 C的右上角点的坐标位于 窗口 Β的区域内, 则遮盖区域的宽度为窗口 C的宽度。 此外, 假设窗口 C的左下角点位于窗于 Β的 区域内, 则遮盖 ^域的高度为窗口 C的高度。  As shown in Fig. 4, for the window B, the window B is covered by the window C according to the width 140 and the height 100 of the window C, and the coordinates of the upper left corner of the window B and the width and height of the window B. Specifically, according to the coordinates of the upper left corner of the window B and the width and height of the window B, the coordinates (X, Y) of the upper right corner of the window B are (130, 80) and the coordinates of the lower left corner (70, 200), and Calculate the coordinates of the upper right corner of the window C (Χ, Υ) as (240, 100) and the coordinates of the lower left corner (100, 110) according to the coordinates of the upper left corner of the window C and the width and height of the window C, and determine the window C. The upper right corner point is outside the area of the window ,, and the lower left corner of the window C is outside the area of the window ,, then the width of the occlusion area is determined as the X-axis coordinate 130 of the upper right corner of the window 减 minus the upper left corner of the window C The X-axis coordinate 100 is 30, and the height of the cover area is the Υ axis coordinate 200 of the window Β lower left corner point minus the Υ axis coordinate 110 of the upper left corner of the window C is 90. Therefore, the (Χ, Υ) coordinates of the upper left corner of the window area are (100, 110), the cover area is 30 wide, and the height is 90. Further, assuming that the coordinates of the upper right corner of the window C are determined to be within the area of the window ,, the width of the occlusion area is the width of the window C. Further, assuming that the lower left corner of the window C is located in the area of the window, the height of the cover field is the height of the window C.
如图 5所示, 对于窗口 D, 根据 D的右上角点坐标 (X, Υ) 为 (210, 160 ), 窗口 D的左下角点 坐标(210 , 180), 窗 C的右上角点坐标(Χ, Υ)为(240, 100), 以及窗口 C的左下角点坐标( 100, 210), 确定窗口 D的遮盖区域左上角点的 (Χ, Υ)坐标为 (210, 160), 窗口 D的右上角点的坐标位于 窗口 C的区域内, 则遮盖区域的宽度为窗口 D的宽度 20, 窗口 C的左下角点位于窗于 C的区域内, 则遮盖区域的高度为窗口 D的高度 20。 As shown in Fig. 5, for window D, the coordinates (X, Υ) of the upper right corner of D are (210, 160), the coordinates of the lower left corner of window D (210, 180), and the coordinates of the upper right corner of window C ( Χ, Υ) is (240, 100), and the coordinates of the lower left corner of the window C (100, 210), determine the coordinates of the upper left corner of the window D (Χ, Υ) (210, 160), window D The coordinates of the upper right corner point are located in the area of the window C, and the width of the cover area is the width 20 of the window D, and the lower left corner of the window C is located in the area of the window C. The height of the covered area is the height 20 of the window D.
步骤 95、 终端确定该窗口的遮盖区域完全遮盖该窗口时, 确定窗口的窗口显示状态为全遮盖, 根据该窗口的遮盖区域没有完全遮盖该窗口时, 确定窗口的窗口显示状态为部分遮盖。  Step 95: When the terminal determines that the cover area of the window completely covers the window, determine that the window display state of the window is full cover. When the cover area of the window does not completely cover the window, the window display state of the window is partially covered.
根据第一遮盖区域和第二遮盖区域构成的联合遮盖区域的左上角点的坐标(70, 80)于窗口 A的 区域内, 则确定联合遮盖区域没有完全遮盖窗口 A, 即窗口 A的窗口显示状态为部分遮盖。 假设联 合遮盖区域的左上角点的 X轴坐标小于等于窗口 A左上角点的 X轴坐标, 联合遮盖区域的左上角点 的 Y轴坐标小于 于窗口 A左上角点的 Y轴坐标, 且联合遮盖区域的宽大于等于窗口 A的宽, 联合 遮盖区域的高大 Τ·等丁 -窗口 A的高, 则确定联合遮盖区域完全遮盖窗口 A, 即窗口 A的窗口显示状 态为全遮盖。  According to the coordinates (70, 80) of the upper left corner of the joint cover area formed by the first cover area and the second cover area in the area of the window A, it is determined that the joint cover area does not completely cover the window A, that is, the window display of the window A The status is partially covered. Assume that the X-axis coordinate of the upper left corner of the joint cover area is less than or equal to the X-axis coordinate of the upper left corner of the window A, and the Y-axis coordinate of the upper left corner of the joint cover area is smaller than the Y-axis coordinate of the upper left corner of the window A, and the joint cover The width of the area is greater than or equal to the width of the window A, and the height of the joint cover area is high, and the height of the window A is determined to completely cover the window A, that is, the window display state of the window A is fully covered.
根据遮盖区域的左上角点的坐标(100, 110)于窗口 B的区域内, 则确定遮盖区域没有完全遮盖 窗口 B, 即窗口 B的窗口显示状态为部分遮盖。假设遮盖区域的左上角点的 X轴坐标小于等于窗口 B 左上角点的 X轴坐标, 遮盖区域的左上角点的 Y轴坐标小于等于窗口 B左上角点的 Y轴坐标, 且遮 盖区域的宽大于 于窗口 B的宽, 遮盖区域的高大于等于窗口 B的高, 则确定遮盖区域完全遮盖窗 口 B, 即窗口 B的窗口显示状态为全遮盖。  According to the coordinates (100, 110) of the upper left corner of the cover area in the area of the window B, it is determined that the cover area does not completely cover the window B, that is, the window display state of the window B is partially covered. Assume that the X-axis coordinate of the upper left corner of the cover area is less than or equal to the X-axis coordinate of the upper left corner of the window B. The Y-axis coordinate of the upper left corner of the cover area is less than or equal to the Y-axis coordinate of the upper left corner of the window B, and the width of the cover area is large. For the width of the window B, the height of the cover area is greater than or equal to the height of the window B, it is determined that the cover area completely covers the window B, that is, the window display state of the window B is fully covered.
根据窗口 D的遮盖区域左上角点的(X, Y)坐标为 (210, 160), 遮盖区域的宽度度为窗口 D的宽 度 20,遮盖区域的高度为窗口 D的高度 20, 确定遮盖区域完全遮盖窗口 D, 即窗口 D的窗口显示状 态为全遮盖。  According to the (X, Y) coordinate of the upper left corner of the covering area of the window D is (210, 160), the width of the covering area is the width 20 of the window D, and the height of the covering area is the height 20 of the window D, and the covering area is completely determined. The window D is covered, that is, the window display state of the window D is fully covered.
可选的, 本发明实施例窗口的显示方法中, 窗口信息中包含终端的窗口大小和位置信息, 或者 终端发送窗口通知消息, 该窗口通知消息携带终端的窗口大小和位置信息, 以使服务器根据终端的 窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。  Optionally, in the display method of the window of the embodiment of the present invention, the window information includes a window size and location information of the terminal, or the terminal sends a window notification message, where the window notifies the message carrying the window size and location information of the terminal, so that the server The window size and location information of the terminal, the window size and location information of the virtual machine convert the coordinates of the terminal into the corresponding coordinates of the virtual machine.
或者, 可选的, 本发明实施例窗口的显示方法, 还可以包括:  Alternatively, the display method of the window of the embodiment of the present invention may further include:
发送窗口位置请求消息给服务器, 窗口位置请求消息用于请求获得虚拟机的窗口大小和位置信 息 ΐ  Sending a window location request message to the server, the window location request message is used to request the window size and location information of the virtual machine.
接收服务器发送的虚拟机的窗口大小和位置信息;  Receiving window size and location information of the virtual machine sent by the server;
根据终端的窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相 应坐标。  The coordinates of the terminal are converted into corresponding coordinates of the virtual machine according to the window size and position information of the terminal, the window size and position information of the virtual machine.
其中, 终端的窗口大小可以通过操作系统提供的 API获得。 坐标转换公式: 如虚拟机的窗口大 小为 X1*Y1, 终端窗口大小为 Χ2*Υ2, 如终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角 的坐标为 (x2, y2 ), 则对于在终端的一个坐标为 (al, bl ), 宽为 cl, 高为 dl 的窗口, 其在虚拟机 的坐标变为 a2= ( al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl ; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl o 可选的, 本发明实施例窗口的显示方法, 还可以包括:  The window size of the terminal can be obtained through an API provided by the operating system. Coordinate conversion formula: If the window size of the virtual machine is X1*Y1, the terminal window size is Χ2*Υ2, for example, the coordinates of the upper left corner of the terminal window are (xl, yl), and the coordinates of the upper left corner of the virtual machine window are (x2, y2). ), for a window with coordinates (al, bl), width cl, and height dl at the terminal, its coordinates in the virtual machine become a2=( al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl; width is c2=cl*X2/Xl; high is d2=dl*Y2/Yl o Optionally, the display method of the window of the embodiment of the present invention may further include:
根据窗口的 Z轴序小于终端其他窗口的 Z轴序, 确定显示图像传输策略为降质传输所述窗口的 图像或者不传输所述窗口的图像,或者根据所述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的图像;  Determining that the display image transmission strategy is to degrade the image of the window or not to transmit the image of the window according to the Z-axis order of the window, and according to the cover area and the display area of the window When the ratio is greater than a certain threshold, determining that the display image transmission policy is to degrade the image of the window or not to transmit the image of the window;
将确定显示图像传输策略发送给服务器。 其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则终端发送的窗口信息中的 窗口显示状态为窗口全遮盖。 如图 10所示, 对应于上述实施例窗口的显示方法, 本发明实施例提供一种终端, 包括: 发送单元 101, 用于虚拟机在运行应用的过程中, 发送该应用对应的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息。 The determined display image transmission policy is sent to the server. Wherein, the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load. Optionally, if the terminal determines that the image transmission policy is not to transmit the image of the window, the window display state in the window information sent by the terminal is completely covered by the window. As shown in FIG. 10, the embodiment of the present invention provides a terminal, including: a sending unit 101, configured to send a window of a window corresponding to the application in a process of running the application by the virtual machine. The information is sent to the server, so that the virtual machine on the server determines the display area information of the window according to the window information.
接收单元 102, 用于接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 本发明实施例的终端, 接收服务器发送的与窗口的显示区域信息对应的图像数据, 当窗口显示 区域小于整个窗口区域时, 不需要接收整个窗口区域对应的图像数据, 从而达到降低网络负载的效 果, 并提高终端运行效率。  The receiving unit 102 is configured to receive image data corresponding to the display area information of the window sent by the server and display the image data. The terminal of the embodiment of the present invention receives the image data corresponding to the display area information of the window sent by the server. When the window display area is smaller than the entire window area, the image data corresponding to the entire window area does not need to be received, thereby reducing the network load. And improve terminal operating efficiency.
本发明实施例终端向服务器发出携带应用标识的应用运行的请求, 服务器根据用应标识选择虚 拟机运行终端请求的应用, 并由虚拟机和终端建立传输应用运行数据和接收终端发送信息的连接。 因此, 终端通过该连接将该应用在终端显示窗口的窗口信息或用户针对应用的操作发送给运行该应 用的虚拟机。 窗口是虚拟机运行的应用在终端显示的窗口。  In the embodiment of the present invention, the terminal sends a request for running the application carrying the application identifier to the server, and the server selects the application requested by the virtual machine running terminal according to the identifier, and the virtual machine and the terminal establish a connection for transmitting the application running data and transmitting the information by the receiving terminal. Therefore, the terminal transmits the window information of the application in the terminal display window or the user's operation for the application to the virtual machine running the application through the connection. The window is the window displayed by the application running on the terminal.
如图 11所示, 本发明实施例终端, 还包括:  As shown in FIG. 11, the terminal of the embodiment of the present invention further includes:
确定单元 111, 用于当终端建立窗口, 或者窗口的 z轴序发生变化, 或者窗口的任一角点的坐 标发生变化, 或者窗口的宽度或者高度发生变化时, 确定该窗口的窗口信息。  The determining unit 111 is configured to determine the window information of the window when the terminal establishes a window, or the z-axis sequence of the window changes, or the coordinate of any corner of the window changes, or the width or height of the window changes.
确定单元 11〗 体包括:  The determination unit 11 body includes:
获取子单元 1111, 用于获取终端所有窗口的 Z轴序、 所有窗口的任一角点的 (Χ, Υ) 坐标以及 所有窗口的宽度和高度;  The obtaining subunit 1111 is configured to acquire the Z-axis sequence of all windows of the terminal, the (Χ, Υ) coordinates of any corner point of all the windows, and the width and height of all the windows;
第一确定子单元 1112, 用于确定该应用对应的窗口的 Ζ轴序是否为最大, 如果是则该应用对应 的窗口的窗口显示状态为全显示;  The first determining sub-unit 1112 is configured to determine whether the axis sequence of the window corresponding to the application is the maximum, and if yes, the window display state of the window corresponding to the application is a full display;
第二确定子单元 1113, 用于第一确定子单元 1112确定该应用对应的窗口的 Ζ轴序不为最大时, 根据 ζ轴序大于该应用对应的窗口的窗口任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确定该应 用对应的窗口是否被 ζ轴序大于该应用对应的窗口的窗口遮盖, 如果没有则该应用对应的窗口的窗 口显示状态为全显示,否则确定 ζ轴序大于该应用对应的窗口且遮盖该窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度;  a second determining sub-unit 1113, configured to determine, by the first determining sub-unit 1112, that the axis sequence of the window corresponding to the application is not the maximum, according to any one of the corners of the window corresponding to the window corresponding to the application (Χ, Υ The coordinates and the width and height of the window determine whether the window corresponding to the application is covered by the window whose axis sequence is larger than the window corresponding to the application. If not, the window display state of the corresponding window of the application is full display, otherwise the axis is determined. The (序,Υ) coordinates of the corners of the window corresponding to the window of the application and the width and height of the window;
第三确定子单元 1114, 用于根据 ζ轴序大于该应用对应的窗口且遮盖该应用对应的窗口的窗口 的任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度, 以及该应用对应的窗口的任一角点的 (Χ, Υ) 坐 标以及窗口的宽度和高度, 确定该应用对应的窗口的遮盖区域的任一角点的(Χ,Υ)坐标以及遮盖区 域的宽度和高度;  a third determining subunit 1114, configured to: (Χ, Υ) coordinates of any corner of the window corresponding to the window corresponding to the application and cover the window corresponding to the application, and the width and height of the window, and the application corresponding to the application The (Χ, Υ) coordinates of any corner of the window and the width and height of the window, determine the (Χ, Υ) coordinates of any corner of the covered area of the window corresponding to the application, and the width and height of the occluded area;
第四确定子单元 1115, 用于确定该应用对应的窗口的遮盖区域完全遮盖该应用对应的窗口时, 确定该应用对应的窗口的窗口显示状态为全遮盖, 该应用对应的窗口的遮盖区域没有完全遮盖该应 用对应的窗口时, 确定该应用对应的窗口的窗口显示状态为部分遮盖。 可选的, 发送单元 101发送的窗口信息中可以包含终端的窗口大小和位置信息, 或者发送单元 101 发送窗口通知消息, 该窗口通知消息携带终端的窗口大小和位置信息, 以使服务器根据终端的 窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。 The fourth determining sub-unit 1115 is configured to determine that the cover area of the window corresponding to the application completely covers the window corresponding to the application, and determine that the window display state of the window corresponding to the application is full coverage, and the cover area of the corresponding window of the application is not When the window corresponding to the application is completely covered, it is determined that the window display state of the window corresponding to the application is partially covered. Optionally, the window information sent by the sending unit 101 may include the window size and location information of the terminal, or the sending unit 101 sends a window notification message, where the window notifies the message carrying the window size and location information of the terminal, so that the server is configured according to the terminal. The window size and location information, the window size and location information of the virtual machine convert the coordinates of the terminal to the corresponding coordinates of the virtual machine.
或者, 可选的, 发送单元 101, 还可以用于发送窗口位置请求消息给服务器, 窗口位置请求消 息用于请求获得虚拟机的窗口大小和位置信息; 此时, 接收单元 102还可以用于接收服务器发送的 虚拟机的窗口大小和位置信息; 此时, 本发明实施例终端, 还包括坐标转换 112, 用于根据终端的 窗口大小和位置信息、 虚拟机的窗口大小和位置信息将终端的坐标转换为虚拟机相应坐标。  Alternatively, the sending unit 101 may be further configured to send a window location request message to the server, where the window location request message is used to request to obtain the window size and location information of the virtual machine; at this time, the receiving unit 102 may further be configured to receive The window size and location information of the virtual machine sent by the server; at this time, the terminal of the embodiment of the present invention further includes a coordinate conversion 112, which is used to set the coordinates of the terminal according to the window size and location information of the terminal, the window size and the location information of the virtual machine. Convert to the corresponding coordinates of the virtual machine.
其中, 终端的窗口大小可以通过操作系统提供的 API获得。 坐标转换公式: 如虚拟机的窗口大 小为 X1*Y1, 终端窗口大小为 Χ2*Υ2, 如终端窗口的左上角的坐标为 (xl, yl ), 虚拟机窗口左上角 的坐标为 (x2,y2 ), 则对于在终端的一个坐标为 (al, bl ), 宽为 cl , 高为 dl 的窗口, 其在虚拟机 的坐标变为 a2= ( al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl; 宽为 c2=cl*X2/Xl; 高为 d2=dl*Y2/Yl。 The window size of the terminal can be obtained through an API provided by the operating system. Coordinate conversion formula: If the window size of the virtual machine is X1*Y1, the terminal window size is Χ2*Υ2, for example, the coordinates of the upper left corner of the terminal window are (xl, yl), and the coordinates of the upper left corner of the virtual machine window are (x2, y2). ), for a window with coordinates (al, bl), width cl, and height dl at the terminal, its coordinates in the virtual machine become a2=( al- xl+x2) *X2/X1; b2= (bl-yl+y2) *Y2/Yl ; width is c2=cl*X2/Xl; height is d2=dl*Y2/Yl.
可选的, 确定单元 111, 还可以用于根据窗口的 Z轴序小于终端其他窗口的 Z轴序, 确定显示 图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所述窗口的遮盖区 域与显示区域的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像或者不传 输所述窗口的图像;  Optionally, the determining unit 111 is further configured to determine, according to the Z-axis sequence of the window that is smaller than the Z-axis sequence of the other windows of the terminal, that the display image transmission policy is to degrade the image of the window or not to transmit the image of the window. Or determining, according to the ratio of the cover area of the window to the display area, that the display image transmission policy is to degrade the image of the window or not to transmit the image of the window;
发送单元 101 , 还可以用于将确定显示图像传输策略发送给服务器。  The sending unit 101 is further configured to send the determined display image transmission policy to the server.
具体的, 可以由第一确定子单元 1112, 确定窗口的 Z轴序是否小于终端其他窗口的 Z轴序。 可 以由第四确定子单元 1115确定窗口的遮盖区域与显示区域的比例大于一定阈值。  Specifically, it may be determined by the first determining subunit 1112 whether the Z-axis order of the window is smaller than the Z-axis order of other windows of the terminal. The fourth determining sub-unit 1115 may determine that the ratio of the covered area of the window to the display area is greater than a certain threshold.
其中, 降质传输所述窗口的图像, 例如, 将高清图像降质为标清图像, 等等, 以降低网络负载。 可选, 如果终端确定显示图像传输策略为不传输所述窗口的图像, 则发送单元 101发送的窗口 信息中的窗口显示状态为窗口全遮盖。  Wherein, the image of the window is degraded, for example, the HD image is degraded to a standard definition image, etc., to reduce the network load. Optionally, if the terminal determines that the image transmission policy is displayed as not transmitting the image of the window, the window display state in the window information sent by the sending unit 101 is full coverage of the window.
本发明实施例终端可以对应参考上述实施例的窗口的显示方法得以具体理解, 在此不作赘述。 如图 12所示, 本发明实施例窗口的显示系统的应用示意图, 窗口的显示系统包括终端 121以及 服务器 122。  The terminal of the embodiment of the present invention can be specifically understood by referring to the display method of the window in the foregoing embodiment, and details are not described herein. As shown in FIG. 12, an application schematic diagram of a display system of a window according to an embodiment of the present invention includes a terminal 121 and a server 122.
具体而言, 终端 121包括确定单元 1211、 坐标转换单元 1212、 输入设备单元 1213、 发送单元 1214、 接收单元 1215和显示单元 1216。 服务器 122包括接收单元 1221、 应用运行单元 1222、 图像 截取单元 1223、 图像填充单元 1224、 图像位置处理单元 1225、 编码单元 1226和发送单元 1226。  Specifically, the terminal 121 includes a determining unit 1211, a coordinate converting unit 1212, an input device unit 1213, a transmitting unit 1214, a receiving unit 1215, and a display unit 1216. The server 122 includes a receiving unit 1221, an application running unit 1222, an image capturing unit 1223, an image filling unit 1224, an image position processing unit 1225, an encoding unit 1226, and a transmitting unit 1226.
确定单元 1211, 用于确定窗口的窗口信息。  The determining unit 1211 is configured to determine window information of the window.
坐标转换单元 1212, 用于将终端的窗口坐标转换为服务器端虚拟机上窗口的相应坐标。  The coordinate conversion unit 1212 is configured to convert the window coordinates of the terminal into corresponding coordinates of the window on the server-side virtual machine.
输入设备单元 1213, 用于产生输入事件。 用户操作的输入事件具体可以指键盘和鼠标事件 (PC 机型的终端)、 按键或触摸屏事件 (手机或 PDA型的终端)、 遥控器或者游戏手柄的操作事件 (电视 型的终端) 等。  The input device unit 1213 is configured to generate an input event. The input events operated by the user may specifically refer to keyboard and mouse events (terminals of the PC model), button or touch screen events (mobile phone or PDA type terminals), remote control or gamepad operation events (television type terminals), and the like.
发送单元 1214, 用于发送窗口信息给接收单元 1221。  The sending unit 1214 is configured to send window information to the receiving unit 1221.
接收单元 1221, 用于接收发送单元 1214发送的窗口信息, 并发送给应用运行单元 1222和图像 位置处理单元 1225。 The receiving unit 1221 is configured to receive the window information sent by the sending unit 1214, and send the information to the application running unit 1222 and the image. Location processing unit 1225.
应用运行单元 1222, 为虚拟机上控制应用的运行, 包括应用的启动, 暂停, 中止等。  The application running unit 1222 controls the running of the application on the virtual machine, including starting, suspending, and aborting the application.
处理单元 1225, 用于当窗口部分遮盖时, 确定窗口遮盖区域信息, 或者根据窗口遮盖位置信息 计算得到窗口遮盖区域信息。  The processing unit 1225 is configured to determine the window covering area information when the window portion is covered, or calculate the window covering area information according to the window covering position information.
图像截取单元 1223, 用于根据应用运行单元 1222应用的运行, 截取窗口的图像, 当窗口全显 示时, 将截取图像发送给编码单元 1226。  The image intercepting unit 1223 is configured to intercept an image of the window according to the running of the application running unit 1222, and send the captured image to the encoding unit 1226 when the window is fully displayed.
图像填充单元 1224, 用于当窗口部分遮盖时, 对截取窗口的图像中的遮盖区域填充纯色, 将具 有填充的截取图像发送给编码单元 726。  The image filling unit 1224 is configured to fill a masked area in the image of the cut window with a solid color when the window portion is covered, and send the clipped image with the fill to the encoding unit 726.
编码单元 1226, 用于对接收到的图像进行编码, 并发送给发送单元 1226。  The encoding unit 1226 is configured to encode the received image and send it to the sending unit 1226.
发送单元 226, 用于将编码后的图像发送给接收单元 1215。  The sending unit 226 is configured to send the encoded image to the receiving unit 1215.
接收单元 1215, 用于从发送单元 1226接收编码后的图像。  The receiving unit 1215 is configured to receive the encoded image from the sending unit 1226.
显示单元 1216, 用于对接收单元 1215接收到的编码后的图像进行解码显示。  The display unit 1216 is configured to perform decoding display on the encoded image received by the receiving unit 1215.
本发明实施例窗口的显示系统中终端 121以及服务器 122可以对应参考上述实施例的终端以及 服务器得以具体理解, 在此不作赘述。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程 序来指令相关的硬件来完成, 所述的程序可存储于一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 ( Read-Only Memory, ROM) 或随机存储记忆体 (Random Access Memory, RAM) 等。  The terminal 121 and the server 122 in the display system of the embodiment of the present invention can be specifically understood by referring to the terminal and the server in the above embodiments, and details are not described herein. A person skilled in the art can understand that all or part of the process of implementing the above embodiment method can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. In execution, the flow of an embodiment of the methods as described above may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Claims

权利要求 Rights request
1、 一种窗口图像的传输方法, 其特征在于, 包括: 1. A window image transmission method, characterized by: including:
虚拟机在运行应川的过程中, 接收终端发送该应用对应的窗口的窗口信息, When the virtual machine is running Yingchuan, the receiving terminal sends the window information of the window corresponding to the application.
根据所述窗口信息确定所述窗口的显示区域; Determine the display area of the window according to the window information;
根据所述窗口的显示区域, 将与窗口的显示区域信息对应的图像数据发送给所述终端, 以使所 述终端进行显示。 According to the display area of the window, image data corresponding to the display area information of the window is sent to the terminal, so that the terminal performs display.
2、根据权利要求 1所述的窗口图像的传输方法, 其特征在于, 所述窗口信息包括窗口任一角点 的坐标, 窗口的宽度和高度, 以及 Z轴序大于该窗口的窗口的任一角点的坐标和 Z轴序大于该窗口 的窗口宽度和高度, 所述确定所述窗口的显示区域具体为: 2. The window image transmission method according to claim 1, characterized in that the window information includes the coordinates of any corner point of the window, the width and height of the window, and any corner point of the window whose Z-axis sequence is greater than the window. The coordinates and Z-axis sequence of are greater than the window width and height of the window, and the specific determination of the display area of the window is:
根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口; According to the X coordinate, Y coordinate, width and height of any corner point of the window in the window information, and the X coordinate, Y coordinate, width and height of any corner point of the window whose z-axis order is greater than the window, determine the z-axis order is greater than the Whether the window of the window covers the window. If the window with a z-axis sequence greater than the window does not cover the window, the window display status of the window is full display, and the display area of the window is determined to be the entire window;
如果 z轴序火亍该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; If the window whose z-axis sequence is equal to the window covers the window, then the X coordinate, Y coordinate, width and height of any corner point of the window in the window information, and any window whose z-axis sequence is greater than the window and covers the window. The X coordinate, Y coordinate, width and height of a corner point, determine the X coordinate, Y coordinate, width and height of any corner point of the covered area, and the width and height of the covered area;
根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖 域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。 Based on the X coordinate, Y coordinate of any corner point of the covered area, and the width and height of the covered area, determine whether the covered area completely covers the window. When there are multiple covered areas, determine whether the joint covered area composed of multiple covered areas is completely covered. This window; if the covering area or the combined covering area completely covers the window, then the window display status of the window is fully covered, thereby determining that the display field of the window is 0, if the covering area or the combined covering area does not completely cover the window, then The window display status of the window is partially covered, and the display area of the window is determined to be the entire area of the window except the covering area, or the display area of the window is determined to be the entire area of the window except the joint covering area.
3、 根据权利要求 1所述的窗口图像的传输方法,其特征在于,所述窗口信息包括窗口显示状态, 窗口的遮盖区域的任一角点坐标, 以及遮盖区域的宽度和高度, 所述确定所述窗口的显示区域具体 为: 3. The window image transmission method according to claim 1, wherein the window information includes the window display status, coordinates of any corner point of the covered area of the window, and the width and height of the covered area, and the determined The display area of the above window is specifically:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口: According to the window display status in the window information, when the window display status is full display, determine that the display area of the window is the entire window:
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0; Or, when the window display status in the window information is fully covered, determine the display area of the window to be 0;
或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y 坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的区域。 Or, when the window display status in the window information is partially covered, determine the display area of the window to be the entire window except the covered area based on the X coordinate, Y coordinate of any corner point of the covered area in the window information, and the width and height of the covered area. area, when there are multiple covering areas, determine the joint covering area composed of multiple covering areas, thereby determining the display area of the window to be the area of the entire window except the joint covering area.
4、 根据权利要求 1所述的窗口图像的传输方法, 其特征在于, 所述窗口信息包括: 窗口信息包 括: 窗口显示状态, 窗口任一角点的坐标, 窗口的宽度和高度, Z轴序大于该窗口且遮盖该窗口的 窗口的任一角点的坐标, 以及 Z轴序大于该窗口且遮盖该窗口的窗口宽度和高度, 所述确定所述窗 口的显示区域具体为: 根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口; 根据窗口信息中 窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口; 4. The window image transmission method according to claim 1, characterized in that, the window information includes: The window information includes: window display status, coordinates of any corner point of the window, width and height of the window, Z-axis sequence greater than The coordinates of any corner point of the window and covering the window, and the width and height of the window whose Z-axis sequence is greater than the window and covering the window, the determination of the display area of the window is specifically: When the window display status in the window information is full display, the display area of the window is determined to be the entire window; When the window display status in the window information is full display, the display area of the window is determined to be the entire window;
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0; Or, when the window display status in the window information is fully covered, determine the display area of the window to be 0;
或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽 度及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; Or, when the window display status is partially covered according to the window information, according to the X coordinate, Y coordinate, width and height of any corner point of the window in the window information, and any corner of the window whose z-axis order is greater than the window and covers the window. The X coordinate, Y coordinate, width and height of the point determine the X coordinate, Y coordinate, width and height of any corner point of the covered area, and the width and height of the covered area;
以及根据遮盖 域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域 为整个窗口除遮盖区域外的区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示 域为整个窗口除联合遮盖区域外的区域。 And based on the X coordinate, Y coordinate of any corner point of the covering area, and the width and height of the covering area, determine the display area of the window to be the area of the entire window except the covering area. When there are multiple covering areas, determine the composition of multiple covering areas. joint covering area, thereby determining the display area of the window to be the area of the entire window except the joint covering area.
5. 根据权利要求 1-4任一所述的窗口图像的传输方法, 其特征在于, 该方法进一步包括: 根据 所述显示区域, 确定 显示区域对应的图像数据。 5. The window image transmission method according to any one of claims 1 to 4, characterized in that the method further includes: determining the image data corresponding to the display area according to the display area.
6. 根据权利要求 5所述的窗口图像的传输方法, 其特征在于, 所述根据所述窗口的显示区域, 将与窗口的显示区域信息对应的图像数据发送给所述终端, 以使所述终端进行显示, 包括: 6. The window image transmission method according to claim 5, characterized in that, according to the display area of the window, image data corresponding to the display area information of the window is sent to the terminal, so that the The terminal displays, including:
窗口的显示区域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示; 或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获取整个窗口的图像数据, 向遮盖 区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述终端进行显示。 When the display area of the window is the entire window, obtain the image data of the entire window, send it to the terminal, and display it by the terminal; or, when the display area of the window is the area of the entire window except the covered area, obtain the image data of the entire window , fill the covered area with a solid color or no color, send the filled image data to the terminal, and display it on the terminal.
7. 根据权利要求 1-6中任一所述的窗口图像的传输方法, 其特征在于, 该方法进一步包括, 接收所述终端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小 丁-所述终端其他窗口的 Z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所 述窗口的遮盖区域与显示区域的比例大于一定阈值时, 确定降质传输所述窗口的图像或者不传输所 述窗口的图像; 7. The window image transmission method according to any one of claims 1 to 6, characterized in that the method further includes: receiving a display image transmission strategy sent by the terminal, and the display image transmission strategy includes the display image transmission strategy according to the The Z-axis sequence of the window is the Z-axis sequence of other windows of the terminal. The image of the window is transmitted with reduced quality or the image of the window is not transmitted, or the ratio of the covered area to the display area of the window is greater than a certain When the threshold is reached, determine whether to transmit the image of the window at a reduced quality or not to transmit the image of the window;
根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗口的图像。 According to the display image transmission strategy, the image of the window is transmitted or not transmitted corresponding to reduced image quality.
8. 一种服务器, 其特征在于, 包括: 8. A server, characterized in that it includes:
接收单元, W于虚拟机在运行应用的过程中, 接收终端发送该应用对应的窗口的窗口信息; 确定单元, 川于根据所述窗口信息, 确定所述窗口的显示区域信息; The receiving unit is configured to receive the terminal to send window information of the window corresponding to the application while the virtual machine is running the application; the determining unit is configured to determine the display area information of the window based on the window information;
传输单元, W于根据所述窗口的显示区域信息, 将与窗口的显示区域信息对应的图像数据发送 给所述终端, 以使所述终端进行显示。 The transmission unit is configured to send image data corresponding to the display area information of the window to the terminal according to the display area information of the window, so that the terminal performs display.
9. 根据权利要求 8所述的服务器, 其特征在于, 所述接收单元接收到的所述窗口信息包括窗口 任一角点的坐标, 窗口的宽度和高度, 以及 Z轴序大于该窗口的窗口的任一角点的坐标和 Z轴序大 于该窗口的窗口宽度和高度, 所述确定单元具体用于: 9. The server according to claim 8, wherein the window information received by the receiving unit includes the coordinates of any corner point of the window, the width and height of the window, and the Z-axis sequence of the window greater than the window. The coordinates and Z-axis sequence of any corner point are greater than the window width and height of the window, and the determination unit is specifically used to:
根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口的窗 口的任一角点的 X坐标、 Y坐标、 宽度及高度, 确定 z轴序大于该窗口的窗口是否遮盖该窗口, 如 果 z轴序大于该窗口的窗口没有遮盖该窗口, 则该窗口的窗口显示状态为全显示, 确定该窗口的显 示区域为整个窗口; According to the X coordinate, Y coordinate, width and height of any corner point of the window in the window information, and the X coordinate, Y coordinate, width and height of any corner point of the window whose z-axis order is greater than the window, determine the z-axis order is greater than the Whether the window of the window covers the window. If the window with a z-axis sequence greater than the window does not cover the window, the window display status of the window is full display, and the display area of the window is determined to be the entire window;
如果 z轴序火于该窗口的窗口遮盖该窗口, 则根据窗口信息中窗口的任一角点的 X坐标、 Y坐 标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽度 及高度, 确定遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; If the z-axis sequence is higher than the window covering the window, then the X coordinate and Y coordinate of any corner point of the window in the window information are The mark, width and height, as well as the X coordinate, Y coordinate, width and height of any corner point of the window whose z-axis sequence is greater than the window and covers the window, determine the X coordinate, Y coordinate of any corner point of the covered area, and the width and height;
根据遮盖区域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定遮盖区域是否完全遮 盖该窗口, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域是否完全遮盖该窗口; 如果遮盖区域或者联合遮盖区域完全遮盖该窗口, 则该窗口的窗口显示状态为全遮盖, 从而确 定该窗口的显示 域为 0, 如果遮盖区域或者联合遮盖区域没有完全遮盖该窗口, 则该窗口的窗口 显示状态为部分遮盖, 确定该窗口的显示区域为整个该窗口除遮盖区域外的区域, 或者确定该窗口 的显示区域为整个该窗口除联合遮盖区域外的区域。 Based on the X coordinate, Y coordinate of any corner point of the covered area, and the width and height of the covered area, determine whether the covered area completely covers the window. When there are multiple covered areas, determine whether the joint covered area composed of multiple covered areas is completely covered. This window; if the covering area or the combined covering area completely covers the window, then the window display status of the window is fully covered, thus determining the display field of the window to be 0, if the covering area or the combined covering area does not completely cover the window, then The window display status of the window is partially covered, and the display area of the window is determined to be the entire area of the window except the covering area, or the display area of the window is determined to be the entire area of the window except the joint covering area.
10、 根据权利要求 8所述的服务器, 其特征在于, 所述接收单元接收到的所述窗口信息包括窗 口显示状态, 窗口的遮盖区域的任一角点坐标, 以及遮盖区域的宽度和高度, 所述确定单元具体用 于: 10. The server according to claim 8, wherein the window information received by the receiving unit includes window display status, coordinates of any corner point of the covered area of the window, and the width and height of the covered area, so The above determination unit is specifically used for:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口: According to the window display status in the window information, when the window display status is full display, determine that the display area of the window is the entire window:
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0; Or, when the window display status in the window information is fully covered, determine the display area of the window to be 0;
或者, 根据窗口信息中窗口显示状态为部分遮盖时, 根据窗口信息中遮盖区域任一角点的 X坐 标、 Y 坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的区域, 当遮 盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为整个窗口除 联合遮盖区域外的区域。 Or, when the window display status in the window information is partially covered, determine the display area of the window to be the entire window except the covered area based on the X coordinate, Y coordinate of any corner point of the covered area in the window information, and the width and height of the covered area. area, when there are multiple covering areas, determine the joint covering area composed of multiple covering areas, thereby determining the display area of the window to be the area of the entire window except the joint covering area.
11、 根据权利耍求 8所述的服务器, 其特征在于, 所述接收单元接收到的所述窗口信息包括: 窗口信息包括: 窗口显示状态, 窗口任一角点的坐标, 窗口的宽度和高度, Z轴序大于该窗口且遮 盖该窗口的窗口的任一角点的坐标, 以及 Z轴序大于该窗口且遮盖该窗口的窗口宽度和高度, 所述 确定单元具体用丁: 11. The server according to claim 8, characterized in that, the window information received by the receiving unit includes: window information includes: window display status, coordinates of any corner point of the window, width and height of the window, The Z-axis sequence is greater than the coordinates of any corner point of the window and covers the window, and the Z-axis sequence is greater than the window and covers the width and height of the window. The determination unit is specifically used:
根据窗口信息中窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口; 根据窗口信息中 窗口显示状态为全显示时, 确定窗口的显示区域为整个窗口; According to the window information, when the window display status is full display, the display area of the window is determined to be the entire window; according to the window information, when the window display status is full display, the window display area is determined to be the entire window;
或者, 根据窗口信息中窗口显示状态为全遮盖时, 确定窗口的显示区域为 0; Or, when the window display status in the window information is fully covered, determine the display area of the window to be 0;
或者,根据窗口信息中窗口显示状态为部分遮盖时,根据窗口信息中窗口的任一角点的 X坐标、 Y坐标、 宽度及高度, 以及 z轴序大于该窗口且遮盖该窗口的窗口的任一角点的 X坐标、 Y坐标、 宽 度及高度, 确定遮盖 域任一角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度; 根据遮盖区域任一 角点的 X坐标、 Y坐标、 遮盖区域的宽度和高度, 确定窗口的显示区域为整个窗口除遮盖区域外的 区域, 当遮盖区域为多个时, 确定多个遮盖区域构成的联合遮盖区域, 从而确定窗口的显示区域为 整个窗口除联合遮盖 域外的区域。 Or, when the window display status is partially covered according to the window information, according to the X coordinate, Y coordinate, width and height of any corner point of the window in the window information, and any corner of the window whose z-axis order is greater than the window and covers the window. The X coordinate, Y coordinate, width and height of the point determine the X coordinate, Y coordinate of any corner point of the covered area, the width and height of the covered area; According to the X coordinate, Y coordinate of any corner point of the covered area, the width and height of the covered area height, the display area of the window is determined to be the area of the entire window except the covering area. When there are multiple covering areas, the joint covering area composed of multiple covering areas is determined, so that the display area of the window is determined to be the area of the entire window except the joint covering area. area.
12、 根据权利要求 8-11中任一所述的服务器, 其特征在于, 所述传输单元, 具体用于窗口的显 示区域为整个窗口时, 获取整个窗口的图像数据, 发送给终端, 由所述终端进行显示; 12. The server according to any one of claims 8-11, characterized in that, the transmission unit is specifically used when the display area of the window is the entire window, obtains the image data of the entire window, and sends it to the terminal. display on the above terminal;
或者, 窗口的显示区域为整个窗口除遮盖区域外的区域时, 获取整个窗口的图像数据, 向遮盖 区域填充纯色或无色, 将填充后的图像数据发送给终端, 由所述终端进行显示。 Or, when the display area of the window is the area of the entire window except the covered area, the image data of the entire window is obtained, the covered area is filled with solid color or colorless, and the filled image data is sent to the terminal, and the terminal displays it.
13、 根据权利要求 8-11中任一所述的服务器, 其特征在于, 所述接收单元, 还用于接收所述终 端发送的显示图像传输策略, 所述显示图像传输策略包括根据所述窗口的 Z轴序小于所述终端其他 窗口的 z轴序, 降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据所述窗口的遮盖区 域与显示区域的比例人于一定阈值时, 确定降质传输所述窗口的图像或者不传输所述窗口的图像; 所述传输单元, 还用于根据所述显示图像传输策略, 对应降低图像质量传输或不传输所述窗口 的图像。 13. The server according to any one of claims 8-11, characterized in that the receiving unit is also used to receive the terminal The display image transmission strategy sent by the terminal, the display image transmission strategy includes transmitting the image of the window at a reduced quality or not transmitting the image of the window according to the z-axis order of the window is smaller than the z-axis order of other windows of the terminal. , or determine whether to transmit the image of the window in a degraded manner or not to transmit the image of the window according to the ratio of the covering area to the display area of the window when it reaches a certain threshold; the transmission unit is also used to transmit the image of the window according to the display The image transmission strategy corresponds to reducing the image quality and transmitting or not transmitting the image of the window.
14、 一种窗口的显示方法, 其特征在于, 包括: 14. A window display method, which is characterized by including:
虚拟机在运行应 W的过程中, 发送该应用对应的窗口的窗口信息给服务器, 以使所述服务器上 的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息; During the process of running the application, the virtual machine sends the window information of the window corresponding to the application to the server, so that the virtual machine on the server determines the display area information of the window based on the window information;
接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 Receive image data corresponding to the display area information of the window sent by the server and display it.
15、根据权利要求 14所述的窗口的显示方法, 其特征在于, 所述方法还包括确定要发送的窗口 的窗口信息, 具体包括: 15. The window display method according to claim 14, characterized in that the method further includes determining the window information of the window to be sent, specifically including:
获取终端所有窗口的 Z轴序、 所有窗口的任一角点的 (Χ, Υ) 坐标以及所有窗口的宽度和高度; 确定该应用对应的窗口的 Ζ轴序是否为最大, 如果是则该应用对应的窗口的窗口显示状态为全 显示,否则根据 ζ轴序大于该应用对应的窗口的窗口任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确定该应用对应的窗口是否被 ζ轴序大于该应用对应的窗口的窗口遮盖; Obtain the Z-axis sequence of all windows of the terminal, the (Χ, Y) coordinates of any corner point of all windows, and the width and height of all windows; determine whether the Z-axis sequence of the window corresponding to the application is the largest, and if so, the application corresponds to The window display status of the window is full display, otherwise according to the (Χ, Υ) coordinates of any corner point of the window whose ζ-axis order is greater than the window corresponding to the application and the width and height of the window, determine whether the window corresponding to the application is ζ-axis The window cover is larger than the window corresponding to the application;
如果 Ζ轴序大于该应用对应的窗口的窗口没有遮盖该应用对应的窗口, 则该应用对应的窗口的 窗口显示状态为全显示, 如果 ζ轴序大于该应用对应的窗口的窗口遮盖该应用对应的窗口, 确定 Ζ 轴序大于该应用对应的窗口且遮盖该窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度; 根据 ζ轴序人于该应用对应的窗口且遮盖该应用对应的窗口的窗口的任一角点的(Χ, Υ)坐标以 及窗口的宽度和高度, 以及该应用对应的窗口的任一角点的(Χ, Υ)坐标以及窗口的宽度和高度, 确 定该应用对应的窗口的遮盖区域的任一角点的 (Χ, Υ) 坐标以及遮盖区域的宽度和高度; If the window whose Z- axis order is greater than the window corresponding to the application does not cover the window corresponding to the application, the window display state of the window corresponding to the application is full display. If the window whose Z-axis order is greater than the window corresponding to the application covers the window corresponding to the application of the window, determine the ( X , Y) coordinates of any corner point of the window that is greater than the window corresponding to the application and cover the window, and the width and height of the window; determine the window corresponding to the application according to the ζ-axis order and cover the window The (X, Y) coordinates of any corner point of the window corresponding to the application and the width and height of the window, and the (X, Y) coordinates of any corner point of the window corresponding to the application and the width and height of the window, determine the Apply the (Χ, Y) coordinates of any corner point of the covered area of the corresponding window and the width and height of the covered area;
确定该应用对应的窗口的遮盖区域完全遮盖该应用对应的窗口时, 确定该应用对应的窗口的窗 口显示状态为全遮盖, 该应用对应的窗口的遮盖区域没有完全遮盖该应用对应的窗口时, 确定该应 用对应的窗口的窗口显示状态为部分遮盖。 When it is determined that the covering area of the window corresponding to the application completely covers the window corresponding to the application, it is determined that the window display status of the window corresponding to the application is fully covered. When the covering area of the window corresponding to the application does not completely cover the window corresponding to the application, Make sure that the window display status of the window corresponding to the application is partially covered.
16、 根据权利要求 14或 15所述的窗口的显示方法, 其特征在于, 所述方法, 还包括: 根据该应用对应的窗口的 Ζ轴序小于终端其他窗口的 Ζ轴序, 确定显示图像传输策略为降质传 输所述窗口的图像或者不传输所述窗口的图像, 或者根据该应用对应的窗口的遮盖区域与显示区域 的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的 图像; 16. The window display method according to claim 14 or 15, characterized in that the method further includes: determining the display image transmission according to the Z-axis order of the window corresponding to the application being smaller than the Z-axis order of other windows of the terminal. The strategy is to transmit the image of the window in degraded quality or not to transmit the image of the window, or when the ratio of the covered area to the display area of the window corresponding to the application is greater than a certain threshold, it is determined that the display image transmission strategy is to transmit the image in degraded quality. an image of a window or not transmitting an image of said window;
将确定显示图像传输策略发送给服务器。 Send the determination display image transfer policy to the server.
17、 一种终端, 其特征在于, 包括: 17. A terminal, characterized in that it includes:
发送单元, 于虚拟机在运行应用的过程中, 发送该应用对应的的窗口的窗口信息给服务器, 以使所述服务器上的虚拟机根据所述窗口信息, 确定所述窗口的显示区域信息; The sending unit, while the virtual machine is running the application, sends the window information of the window corresponding to the application to the server, so that the virtual machine on the server determines the display area information of the window based on the window information;
接收单元, W于接收所述服务器发送的与窗口的显示区域信息对应的图像数据并进行显示。 The receiving unit is configured to receive image data corresponding to the display area information of the window sent by the server and display the image data.
18、 根据权利要求 17所述的终端, 其特征在于, 所述终端还包括确定单元, 所述确定单元具体 包括: 18. The terminal according to claim 17, characterized in that, the terminal further includes a determining unit, and the determining unit specifically include:
获取子单元, 用于获取终端所有窗口的 Z轴序、 所有窗口的任一角点的(Χ, Υ)坐标以及所有窗 口的宽度和高度; Obtain sub-units, used to obtain the Z-axis sequence of all windows of the terminal, the (X, Y) coordinates of any corner point of all windows, and the width and height of all windows;
第一确定子单元, 用于确定该应用对应的窗口的 ζ轴序是否为最大, 如果是则该应用对应的窗 口的窗口显示状态为全显示; The first determination subunit is used to determine whether the ζ-axis sequence of the window corresponding to the application is the largest, and if so, the window display status of the window corresponding to the application is full display;
第二确定子单元, 用于所述第一确定子单元确定该应用对应的窗口的 ζ轴序不为最大时, 根据 ζ轴序大于该应川对应的窗口的窗口任一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度, 确定该应用对 应的窗口是否被 ζ轴序大于该应用对应的窗口的窗口遮盖, 如果没有则该应用对应的窗口的窗口显 示状态为全显示, 否则确定 ζ轴序大于该应用对应的窗口且遮盖该窗口的窗口任一角点的(Χ, Υ)坐 标以及窗口的宽度和高度; The second determination sub-unit is used when the first determination sub-unit determines that the ζ-axis order of the window corresponding to the application is not the maximum, based on the ζ-axis order greater than (Χ, any corner point of the window corresponding to the application), Υ) coordinates and the width and height of the window, determine whether the window corresponding to the application is covered by a window whose ζ-axis sequence is greater than the window corresponding to the application. If not, the window display status of the window corresponding to the application is full display, otherwise determine ζ The axis sequence is greater than the window corresponding to the application and covers the (X, Y) coordinates of any corner point of the window as well as the width and height of the window;
第三确定子单元, 用于根据 Ζ轴序大于该应用对应的窗口且遮盖该应用对应的窗口的窗口的任 一角点的 (Χ,Υ) 坐标以及窗口的宽度和高度, 以及该应用对应的窗口的任一角点的 (Χ,Υ) 坐标以 及窗口的宽度和高度, 确定该应用对应的窗口的遮盖区域的任一角点的(Χ, Υ)坐标以及遮盖区域的 宽度和高度; The third determination subunit is used to determine the (X, Y) coordinates of any corner point of the window that is larger than the window corresponding to the application in Z- axis order and covers the window corresponding to the application, as well as the width and height of the window, and the window corresponding to the application. The (X, Y) coordinates of any corner point of the window and the width and height of the window, determine the (X, Y) coordinates of any corner point of the covered area of the window corresponding to the application and the width and height of the covered area;
第四确定子单元, 用于确定该应用对应的窗口的遮盖区域完全遮盖该应用对应的窗口时, 确定 该应用对应的窗口的窗口显示状态为全遮盖, 该应用对应的窗口的遮盖区域没有完全遮盖该应用对 应的窗口时, 确定该应用对应的窗口的窗口显示状态为部分遮盖。 The fourth determination subunit is used to determine that when the covered area of the window corresponding to the application completely covers the window corresponding to the application, it is determined that the window display status of the window corresponding to the application is fully covered, and the covered area of the window corresponding to the application is not completely covered. When covering the window corresponding to the application, it is determined that the window display status of the window corresponding to the application is partially covered.
19、 根据权利要求 17或 18所述的终端, 其特征在于, 19. The terminal according to claim 17 or 18, characterized in that,
所述确定单元, 还用于根据该应用对应的窗口的 Ζ轴序小于终端其他窗口的 Ζ轴序, 确定显示 图像传输策略为降质传输所述窗口的图像或者不传输所述窗口的图像, 或者根据该应用对应的窗口 的遮盖区域与显示区域的比例大于一定阈值时, 确定显示图像传输策略为降质传输所述窗口的图像 或者不传输所述窗口的图像; The determination unit is further configured to determine that the display image transmission strategy is to transmit the image of the window with reduced quality or not to transmit the image of the window based on the Z-axis order of the window corresponding to the application being smaller than the Z-axis order of other windows of the terminal, Or when the ratio of the covered area to the display area of the window corresponding to the application is greater than a certain threshold, the display image transmission strategy is determined to be to transmit the image of the window with reduced quality or not to transmit the image of the window;
所述发送单元, 还用于将确定显示图像传输策略发送给服务器。 The sending unit is also used to send the determined display image transmission strategy to the server.
20、 一种窗口的显示系统, 其特征在于, 包括如权利要求 8- 13中任一所述的服务器以及如权利 要求 17-19中任一所述的终端。 20. A window display system, characterized in that it includes the server according to any one of claims 8-13 and the terminal according to any one of claims 17-19.
PCT/CN2012/080475 2012-08-22 2012-08-22 Window image transmission method, display method, terminal, server, and system WO2014029091A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2012/080475 WO2014029091A1 (en) 2012-08-22 2012-08-22 Window image transmission method, display method, terminal, server, and system
CN201280001095.8A CN103959246B (en) 2012-08-22 2012-08-22 The transmission method of video in window, display packing, terminal, server and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/080475 WO2014029091A1 (en) 2012-08-22 2012-08-22 Window image transmission method, display method, terminal, server, and system

Publications (1)

Publication Number Publication Date
WO2014029091A1 true WO2014029091A1 (en) 2014-02-27

Family

ID=50149354

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/080475 WO2014029091A1 (en) 2012-08-22 2012-08-22 Window image transmission method, display method, terminal, server, and system

Country Status (2)

Country Link
CN (1) CN103959246B (en)
WO (1) WO2014029091A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508886A (en) * 2017-08-24 2017-12-22 西安万像电子科技有限公司 Application display method and device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114217758A (en) * 2021-12-01 2022-03-22 深圳Tcl新技术有限公司 Image display method, image display device, electronic equipment and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196279A1 (en) * 1995-11-13 2002-12-26 Marc Bloomfield Interacting with software applications displayed in a web page
CN1645320A (en) * 2005-01-31 2005-07-27 浙江大学 Method for determining window shearing relation in grahpic user interface
CN102436350A (en) * 2011-12-06 2012-05-02 北京航空航天大学 Remote application window display method, server and user terminal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196279A1 (en) * 1995-11-13 2002-12-26 Marc Bloomfield Interacting with software applications displayed in a web page
CN1645320A (en) * 2005-01-31 2005-07-27 浙江大学 Method for determining window shearing relation in grahpic user interface
CN102436350A (en) * 2011-12-06 2012-05-02 北京航空航天大学 Remote application window display method, server and user terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508886A (en) * 2017-08-24 2017-12-22 西安万像电子科技有限公司 Application display method and device

Also Published As

Publication number Publication date
CN103959246A (en) 2014-07-30
CN103959246B (en) 2017-03-08

Similar Documents

Publication Publication Date Title
TWI803590B (en) Asynchronous time and space warp with determination of region of interest
EP4095804A1 (en) Image processing method and device, server, and medium
WO2021135160A1 (en) Gaming live stream control method and device, computer storage medium, and electronic apparatus
JP6013562B2 (en) Negotiating functionality between the wireless sink and the wireless source device
JP6092338B2 (en) User input back channel for wireless display
JP5714726B2 (en) User input back channel for wireless display
JP5826861B2 (en) User input back channel for wireless display
KR101640767B1 (en) Real-time virtual reality input/output system and method based on network for heterogeneous environment
JP4585479B2 (en) Server apparatus and video distribution method
JP5826860B2 (en) User input back channel for wireless display
CN107113396B (en) Method implemented at user terminal during video call, user terminal and computer-readable storage medium
WO2021143182A1 (en) Game processing method and apparatus, electronic device, and computer-readable storage medium
CN105704161B (en) For transmitting and receiving the long-range method and system that graph data is presented
CN102375687A (en) Cloning or extending a computer desktop on a wireless display surface
TW200948088A (en) System and method for virtual 3D graphics acceleration and streaming multiple different video streams
CN111221491A (en) Interaction control method and device, electronic equipment and storage medium
JP5500513B2 (en) 3D (3D) video for 2D (2D) video messenger applications
WO2013135141A1 (en) System, terminal and method for dynamically adjusting video
CN102196033B (en) A kind ofly transmit and receive the long-range method and system presenting data
US20160014193A1 (en) Computer system, distribution control system, distribution control method, and computer-readable storage medium
CN113489805A (en) Docking method, device, equipment and storage medium of cloud desktop system
WO2014029091A1 (en) Window image transmission method, display method, terminal, server, and system
JP5077272B2 (en) Client device, server-based computing system, and client control program
JP5847846B2 (en) User input back channel for wireless display
JP2014075737A (en) Image processor, image processing method and image processing system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12883217

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12883217

Country of ref document: EP

Kind code of ref document: A1