Abstract:
A presentation system and method is disclosed, and the method includes the steps of: creating at least one buffer area in a first presentation device for at least one application; relocating the presentation-related data of a running application to the buffer area; and intercepting the presentation-related data from the buffer area and transmitting them to at least one second presentation device. With the above configuration of the present invention, the presentation-related data of various applications running in the host can be redirected as demanded by a user to a corresponding presentation device. With only one host, multiple application windows can be presented on multiple presentation devices at the same time.

Description:
RELATED APPLICATION 
     The present application claims priority to Chinese Application No. 200710063227.0 filed Jan. 4, 2007, which is incorporated herein in its entirety by reference. 
     FIELD OF THE INVENTION 
     The present invention relates to the technology of playing audio/video, and in particular to a presentation system and method which can redirect an application window and/or audio on a computer to the display screen of a video device and/or a stereo. 
     BACKGROUND OF THE INVENTION 
     One of the most important points in 3C convergences is to increase the convenience in using a personal computer (PC) and to enhance the cooperation between a PC and a presentation device with weak computing capability, such as a TV. 
     Thus, Microsoft® has proposed a scheme, Sideshow®, in Windows Vista®, which enables some display devices with weak computing capabilities to display the contents of certain application windows in a host. For example, certain application windows on a PC can be redirected to an auxiliary display screen, since a special data transmission format is defined between these applications and the auxiliary display screen, and there exists a mechanism of display redirection between these applications and the operating system. As such, only the window of an application conforming to this standard defined by Microsoft® can be displayed on the auxiliary display screen. Besides, this technique does not allow a user to execute any PC program at the side of the display device. 
     Further, a remote game system from Intel® attempts to utilize a TV set as the auxiliary display device of a PC for game display. For example, in this system, the virtual video card technique is used to effectuate a control over the PC at the side of the display device. Unfortunately, such a scheme is complex to implement, and if a plurality of auxiliary display devices are present, it is necessary to install a corresponding number of virtual video card drivers. 
     SUMMARY OF THE INVENTION 
     The present invention is done in view of the above problems. The object of the present invention is to provide a presentation system and method which can redirect an application window and/or audio on a computer to a presentation device. 
     In one aspect of the present invention, a presentation method is provided, comprising the steps of: creating at least one buffering area in a first presentation device for at least one application; relocating the presentation-related data of a running application to the buffering area; and intercepting the presentation-related data from the buffering area and transmitting them to at least one second presentation device. 
     The presentation method may further comprise a step of intercepting audio data and/or video data from the buffering area and transmitting them to the second presentation device. 
     In one embodiment, the video data is a rendering instruction or a rendered image. 
     In one embodiment, the presentation method further comprises a step of establishing a connection between the first and second presentation devices before the step of transmitting. 
     In one embodiment, the step of establishing a connection comprises: transmitting a probe packet including at least the host address from the first presentation device to the second presentation device; transmitting a response including at least the address of the second presentation device from the second presentation device to the first presentation device; and establishing a connection between the first and second presentation devices based on the addresses of the first and second presentation devices. 
     In one embodiment, the probe packet further includes the name of the first presentation device, and the response further includes the image-displaying capability and/or the supported audio format and the name of the second presentation device. 
     In one embodiment, the step of establishing a connection comprises: transmitting announcement information including at least the address of the second presentation device from the second presentation device to the first presentation device; transmitting a response including at least the address of the first presentation device from the first presentation device to the second presentation device; and establishing a connection between the first and second presentation devices based on the addresses of the first and second presentation devices 
     In one embodiment, the announcement information further includes the image-displaying capability and/or the supported audio format and the name of the second presentation device, and the response further includes the name of the first presentation device. 
     In one embodiment, the step of relocating comprises: monitoring the instance name of the application; finding a function invocation related to a presentation output inside the process of the instance; and modifying the output function and outputting the presentation-related data of the application to the buffering area. 
     In another aspect of the present invention, a presentation system is provided, comprising: a first presentation device which includes a monitoring means for creating at least one buffering area in the first presentation device for at least one application and relocating the presentation-related data of a running application to the buffering area, and 
     a communication means for intercepting the presentation-related data from the buffering area and transmitting them to at least one second presentation device. 
     With the above configuration of the present invention, the presentation-related data of various applications running in the host can be redirected as demanded by a user to a corresponding presentation device for presentation. With only one host, multiple application windows and/or videos can be presented on multiple presentation devices at the same time. Further, the presentation device needs only picture parsing and displaying capabilities, but not computing ability. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The above features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the drawings, in which: 
         FIG. 1  shows a schematic block diagram of a presentation system according to one embodiment of the present invention; 
         FIG. 2  shows a schematic diagram of a presentation device selection interface displayed on the display screen of a host; 
         FIG. 3  shows a schematic diagram of a monitored program selection interface displayed on the display screen of the host; and 
         FIG. 4  shows a flowchart of the operation procedure of the presentation system according to one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Hereafter, several embodiments of the present invention will be described with reference to the figures, in which the same reference signs denote the same or similar components though they are illustrated in different figures. 
       FIG. 1  shows a block diagram of a presentation system according to one embodiment of the present invention. As shown in  FIG. 1 , the presentation system of the present embodiment comprises a host  100 , such as a PC, and at least one presentation device  200 ,  300 , or  400  which can be provided with only picture parsing and displaying capabilities and/or audio reproducing capability and without computing ability. 
     As shown in  FIG. 1 , the host  100  includes a processor  130 , a video card and/or audio card  140 , a memory  120 , an operating system  110 , a communication module  160  and other hardware devices. In addition to the video card and/or audio card  140 , the host  100  has at least one virtual representation area, such as the first virtual representation area  170 , the second virtual presentation area  180  and the third virtual presentation area  190 , used for buffering the window image and/or audio data of each of the monitored applications. 
     Additionally, on the operating system  110  of the host  100 , a monitoring software is running to monitor the presentation-related data, such as video and audio data, in an application specified by a user, and to relocate these presentation-related data to a buffering area, that is, the first virtual presentation area  170 , the second virtual presentation area  180  or the third virtual presentation area  190 . 
     The communication module  160  in the host  100  can be a data interface for external communication, such as a general-purpose data transport interface of serial port, parallel port, IR, Bluetooth, ZigBee, UWB, USB, 1394, 802.3, 802.11, 802.16, 802.20, GSM/GPRS/CDMA, CDMA2000/WCDMA/TDS-CDMA and the like, to transmit the presentation-related data relocated to the virtual presentation area to the presentation devices  200 ,  300 ,  400 . 
     The presentation device  200  includes a player  230 , a presentation control module  220  and a communication interface  210 . The presentation control module  220  is provided with an image parsing ability and/or an audio presentation ability so as to restore image information received from the communication interface  210  corresponding to the communication module  160  in the host  100  to a real image and display it on the display screen  230 , and/or to play out audio data received from the communication interface. Here, the image information can be a plotting instruction, original image information or compressed image data. 
     Similarly, the presentation device  300  includes a player  330 , a presentation control module  320  and a communication interface  310 , and the presentation device  400  includes a player  430 , a presentation control module  420  and a communication interface  410 . 
     The presentation device  200  needs to establish connection with the host  100  before actual presentation if it receives audio/video data wirelessly. In this case, the presentation device  200  can initiatively broadcast an information packet which includes: (1) a prescribed field, such as UUID, indicating that this device is a presentation device as defined in the present invention; (2) the name of the presentation device; (3) the IP address of the presentation device; (4) the physical display ability, such as resolution of 640×480, and the supported audio playing format of the presentation device; and (5) the capability of the decoder in the presentation controller, such as MPEG2 decoding capability. 
     Having received the information packet, the host  100  adds the name of the presentation device to a device list shown in  FIG. 2 , specifies simultaneously a remote presentation application corresponding to the presentation device and transmits a response, which contains (1) the name of the host, (2) the IP address of the host, and (3) a program list to be used in remote presentation. As shown in  FIG. 3 , after receiving this response, the presentation device  200  displays the program list for selection from the host  100  on the display screen, and thus a wireless connection is established between the presentation device  200  and the host  100  based on their IP address. The user of the presentation device  200  can select an application whose window is to be redirected to the presentation device  200  and send the program name to the host  100 . Then, the host  100  can start the selected application and create a display buffer area for the display device  200  according to its physical device resolution. The host  100  also creates an audio buffering area if the application to be displayed on the presentation device involves not only video, but also audio. 
     In another embodiment, the host  100  can broadcast a probe packet at regular time intervals, with the probe packet containing at least the name and the IP address of the host. The presentation device  200 , having received the probe packet, will send a response to the host  100  if it wants to establish connection with the host  100 . Such response includes: (1) a prescribed field, such as UUID, indicating that this device is a presentation device as defined in the present invention; (2) the name of the presentation device; (3) the IP address of the presentation device; (4) the physical display ability, such as resolution of 640×480, and the supported audio playing format of the presentation device; (5) the capability of the decoder in the presentation controller, such as MPEG2 decoding capability. In this way, the host  100  can establish connection with the presentation device based on the IP addresses after the reception of the response. 
     Now, as shown in  FIG. 2 , the user can click ‘add’ and select an application to be added to the list of monitored programs from a pop-up folder dialogue box. Meanwhile, the user can select a corresponding remote display list for the presentation device  200 . The monitored status of the selected application will be released if ‘delete’ is clicked on. If the user clicks ‘remote display’, the window of the application will be directly displayed on the presentation device  200 , as shown in  FIG. 3 . 
     In addition to the above case where a program is selected from the program list at the side of the remote display device and then a request is transmitted to the host for starting the selected application, the user can start the remote display program in the following approach: (1) executing the monitoring program directly on the host, with the monitoring program conducting post-processing as soon as it monitors the execution of the program; (2) directly double-clicking the program or selecting the program and then clicking the remote display button on the monitoring program interface. 
       FIG. 4  shows a flowchart of the operation procedure of the presentation system according to one embodiment of the present invention. 
     As mentioned above, the host  100  first creates a display buffering area and/or an audio buffering area for the application (S 110 ). Then, the monitoring program is run to specify an application window (S 120 ). While the specified application is running (S 130 : YES), the monitoring program enters the process space of the application via a system hook, searches for all functions related to audio/video output, such as BitBlt, Present, Waveout, etc., and modifies the pointers of these functions so as to direct the audio/video output to the above display buffering area and/or the audio buffering area (S 140 ). 
     Then, the host  100  intercepts the plotting instruction or a rendered image from the virtual display area and sends it to the presentation device (S 150 ), or MPEG2-compresses the updated display and video data each time and transmits them to the presentation device via a wireless connection (S 160 ). 
     Eventually, at the reception of the compressed data, the presentation device MPEG2-decodes the data for further display (S 170 ). 
     The foregoing description is intended to only illustrate several embodiments of the present invention. Those skilled in the art will understand that any modification and partial substitution made within the scope of the present invention should be encompassed by the scope of the present invention in the claims. Thus, the scope of the present invention should be defined by the appended claims.