Abstract:
The application relates to an image display method, apparatus, and system. An application program running on a server initiates an image display instruction for displaying an image on a remote client. The image is processed at the server according to an image processing policy which corresponds to the type or the name of the application program, and the processed image is sent to the remote client for display. The image processing policy takes into consideration of requirements of the client, thus the problem of mismatching between the processed image and the capacities of the client is avoided.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 14/143,852, filed on Jan. 16, 2014, which is a continuation of International Patent Application No. PCT/CN2013/080728, filed on Aug. 2, 2013. The aforementioned patent applications are hereby incorporated by reference in their entireties. 
     
    
     TECHNICAL FIELD 
       [0002]    Embodiments of the present application relate to computer technologies, and in particular, to an image display method, system, and apparatus. 
       BACKGROUND 
       [0003]    When a user logs in to a remote computer, the remote computer needs to transfer its desktop content to a client by using remote desktop technology, and a local device of the client displays the desktop content of the remote computer. At present, most remote desktop systems transfer remote desktop contents via an Internet Protocol (IP) network. A remote desktop may include such technologies as desktop image display, remote sound transmission, or pluggable hardware mapping of a remote computer. A remote desktop is also known as a virtual desktop. In a virtual desktop scenario, at least one server and one client exist. Login to a remote server is implemented by using virtual desktop client software installed on the client. 
         [0004]    A desktop image can be transferred to the client by using drawing instructions. For example, the client receives instructions, which are sent by the remote computer, such as “fill region XX with color XX”, “draw an XX-wide line with color XX from point XX to point XX”, or “draw image XX in position XX”. For the last drawing instruction, because it carries image information that occupies a bandwidth, the remote computer will, when sending the drawing instruction to the client, process the image according to a certain policy, for example, an image compression policy, to reduce the amount of data transferred between the remote computer and the client and reduce the bandwidth occupancy ratio. Which policy is used by the remote computer to process an image to be sent to the client mainly depends on an image recognition technology. The remote computer recognizes an image type, and determines a corresponding processing policy according to the image type. However, this technology depends on image type recognition by the remote computer. Determining an image processing policy according to the image type may result in image data transmitted to the client failing to meet client requirements. For example, after the remote computer performs a lossy compression on a recognized image and then transmits the image to the client for display, the image cannot meet the high image quality requirement of the client, which affects user experience. 
       SUMMARY 
       [0005]    Embodiments of the present application provide an image display method, apparatus, and system. The conventional method of determining an image processing policy according to an image type is no longer used. Instead, an image processing method for displaying an image according to client requirements is provided. 
         [0006]    In a first aspect, an embodiment of the present application provides an image display method, which includes: 
         [0007]    obtaining an image display instruction, where the image display instruction carries an image to be displayed; 
         [0008]    determining an application program that triggers the image display instruction; 
         [0009]    processing, according to the application program, the image to be displayed; and 
         [0010]    sending an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0011]    With reference to the first aspect, in a first possible implementation manner, the processing, according to the application program, the image to be displayed may include: 
         [0012]    determining, according to the application program, an image processing policy for the image to be displayed; and 
         [0013]    processing, according to the image processing policy, the image to be displayed. 
         [0014]    With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner, the method may further include: 
         [0015]    pre-configuring a mapping relationship between the application program and the image processing policy, where 
         [0016]    correspondingly, the determining, according to the application program, an image processing policy for the image to be displayed includes: 
         [0017]    querying the mapping relationship according to the application program, and 
         [0018]    determining the image processing policy for the image to be displayed. 
         [0019]    With reference to the first aspect or the second possible implementation manner of the first aspect, in a third possible implementation manner, the pre-configuring a mapping relationship between the application program and the image processing policy may include: 
         [0020]    configuring a first mapping relationship, where the first mapping relationship includes image compression policies corresponding to different application programs. 
         [0021]    The image compression policy may include a lossless compression policy, and the configuring a first mapping relationship may include configuring a first mapping relationship between the lossless compression policy and first type application software, or configuring a first process name set that uses the lossless compression policy. 
         [0022]    The image compression policy may include a lossy compression policy, and the configuring a first mapping relationship may include classifying the lossy compression policy into multiple lossy compression levels, and configuring a corresponding application software type for each lossy compression level or configuring a corresponding process name set for each lossy compression level. 
         [0023]    With reference to the first aspect or the second possible implementation manner of the first aspect, in a fourth possible implementation manner, the pre-configuring a mapping relationship between the application program and the image processing policy may include: 
         [0024]    configuring a second mapping relationship, where the second mapping relationship includes image frequency control policies corresponding to different application programs. 
         [0025]    The image compression policy may include an image frequency control policy whose value is lower than a default value, where the default value is a default image display frame rate or delay time of a system; and 
         [0026]    the configuring a second mapping relationship may include: 
         [0027]    configuring a second mapping relationship between the image frequency control policy whose value is lower than the default value and second type application software, or configuring a second process name set that uses the image frequency control policy whose value is lower than the default value. 
         [0028]    With reference to the first aspect or the second possible implementation manner of the first aspect, in a fifth possible implementation manner, the pre-configuring a mapping relationship between the application program and the image processing policy may include: 
         [0029]    configuring a third mapping relationship, where the third mapping relationship includes cursor rendering policies corresponding to different application programs. 
         [0030]    Where, the cursor rendering policy may include a server cursor rendering policy, and the configuring a third mapping relationship may include: 
         [0031]    configuring a third mapping relationship between the server cursor rendering policy and third type application software, or configuring a third process name set that uses the server cursor rendering policy. 
         [0032]    With reference to the first aspect or all the foregoing possible implementation manners of the first aspect, in a sixth possible implementation manner, the determining an application program that triggers the image display instruction may include: 
         [0033]    determining a process currently associated with the image display instruction. 
         [0034]    With reference to the sixth possible implementation manner of the first aspect, in a seventh possible implementation manner, the determining a process currently associated with the image display instruction may include: querying for a name of the process currently associated with the image display instruction from an operating system; or, querying for an identifier of the process currently associated with the image display instruction from an operating system, and determining a process name according to the identifier of the process; or obtaining a name of the process currently associated with the image display instruction that is carried in the image display instruction; or, obtaining an identifier of the process currently associated with the image display instruction that is carried in the image display instruction, and determining a process name according to the identifier of the process. 
         [0035]    In a second aspect, an embodiment of the present application provides an image display apparatus, which includes: 
         [0036]    an obtaining unit, configured to obtain an image display instruction, where the image display instruction carries an image to be displayed; 
         [0037]    a determining unit, configured to determine an application program that triggers the image display instruction; 
         [0038]    a processing unit, configured to process, according to the application program determined by the determining unit, the image to be displayed; and 
         [0039]    a sending unit, configured to send an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the image to be displayed that has been processed by the processing unit. 
         [0040]    In a third aspect, an embodiment of the present application provides an image display system, which includes: 
         [0041]    a server, configured to obtain an image display instruction, where the image display instruction carries an image to be displayed, determine an application program that triggers the image display instruction, process, according to the application program, the image to be displayed, and send an image display message to a client, where the image display message includes the processed image to be displayed; and 
         [0042]    the client, configured to receive the image display message sent by the server, and display an image according to the image display message. 
         [0043]    In a fourth aspect, an embodiment of the present application provides a computer, which includes an application program module, an operating system module, a display driver module, and a remote communication module. The operating system module is configured to send an image display instruction to the display driver module according to a call instruction of the application program module. The display driver module is configured to send the image display instruction to the remote communication module after receiving the image display instruction sent by the operating system module. 
         [0044]    The remote communication module is configured to obtain the image display instruction sent by the display driver module, where the image display instruction carries an image to be displayed, determine an application program that triggers the image display instruction, process, according to the application program, the image to be displayed, and send an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0045]    In a fifth aspect, an embodiment of the present application provides a computer, which includes a processor, a memory, a bus, and a communication interface. 
         [0046]    The memory is configured to store a computer execution instruction. The processor is connected to the memory through the bus; and when the computer is running, the processor executes the computer execution instruction stored in the memory, so that the computer executes the following method: 
         [0047]    obtaining an image display instruction, where the image display instruction carries an image to be displayed; 
         [0048]    determining an application program that triggers the image display instruction; 
         [0049]    processing, according to the application program, the image to be displayed; and 
         [0050]    sending an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0051]    In a sixth aspect, an embodiment of the present application provides a computer readable medium that stores computer execution instructions, where, when a processor of a computer executes the computer execution instructions, the computer executes the following method: 
         [0052]    obtaining an image display instruction, where the image display instruction carries an image to be displayed; 
         [0053]    determining an application program that triggers the image display instruction; 
         [0054]    processing, according to the application program, the image to be displayed; and 
         [0055]    sending an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0056]    In embodiments of the present application, after an image display instruction is obtained, an application program that triggers the image display instruction is determined, and an image is processed according to the application program and is sent to a client for display. Because image processing is performed according to an application program currently triggered by the client, a determined image processing policy meets current application requirements of the client, which avoids the problem in the prior art that an image finally displayed on the client does not meet current application requirements of the client when an image processing policy is determined according to image type recognition. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0057]    To illustrate the technical solutions in the embodiments of the present application more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present application, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts. 
           [0058]      FIG. 1  is a flowchart of a method according to an embodiment of the present application; 
           [0059]      FIG. 2  is an architectural diagram of a system according to an embodiment of the present application; 
           [0060]      FIG. 3  is a flowchart of another method according to an embodiment of the present application; 
           [0061]      FIG. 4  is a flowchart of yet another method according to an embodiment of the present application; 
           [0062]      FIG. 5  is a simplified block diagram of an image display apparatus according to an embodiment of the present application; 
           [0063]      FIG. 6  is a simplified block diagram of another image display apparatus according to an embodiment of the present application; 
           [0064]      FIG. 7  is a simplified block diagram of an image display system according to an embodiment of the present application; 
           [0065]      FIG. 8  is a simplified block diagram of a computer according to an embodiment of the present application; and 
           [0066]      FIG. 9  is a simplified block diagram of a computer according to an embodiment of the present application. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0067]    Embodiments of the present application provide an image display method, an apparatus, and a system. Instead of determining an image processing policy according to an image type, the present application uses an image policy determining method much closer to client requirements to meet different image display requirements of clients. 
       Embodiment 1 
       [0068]      FIG. 1  is a flowchart according to an embodiment of the present application. An image display method provided in the embodiment of the present application includes the following steps. 
         [0069]    S 101 . Obtain an image display instruction, where the image display instruction carries an image to be displayed. 
         [0070]    Preferably, in the embodiment of the present application, an image processing module configured in a remote computer or a server may obtain an image display instruction from any module of an operating system module, a display driver module, or a remote communication module of the remote computer or the server. In a specific implementation, the image processing module may be configured in any of the operating system module, the display driver module, or the remote communication module, or may be configured independently. Any specific implementation manner of the image processing module can implement the image display method according to the embodiment of the present application, and the specific implementation thereof is not limited by the embodiment of the present application. 
         [0071]    S 102 . Determine an application program that triggers the image display instruction. 
         [0072]    In the embodiment of the present application, after receiving a display instruction, the image processing module needs to search for a source that triggers the display instruction to determine which application program or application programs trigger the image display instruction. 
         [0073]    S 103 . Process, according to the application program, the image to be displayed. 
         [0074]    In the embodiment of the present application, processing on the image to be displayed no longer depends on image recognition; instead, corresponding image processing is performed according to the application program that triggers the image display instruction. 
         [0075]    Preferably, S 103  includes the following: 
         [0076]    S 103 - 1 . Determine, according to the application program, an image processing policy for the image to be displayed. 
         [0077]    After the application program is determined, the image processing policy is determined according to information of the application program. Preferably, a pre-configured image processing policy may be determined according to a type of the application program or a name of the application program. The specific implementation manner will be described in detail in subsequent embodiments. 
         [0078]    S 103 - 2 . Process, according to the image processing policy, the image to be displayed. 
         [0079]    Processing the image according to the policy may be based on the purpose of saving a transmission bandwidth, or based on the purpose of meeting customer requirements, or based on both the two purposes. However, the image processing is performed based on the image processing policy determined in S 103 - 2 . 
         [0080]    S 104 . Send an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0081]    In this embodiment, after an image display instruction is obtained, an image processing module configured in the remote computer or server determines an application program that triggers the image display instruction, processes an image according to the application program, and sends the image to a client for display. Because image processing is performed according to an application program currently triggered by the client, a determined image processing policy meets current application requirements of the client. The problem in the prior art that an image finally displayed on the client does not meet current application requirements of the client can be avoided. 
       Embodiment 2 
       [0082]      FIG. 2  is an architectural diagram of a system according to an embodiment of the present application. The system includes a server  20 . The server  20  may include multiple virtual machines VM 200 , and each virtual machine VM 200  includes a remote communication module  201 , an application program module  202 , an operating system module  203 , and a display driver module  204 . The remote communication module  201  is configured to enable a VM, on which the module is located, to communicate with the exterior. For example, a VM communicates with a client or a management system, reads a display instruction uploaded by a display driver, sends the display instruction to the client, receives a user mouse and keyboard operation event sent by the client, and reports the event to the operating system module  203 . The application program module  202  runs in user mode and is configured to initiate a call instruction to the operating system module  203  to provide service implementation. The operating system module  203  is configured to manage hardware resources of the server, control the running of other modules, and provide an interactive operation interface for users. In this embodiment, the operating system module  203  is configured to send an image display instruction to the display driver module  204  according to the call instruction from the application program module  202 . The display driver module  204  performs uniform format conversion for the instruction sent by the operating system module  203 , and then sends the converted image display instruction to the remote communication module  201 , to instruct the remote communication module  201  to send, through a remote communication protocol, image display information to a client. Certainly, the display driver module  204  may perform no format conversion, but the remote communication module  201  performs the format conversion. 
         [0083]    Additionally, in the system embodiment of the present application, the remote communication module  201  further implements the functions of an image processing module. That is, the remote communication module  201  is further configured to obtain an image display instruction, determine an application program that triggers the image display instruction, determine, according to the application program, an image processing policy for an image to be displayed, process the image according to the image processing policy, and send image display information to a client. The client displays an image according to the image display information, where the image display information includes the processed image to be displayed. 
         [0084]    In this embodiment, the remote communication module  201  implements functions of the image processing module. In other embodiments, functions of the image processing module may also be implemented by the operating system module  203  or the display driver module  204 , or, an image processing module is configured independently. The specific implementation of the image processing module is not limited by the embodiments of the present application. 
         [0085]    In the system architecture embodiment shown in  FIG. 2 , another image display method according to an embodiment of the present application, as shown in  FIG. 3 , includes the following steps. 
         [0086]    S 300 . Pre-configure a mapping relationship between an application program and an image processing policy. 
         [0087]    To solve a series of problems caused by the prior art that an image processing policy is determined according to an image type, the embodiment of the present application proposes a method of configuring an image processing policy with respect to an application program. A mapping relationship between the application program and the image processing policy is pre-configured, so that a corresponding module queries the mapping relationship according to application program information and determines a corresponding image processing policy. 
         [0088]    Specifically, if the image processing policy includes an image compression policy, the S 300  is as follows: 
         [0089]    S 300 - a . Configure a first mapping relationship, where the first mapping relationship is a relationship between an image compression policy and an application program. 
         [0090]    When the image compression policy specifically includes a lossless compression policy, the configuring a first mapping relationship includes: configuring a first mapping relationship between the lossless compression policy and a first type application software, or between the lossless compression policy and a first process name set that uses the lossless compression policy. Preferably, the first type application software mainly refers to software requiring a high image display quality. For example, the first type software may include medical industry software or professional drawing software, and the first process name set may include: xtop.exe (pro/E, drawing software), CNEXT.exe (CAITA, drawing software), acad.exe (AutoCAD, drawing software), Revit.exe (Revit, architecture design software), Inventor.exe (Inventor, mechanical design software), 3dsmax.exe (3ds Max, 3D animation production software), Showcase.exe (Showcase, 3D visual creativity software), etc. The process name set may be selected and configured according to the actual situation and is not exhaustively described in this embodiment. 
         [0091]    When the image compression policy specifically includes a lossy compression policy, the configuring a first mapping relationship includes: dividing the lossy compression policy into one or more lossy compression levels, and configuring an application software type or a process name set for each lossy compression level, where each lossy compression level includes a lossy compression algorithm or level. 
         [0092]    If the image processing policy specifically includes an image frequency control policy, the S  300  is as follows: 
         [0093]    S 300 - b . Configure a second mapping relationship, where the second mapping relationship is a relationship between an image frequency control policy and an application program. 
         [0094]    When the image frequency control policy includes an image frequency control policy whose value is lower than a default value (the default value being a default image display frame rate or delay time of a system), the configuring a second mapping relationship includes: configuring a second mapping relationship between the image frequency control policy whose value is lower than the default value and a second type application software, or configuring a second process name set that uses the image frequency control policy whose value is lower than the default value. For some types of software that has many images, if all images are transferred to the client, a large bandwidth will be occupied. Therefore, an image frequency control is used. For software having large image traffic, an image frequency control policy whose value is lower than a default value may be used. For example, a default image frequency control policy of a system is 30 frames per second, and in this embodiment, an image frequency control policy whose value is lower than the default value is configured to 20 frames per second. Preferably, the second type application software mainly refers to software having large image traffic. For example, the software may include video-type software; and the second process name set may include: wmplayer.exe (windows Media Player), qqplayer.exe (Tencent QQ Player), splayer.exe (SPlayer), vlc.exe (VLC Player), StormPlayer.exe (Storm Player), or the like, and the process name set may be selected and configured according to the actual situation and is not exhaustively described in this embodiment. 
         [0095]    If the image processing policy specifically includes a cursor rendering policy, the S 300  is as follows: 
         [0096]    S 300 - c . Configure a third mapping relationship, where the third mapping relationship is a relationship between a cursor rendering policy and an application program. 
         [0097]    When the cursor rendering policy includes a server cursor rendering policy, the configuring a third mapping relationship includes: configuring a third mapping relationship between the server cursor rendering policy and third type application software, or configuring a third process name set that uses the server cursor rendering policy. The cursor rendering policy includes a server cursor rendering policy and a client cursor rendering policy, where the server cursor rendering policy is that the server performs cursor rendering, and the client cursor rendering policy is that the client performs cursor rendering. Client cursor rendering enables faster response to users, but it is possible that a location deviation exists between a cursor displayed on the image and a cursor automatically drawn by the application program. Server cursor can ensure the consistency between the cursor displayed on the image and the cursor automatically drawn by the application program. Therefore, for some drawing software, surveying and mapping industry software, or game software that requires a high accuracy, server cursor rendering can be used. The third type application software mainly refers to some drawing software, surveying and mapping industry software, or game software that requires a high accuracy. The third process name set may include xtop.exe, vlc.exe, autocad.exe, or the like, and the process name set may be selected and configured according to the actual situation and is not exhaustively described in this embodiment. 
         [0098]    Possible image processing policies are listed as examples in this embodiment, such as an image compression policy, an image frequency control policy, and a cursor rendering policy. In practical, according to the embodiment of the present application and a publicly-known technology, a person skilled in the art may also think of more image policies, which are not detailed any further in the embodiment of the present application. Additionally, though each policy in the foregoing embodiment is listed separately, a person skilled in the art may clearly understand that, the first mapping relationship, the second mapping relationship, or the third mapping relationship related to the foregoing image compression policy, image frequency control policy, and cursor rendering policy may be configured separately, simultaneously, or in any combination. For example, the first mapping relationship and the second mapping relationship may be configured simultaneously, the first mapping relationship and the third mapping relationship may be configured simultaneously, or the three mapping relationships may be configured simultaneously. The mapping relationship may be configured in the form of a data table. Each mapping relationship may be configured in one table, or multiple mapping relationships may be configured in one table. 
         [0099]    S 301 . The application program module  202  initiates a call instruction to the operating system module  203 . 
         [0100]    Preferably, if the client or the system automatically triggers an application program, an application program module  202  of the application program initiates a call instruction to the operating system module  203 . Specifically, the call instruction may be a graphic function call instruction. 
         [0101]    S 302 . The operating system module  203  sends an image display instruction to the display driver module  204  according to the call instruction, where the image display instruction carries an image to be displayed. 
         [0102]    S 303 . The display driver module  204  sends the image display instruction to the remote communication module  201 . 
         [0103]    Preferably, the display driver module  204  may further convert, after receiving the image display instruction, the format of the image display instruction according to a format predefined by the client, and then send the image display instruction with the format converted to the remote communication module  201 . 
         [0104]    S 304 . The remote communication module  201  obtains the image display instruction, and determines an application program that triggers the image display instruction. 
         [0105]    Specifically, the determining, by the remote communication module  201 , an application program that triggers the image display instruction may be implemented in multiple manners. In this embodiment, an exemplary implementation manner is that the remote communication module  201  determines information of a process associated with the image display instruction. Because the application program is executed by a computer through a process, the process associated with the image display instruction may represent the application program that triggers the image display instruction. Further, because the operating system module  203  may allocate process space for each executed process, the process space includes process information. In the case of drawing, the display driver module  204  configured to execute the image display instruction works in the process space of the process. Therefore, the display driver module  204  may query for process information by using an interface provided by the operating system module  203 , for example, obtain a current process ID by using an application program interface API function GetCurrentProcessId or EngGetCurrentProcessId of the Windows operating system, or obtain a process name of the current process by using Windows API functions PsGetCurrentProcess and PsGetProcessImageFileName. The remote communication module  201  may query for a process name corresponding to a process ID by using an interface provided by the operating system module  203 , for example, by using application program interface API functions OpenProcess and GetModuleFileName of the Windows operating system. In a specific implementation, the remote communication module  201  or the display driver module  204  may query the operating system module  203  to obtain the process name. 
         [0106]    If the remote communication module  201  queries the operating system module  203 , the determining information of a process associated with the image display instruction in S 304  can be implemented in the following manner. 
         [0107]    S 304 - a   1 . The remote communication module  201  queries for an identifier of a process associated with the image display instruction from the operating system module  203 . 
         [0108]    S 304 - a   2 . The remote communication module  201  queries for a process name of the process from the operating system module  203  according to the process identifier. 
         [0109]    Alternatively S 304 - a   1 ′. The remote communication module  201  queries for a name of a process associated with the image display instruction from the operating system module  203 . 
         [0110]    S 304 - a   2 ′. The remote communication module  201  obtains the process name returned by the operating system module  203 . 
         [0111]    If the display driver module  204  queries the operating system module  203 , the display driver module  204  may further perform the following steps before S 303 : 
         [0112]    S 303 - a   1 . The display driver module  204  queries for an identifier of a process associated with the image display instruction from the operating system module  203 . 
         [0113]    S 303 - a   2 . The display driver module  204  queries for a process name of the process from the operating system module  203  according to the process identifier. 
         [0114]    Or, 
         [0115]    S 303 - a   1 ′. The display driver module  204  queries for a name of a process associated with the image display instruction from the operating system module  203 . 
         [0116]    S 303 - a   2 ′. The display driver module  204  obtains the process name returned by the operating system module  203 . 
         [0117]    Or, 
         [0118]    S 303 - c   1 . The display driver module  204  queries for an identifier of a process associated with the image display instruction from the operating system module  203 . Correspondingly, in the S  303 , the display driver module  204  not only sends the image display instruction to the remote communication module  201 , but also sends the found process information, that is, the process identifier or process name, to the remote communication module  201 . 
         [0119]    Correspondingly, if the display driver module  204  sends the found process name to the remote communication module  201  in S 303 , in S 304 , the remote communication module  201  obtains the process name carried in the image display instruction. If the display driver module  204  sends the found process identifier to the remote communication module  201  in S 303 , in S 304 , the remote communication module  201  queries for the process name of the process from the operating system module  203  according to the process identifier. 
         [0120]    Multiple implementation manners for the remote communication module to determine the process of the image display instruction are exemplified above. In summary, multiple flexible implementation manners can be deduced according to the principle, which is mentioned in the embodiments of the present application, of querying for information in the process space of the operating system module. Specific implementations are not detailed any further in the embodiments of the present application. 
         [0121]    It goes back to the main process. The subsequent process includes the following steps: 
         [0122]    S 305 . The remote communication module  201  determines, according to the application program, an image processing policy for the image to be displayed. 
         [0123]    Specifically, if the remote communication module  201  determines the information of the process associated with the image display instruction in S 304 , the remote communication module  201  queries, according to the process information, the mapping relationship configured in S 300 , and determines the image processing policy for the image to be displayed. 
         [0124]    S 306 . The remote communication module  201  processes, according to the image processing policy, the image to be displayed. 
         [0125]    Specifically, if the image processing policy is a lossless compression policy, the remote communication module  201  performs lossless compression for the image to be displayed. If the image processing policy is a lossy compression policy, the remote communication module  201  performs lossy compression for the image to be displayed according to a level of the lossy compression policy. If the image processing policy is an image frequency control policy, the remote communication module  201  calculates a first interval according to a frequency specified by the image frequency control policy, and performs redundancy elimination for multiple images received in the first interval to obtain one image. If the image processing policy is a server cursor rendering policy, the remote communication module  201  instructs the display driver module  204  to render a cursor on the image to be displayed, and then obtains the rendered image to be displayed returned by the display driver module  204 . If the image processing policy includes an image compression policy and an image frequency control policy, the remote communication module  201  calculates a first interval according to a frequency specified by the image frequency control policy, performs redundancy elimination for multiple images received in the first interval to obtain one image, and uses the image compression policy to compress the image that is obtained through the redundancy elimination. 
         [0126]    S 307 . The remote communication module  201  sends an image display message to a client  22 , so that the client  22  displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0127]    In this embodiment, a mapping relationship between an application program and an image processing policy is configured first. After a remote communication module receives an image display instruction, the remote communication module determines an application program that triggers the image display instruction, determines an image processing policy according to the application program, processes an image according to the determined image processing policy, and sends the image to a client for display. Because an image processing program is determined according to an application program currently triggered by the client, the determined image processing policy meets current application requirements of the client. The method avoids the problem in the prior art that an image finally displayed on the client does not meet current application requirements of the client when an image processing policy is determined according to image type recognition, and balances a bandwidth occupancy for data transmission between a remote computer and the client. Specifically, because a lossless compression policy is configured for software that requires a high image quality, so that an image to be sent to the client for display can meet high-accuracy and high-emulation image requirements of users. Because an image frequency control policy whose value is lower than a default value is configured for large-traffic software such as video software, images sent to a client are images obtained after redundancy elimination, which reduces a bandwidth occupancy between the server and the client and improves the system transmission efficiency. Because a server cursor rendering policy is configured for software that requires a high cursor accuracy, the consistency between a cursor displayed on an image and a cursor automatically drawn by the application program can be ensured, which improves user experience. 
         [0128]    In the system architecture embodiment shown in  FIG. 2 , another image display method according to an embodiment of the present application, as shown in  FIG. 4 , includes the following steps. 
         [0129]    S 400 . In a management system, pre-configure a mapping relationship between an application program and an image processing policy. 
         [0130]    The specific configuration form and method of the mapping relationship are similar to those described in S 300 , which is not detailed herein any further. 
         [0131]    S 401 . A connection is established between virtual machines in a client and a server. 
         [0132]    Specifically, a remote desktop connection is established between the client and a remote communication module  201  in the virtual machine. 
         [0133]    S 402 . A management system delivers the mapping relationship between the application program and the image processing policy to the virtual machine. 
         [0134]    Specifically, the management system delivers the mapping relationship to the remote communication module  201 , and the remote communication module  201  saves the mapping relationship. 
         [0135]    S 403 . The application program module  202  initiates a call instruction to the operating system module  203 . 
         [0136]    Preferably, if the client or the system automatically triggers an application program, an application program module  202  of the application program initiates a call instruction to the operating system module  203 . Specifically, the call instruction may be a graphic function call instruction. 
         [0137]    S 404 . The operating system module  203  sends an image display instruction to the display driver module  204  according to the call instruction, where the image display instruction carries an image to be displayed. 
         [0138]    S 405 . The display driver module  204  queries for an identifier of a process associated with the image display instruction from the operating system module  203 . 
         [0139]    S 406 . The display driver module  204  receives the process identifier returned by the operating system module  203 , and determines a process name of the process according to the process identifier. 
         [0140]    S 407 . The display driver module  204  sends the image display instruction and the process name to the remote communication module  201 . 
         [0141]    In another embodiment, the display driver module  204  sends the image display instruction to the remote communication module  201 , where the image display instruction carries the process name. 
         [0142]    S 408 . The remote communication module  201  queries the mapping relationship between the application program and the image processing policy according to the process name, and determines an image processing policy for the image to be displayed. 
         [0143]    S 409 . The remote communication module  201  processes, according to the image processing policy, the image to be displayed. 
         [0144]    Specifically, if the image processing policy is a lossless compression policy, the remote communication module  201  performs lossless compression for the image to be displayed. If the image processing policy is a lossy compression policy, the remote communication module  201  performs lossy compression for the image to be displayed according to a level of the lossy compression policy. If the image processing policy is an image frequency control policy, the remote communication module  201  calculates a first interval according to a frequency specified by the image frequency control policy, and performs redundancy elimination for multiple images received in the first interval to obtain one image. If the image processing policy is a server cursor rendering policy, the remote communication module  201  instructs the display driver module  204  to render a cursor on the image to be displayed, and then obtains the rendered image to be displayed returned by the display driver module  204 . If the image processing policy includes an image compression policy and an image frequency control policy, the remote communication module  201  calculates a first interval according to a frequency specified by the image frequency control policy, performs redundancy elimination for multiple images received in the first interval to obtain one image, and uses the image compression policy to compress the image that is obtained through the redundancy elimination. 
         [0145]    S 410 . The remote communication module  201  sends an image display message to a client  22 , so that the client  22  displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0146]    In this embodiment, a mapping relationship between an application program and an image processing policy is configured first. After a remote communication module receives an image display instruction, the remote communication module determines an application program that triggers the image display instruction, determines an image processing policy according to the application program, processes an image according to the determined image processing policy, and sends the image to a client for display. Because an image processing program is determined according to an application program currently triggered by the client, the determined image processing policy meets current application requirements of the client. The problem in the prior art that an image finally displayed on the client does not meet current application requirements of the client can be avoided. Specifically, because a lossless compression policy is configured for software that requires a high image quality, so that an image to be sent to the client for display can meet high-accuracy and high-emulation image requirements of users. Because an image frequency control policy whose value is lower than a default value is configured for large-traffic software such as video software, images sent to a client are images obtained after redundancy elimination, which reduces a bandwidth occupancy between the server and the client and improves the system transmission efficiency. Because a server cursor rendering policy is configured for software that requires a high cursor accuracy, the consistency between a cursor displayed on an image and a cursor automatically drawn by the application program can be ensured, which improves user experience. 
       Embodiment 3 
       [0147]    As shown in  FIG. 5 , an image display apparatus according to an embodiment of the present application includes: 
         [0148]    an obtaining unit  501 , configured to obtain an image display instruction, where the image display instruction carries an image to be displayed; 
         [0149]    a determining unit  502 , configured to determine an application program that triggers the image display instruction; 
         [0150]    a processing unit  503 , configured to process, according to the application program determined by the determining unit  502 , the image to be displayed; and 
         [0151]    a sending unit  504 , configured to send an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the image to be displayed that has been processed by the processing unit  503 . 
         [0152]    Preferably, as shown in  FIG. 6 , in another apparatus embodiment provided in the embodiments of the present application, the processing unit  503  includes: 
         [0153]    a policy subunit  5031 , configured to determine, according to the application program determined by the determining unit  502 , an image processing policy for the image to be displayed; and 
         [0154]    a processing subunit  5032 , configured to process, according to the image processing policy, the image to be displayed. 
         [0155]    Preferably, the apparatus further includes a configuring unit  601 , configured to pre-configure a mapping relationship between the application program and the image processing policy, where 
         [0156]    the policy subunit  5031  is specifically configured to query the mapping relationship according to the application program determined by the determining unit, and determine the image processing policy for the image to be displayed. 
         [0157]    Preferably, the configuring unit  601  includes: 
         [0158]    a first configuring subunit  6011 , configured to configure a first mapping relationship, where the first mapping relationship includes image compression policies corresponding to different application programs. 
         [0159]    The image compression policy includes a lossless compression policy, and the first configuring subunit  6011  is specifically configured to: 
         [0160]    configure a first mapping relationship between the lossless compression policy and first type application software, or configure a first process name set that uses the lossless compression policy. 
         [0161]    The image compression policy includes a lossy compression policy, and the first configuring subunit  6011  is specifically configured to: 
         [0162]    classify the lossy compression policy into multiple lossy compression levels; and 
         [0163]    configure a corresponding application software type for each lossy compression level, or configure a corresponding process name set for each lossy compression level. 
         [0164]    Preferably, the configuring unit  601  includes: 
         [0165]    a second configuring subunit  6012 , configured to configure a second mapping relationship, where the second mapping relationship includes image frequency control policies corresponding to different application programs. 
         [0166]    Where, the image compression policy includes an image frequency control policy whose value is lower than a default value, where the default value is a default image display frame rate or delay time of a system; and 
         [0167]    the second configuring subunit  6012  is specifically configured to: 
         [0168]    configure a second mapping relationship between the image frequency control policy whose value is lower than the default value and second type application software, or configure a second process name set that uses the image frequency control policy whose value is lower than the default value. 
         [0169]    Preferably, the configuring unit  601  includes: 
         [0170]    a third configuring subunit  6013 , configured to configure a third mapping relationship, where the third mapping relationship includes cursor rendering policies corresponding to different application programs. 
         [0171]    Where, the cursor rendering policy includes a server cursor rendering policy, and the third configuring subunit is specifically configured to: 
         [0172]    configure a third mapping relationship between the server cursor rendering policy and third type application software, or configure a third process name set that uses the server cursor rendering policy. 
         [0173]    Preferably, the determining unit  502  is specifically configured to determine a process currently associated with the image display instruction. 
         [0174]    Preferably, the determining unit  502  is specifically configured to: query for a name of the process currently associated with the image display instruction from an operating system, or query for an identifier of the process currently associated with the image display instruction from an operating system and determine a process name according to the process identifier; or, obtain a name of the process currently associated with the image display instruction that is carried in the image display instruction, or obtain an identifier of the process currently associated with the image display instruction that is carried in the image display instruction and determine a process name according to the process identifier. 
         [0175]    Preferably, the processing subunit  5032  includes any one or any combination of the following modules: 
         [0176]    a compression module, configured to: if the image processing policy includes an image compression policy, compress, according to the image compression policy, the image to be displayed; 
         [0177]    a redundancy elimination module, configured to: if the image processing policy includes an image frequency control policy, calculate a first interval according to a frequency specified by the image frequency control policy, and perform redundancy elimination for multiple images to be displayed that are received in the first interval to obtain one image to be displayed; and 
         [0178]    a cursor processing module, configured to: if the image processing policy includes a server cursor rendering policy, render a cursor on the image to be displayed. 
         [0179]    As shown in  FIG. 7 , an image display system according to an embodiment of the present application includes: 
         [0180]    a server  70 , configured to obtain an image display instruction, where the image display instruction carries an image to be displayed, determine an application program that triggers the image display instruction, process, according to the application program, the image to be displayed, and send an image display message to a client, where the image display message includes the processed image to be displayed; and 
         [0181]    the client  72 , configured to receive the image display message sent by the server, and display an image according to the image display message. 
         [0182]    An embodiment of the present application further provides a computer. As shown in  FIG. 8 , the computer shown in  FIG. 8  may be a virtual machine shown in  FIG. 2  or a physical server. 
         [0183]    The computer includes: an application program module  802 , an operating system module  803 , an display driver module  804 , and a remote communication module  801 , where: the operating system module  803  is configured to send an image display instruction to the display driver module  804  according to a call instruction of the application program module  801 ; the display driver module  804  sends the image display instruction to the remote communication module  801  after receiving the image display instruction sent by the operating system module  803 ; and 
         [0184]    the remote communication module  801  is configured to obtain the image display instruction sent by the display driver module, where the image display instruction carries an image to be displayed, determine an application program that triggers the image display instruction, process, according to the application program, the image to be displayed, and send an image display message to a client, so that the client displays an image according to the image display message, where the image display message includes the processed image to be displayed. 
         [0185]    Specifically, the remote communication module  801  is specifically configured to determine, according to the application program, an image processing policy for the image to be displayed, and process, according to the image processing policy, the image to be displayed. 
         [0186]    Preferably, the remote communication module  801  is further configured to obtain a pre-configured mapping relationship between the application program and the image processing policy; and, the remote communication module  801  queries the mapping relationship according to the application program, and determines the image processing policy for the image to be displayed. 
         [0187]    Preferably, the display driver module  804  is further configured to query for information of a process currently associated with the image display instruction from the operating system module  803 , carry the process information in the image display instruction, and send the image display instruction to the remote communication module  801 ; and 
         [0188]    the remote communication module  801  obtains the information of the process currently associated with the image display instruction that is carried in the image display instruction, and determines, according to the process information, the image processing policy for the image to be displayed. 
         [0189]    Preferably, the remote communication module  801  is further configured to query for information of a process currently associated with the image display instruction from the operating system module  803 , and determine, according to the process information, the image processing policy for the image to be displayed. 
         [0190]      FIG. 9  is a schematic structural diagram of a computer according to an embodiment of the present application. The computer according to the embodiment of the present application may include: 
         [0191]    a processor  901 , a memory  902 , a system bus  904 , and a communication interface  905 . The CPU  901 , the memory  902 , and the communication interface  905  are connected through the system bus  904  and complete mutual communication. 
         [0192]    The processor  901  may be a single-core or multi-core central processing unit, or a specific integrated circuit, or is configured to one or multiple integrated circuits implementing the embodiments of the present application. 
         [0193]    The memory  902  may be a high-speed RAM memory or a non-volatile memory (non-volatile memory), for example, at least one disk memory. 
         [0194]    The memory  902  is configured to store a computer execution instruction  903 . Specifically, the computer execution instruction  903  may include program codes. 
         [0195]    When the computer is running, the processor  901  runs the computer execution instruction  903 , and may execute any of the method processes in  FIG. 1 ,  FIG. 3 , or  FIG. 4 . 
         [0196]    A person of ordinary skill in the art should understand that, each aspect of the present application or each possible implementation manner of each aspect may be specifically implemented as systems, methods, or computer program products. Therefore, each aspect of the present application or each possible implementation manner of each aspect may use forms of complete hardware embodiments, complete software embodiments (including firmware, resident software, and so on), or embodiments combining software and hardware, which are uniformly referred to as “circuit”, “module”, or “system” herein. Furthermore, each aspect of the present application or each possible implementation manner of each aspect may use forms of computer program products. Computer program products refer to computer readable program codes stored in a computer readable medium. 
         [0197]    A computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium includes but is not limited to electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or apparatuses, or any appropriate combination of the foregoing items, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable read-only memory (CD-ROM). 
         [0198]    Processors in computers read computer readable program codes stored in a computer readable medium, so that the processors can execute functions and actions specified in one step or a combination of the steps in the flowcharts, and an apparatus implementing functions and actions specified in one block or a combination of blocks in the block diagrams is generated. 
         [0199]    Computer readable program codes can be completely executed on user computers, partially executed on user computers, used as separate software packages, partially on user computers and partially on remote computers, or completely executed on remote computers or servers. It should also be noted that, in certain alternative implementation solutions, functions denoted in each step of the flowcharts or in each block of the block diagrams may not occur according to the sequence denoted in the diagrams. For example, depending on the involved functions, two steps or two blocks successively marked may be performed concurrently, or these blocks sometimes may be performed in a reverse order. 
         [0200]    A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on the particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the present application. 
         [0201]    The foregoing descriptions are merely specific embodiments of the present application, but are not intended to limit the protection scope of the present application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present application shall fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.