Patent Description:
The conventional presentation system retrieves the frame picture from a computer playing the frame of a presentation and transmits the retrieved frame picture to a display device, such as a projector or a television, for presenting the extracted frame picture, whereby the audience can view the contents of the presentation. During a presentation, the speaker uses a laser pointer to project a light spot onto a projection screen or uses a mouse to control a mouse pointer, whereby to guide the audience to view the contents of the presentation. However, a participant is less likely to carry a laser pointer to a presentation and thus hard to interact with the speaker.

Accordingly, it becomes a target of the related manufacturers that the participants of a presentation can point out a specified position in the contents of a presentation to interact with the speaker.

<CIT> relates to a method for receiving and interacting with a set of presentation images by a user on a mobile device, during a presentation given by a presenter to a plurality of participants. It proposes a fully cloud-based system intended for hosts and audience members located remotely from each other.

Aspects of the invention are set out in the independent claims. Certain preferred features are set out in the dependent claims. Any examples not falling within the scope of the claims should be understood as background information useful for understanding the invention.

Below, embodiments are described in detail in cooperation with the attached drawings to make easily understood the objectives, technical contents, characteristics and accomplishments of the present invention.

The present invention will be described in detail with embodiments and attached drawings below. However, these embodiments are only to exemplify the present invention but not to limit the scope of the present invention. In addition to the embodiments described in the specification, the present invention also applies to other embodiments. Further, any modification, variation, or substitution, which can be easily made by the persons skilled in that art according to the embodiment of the present invention, is to be also included within the scope of the present invention, which is based on the claims stated below. Although many special details are provided herein to make the readers more fully understand the present invention, the present invention can still be practiced under a condition that these special details are partially or completely omitted. Besides, the elements or steps, which are well known by the persons skilled in the art, are not described herein lest the present invention be limited unnecessarily. Similar or identical elements are denoted with similar or identical symbols in the drawings. It should be noted: the drawings are only to depict the present invention schematically but not to show the real dimensions or quantities of the present invention. Besides, matterless details are not necessarily depicted in the drawings to achieve conciseness of the drawings.

Refer to <FIG>. In one embodiment of the present invention, the presentation system comprises a presentation server <NUM>, a presentation device <NUM> and a client device <NUM>. The presentation server is also called the presentation base unit, which functions like a set-top box (STB) of a digital TV. Generally, a presentation server receives external signal sources to display the contents of the external signal sources on a display device except the frames for turning-on, turning-off, setting, etc. The presentation server <NUM> includes a network interface <NUM>, a video connection port <NUM> and a processor <NUM>. The processor <NUM> is electrically connected with the network interface <NUM> and the video connection port <NUM>. The presentation server <NUM> is electrically connected with a display device <NUM> through the video connection port <NUM>. The video connection port <NUM> may be a video graphic array (VGA) connection port, a digital visual interface (DVI), or a high definition multimedia interface (HDMI). The network interface <NUM> is a wired network interface or a wireless network interface. It is preferred: the network interface <NUM> acts according to the IEEE801. <NUM> wireless communication standard. It should be noted: the network interface <NUM> may be an assembly of a plurality of network interfaces. For example, the presentation server <NUM> establishes a network connection with the presentation device <NUM> through a wired network interface and establishes a network connection with the client device <NUM> through a wireless network interface. However, the present invention is not limited by the abovementioned example. In one embodiment, the presentation server <NUM> establishes a network connection with the presentation device <NUM> through a wireless network interface and establishes a network connection with the client device <NUM> through a wired network interface. In other words, the presentation server <NUM> may select a wired network interface or a wireless network interface to establish network connections with the presentation device <NUM> and the client device <NUM> according to the scenarios. The processor <NUM> executes a data processing method to display a presentation frame on the display device <NUM>. In one embodiment, the data processing method is realized with computer software, wherein the computer software is loaded into the processor <NUM> to execute specified procedures and realize the data processing method.

Refer to <FIG> and <FIG>. Below is described the data processing method executed by the processor <NUM> of the presentation server <NUM>. The data processing method comprises Steps S10-S80. In Step S10, the presentation device <NUM> establishes a network connection with the presentation server <NUM>. In Step S20, the presentation device <NUM> transmits the frame data FA of the presentation to the presentation server <NUM>. For example, the operating system of the presentation device <NUM> uses a program to acquire a lossless frame picture, which is displayed by the presentation device <NUM> and also called the screenshot, to function as the frame data FA. Alternatively, the operating system of the presentation device <NUM> retrieves a single window frame, which executes specified software (such as presentation software), to function as the frame data FA. Thus, the frame data FA acquired by the presentation device <NUM> is completely identical to the corresponding frame of the display device <NUM>, i.e. information of the frame data is lossless. In Step S21, the presentation server <NUM> receives the frame data FA transmitted by the presentation device <NUM>. In Step S30, the presentation server <NUM> uses the frame data FA as the presentation frame FP and displays the presentation frame FP on the display device <NUM> electrically connected with the presentation server <NUM>. It should be explained herein: in order to match the resolution or display position of the display device <NUM>, the presentation server <NUM> converts the frame data FA into an appropriate presentation frame FP. Therefore, the frame data FA and the presentation frame FP may be identical or different. Then, the speaker undertakes the presentation in the conventional way. For example, the speaker projects a light spot onto the display device or controls a mouse pointer to guide the audience to view the contents of the presentation.

In Step S40, a participant operates the client device <NUM> to establish a network connection with the presentation server <NUM> if he intends to participate the presentation or interact with the speaker. It is easily understood: the client device <NUM> may establish a network connection with the presentation server <NUM> in advance, as shown by the dashed line. In Step S50, the presentation server <NUM> transmits the presentation frame FP to the client device <NUM>. In one embodiment, the client device <NUM> receives the presentation frame FP (Step S51) and uses a built-in display device <NUM> or an external display device <NUM> to display the presentation frame FP transmitted by the presentation server <NUM>. Then, the participant operates the pointing device of the client device <NUM> to control the relative position of the pointer <NUM> in the presentation frame FP. In Step S60, the client device <NUM> transmits pointer coordinates PC to the presentation server <NUM>. For example, the pointing device may be a mouse, a trackball, a touchpad, a pointing stick, or a touch panel. It is easily understood: displaying the presentation frame FP on the built-in display device <NUM> or the external display device <NUM> is favorable for the user to control the position of the pointer <NUM> in the presentation frame FP. In Step S61, the presentation server <NUM> receives the pointer coordinates PC transmitted by the client device <NUM>. In Step S70, the presentation server <NUM> displays a virtual pointer <NUM> on the presentation frame FP displayed by the display device <NUM> according to the pointer coordinates PC. Thus, the participant can interact with the speaker via controlling the virtual pointer <NUM>. In one embodiment, the presentation server <NUM> displays the virtual pointer <NUM> on the presentation frame FP in an on-screen display (OSD) method or an overlay window method. It is easily understood: as the virtual pointer <NUM> is corresponding to the pointer <NUM> of the client device <NUM>, the client device <NUM> does not necessarily display the virtual pointer <NUM>.

In one embodiment, the data processing method further comprises a step of selectively hiding the virtual pointer <NUM> on the presentation frame FP, i.e. not displaying the virtual pointer <NUM> on the presentation frame FP. For example, while the presentation server <NUM> does not receive pointer coordinates PC, a timer is triggered; while the counted time exceeds a preset value, the presentation server <NUM> hides the virtual pointer <NUM>. Alternatively, the speaker uses the presentation device <NUM> to output a control instruction to the presentation server <NUM> to make the presentation server <NUM> hide the virtual pointer <NUM> temporarily.

In one embodiment, the data processing method further comprises a step of displaying the track of the movement of the virtual pointer <NUM> according to the pointer coordinates PC, whereby to implement the function of annotation or hand drawing. For example, while transmitting the pointer coordinates PC, the client device <NUM> can simultaneously transmit the operating state of the pointing device, such as the button-pressed state and the button-released state. The presentation server <NUM> can realizes the function of annotation or hand drawing according to the pointer coordinates PC and the operating state of the pointing device. For example, while the user moves the virtual pointer <NUM> in the button-pressed state, the presentation server <NUM> enlarges the virtual pointer <NUM> and draws the movement track of the virtual pointer <NUM> on the presentation frame FP; while the user releases the button, the virtual pointer <NUM> is restored to the preset size, and the track of the moving virtual pointer <NUM> is not drawn on the presentation frame FP. It is easily understood: a touch panel may have the operating states of pressing the button and releasing the button via setting the touch panel appropriately. For example, a single finger touch, a multiple finger touch, and no touch may be used to represent different operating states.

In one embodiment, the data processing method comprises a step of transmitting the pointer coordinates PC to the presentation device <NUM> (Step S80). After the presentation device <NUM> receives the pointer coordinates PC (Step S81), the presentation device <NUM> displays a virtual pointer <NUM> on a display device of the presentation device <NUM> according to the pointer coordinates PC. In such a design, the speaker can view the display device of the presentation device <NUM> to interact with the participant controlling the virtual pointer <NUM>. In one embodiment, the presentation device <NUM> transmits frame data FA containing the virtual pointer <NUM> to the presentation server <NUM>, whereby less system resource of the presentation server <NUM> is spent in processing the virtual pointer <NUM>.

Refer to <FIG>. In one embodiment, the presentation server <NUM> establishes network connections with a plurality of presentation devices 20a and 20b and receives the frame data FA and FB respectively transmitted by the presentation devices 20a and 20b. The presentation server <NUM> converts the plurality of frame data FA and FB into the presentation frame FP and display the presentation frame FP on the display device <NUM>. In one embodiment, the presentation server <NUM> can simultaneously display the frame data FA and FB transmitted by different presentation devices 20a and 20b in a four grid screen, as shown in <FIG>. However, the present invention is not limited by the abovementioned embodiment. In other embodiments, the presentation server <NUM> displays the frame data FA and FB transmitted by different presentation devices 20a and 20b in a two grid screen, a nine grid screen, or a screen having grids of different sizes. For example, the contents of a presentation being discussed is displayed in a larger grid, and the contents of a presentation not discussed now is displayed in a smaller grid.

Refer to <FIG> again. In one embodiment, the presentation server <NUM> establishes network connections with a plurality of client devices 30a and 30b and receives a plurality of sets of pointer coordinates PCa and PCb transmitted by the plurality of client device 30a and 30b. The presentation server <NUM> displays a plurality of corresponding virtual pointer 111a and 111b on the presentation frame FP according to different sets of pointer coordinates PCa and PCb. The users of the client devices 30a and 30b control the positions of the virtual pointers 111a and 111b via controlling the pointers 31a and 31b. In one embodiment, different virtual pointers 111a and 111b respectively have different features for recognizing different users. For example, different virtual pointers 111a and 111b can be distinguished according to different shapes, different colors, or notations of different texts. In <FIG>, the virtual pointer 111a is in form of a circle, and the virtual pointer 111b is in form of a square.

Refer to <FIG>. In one embodiment, a presentation server 10a establishes a network connection with another presentation server 10b, whereby to synchronize the frame data they receive and display an identical presentation frame. To achieve the abovementioned objective, the data processing method further comprises a step: establishing a network connection between the presentation server 10a and the presentation server 10b. The presentation server 10a establishes network connections with presentation devices 20a and 20b and receives the frame data FA and FB transmitted by the presentation devices 20a and 20b. The presentation server 10b establishes a network connection with a presentation device 20c and receives the frame data FC transmitted by the presentation device 20c. For discrimination, the frame data FA and FB is called first frame data, and the frame data FC is called second frame data. The presentation server 10a receives the frame data FC transmitted by the presentation server 10b. The presentation server 10b receives the frame data FA and FB transmitted by the presentation server 10a. The presentation servers 10a and 10b respectively convert the received frame data FA, FB, and FC into the presentation frame FP. Then, the presentation frame FP is displayed on the display devices 11a and 11b respectively electrically connected with the presentation servers 10a and 10b. It is easily understood: the presentation servers 10a and 10b can be respectively disposed in different conference rooms or class rooms. For example, the presentation servers 10a and 10b can be respectively disposed at two sides of the dashed line in <FIG>. Thereby, the audiences in different conference rooms or class rooms can discuss the same presentation contents.

Refer to <FIG> again. It is easily understood: once any one of the presentation servers 10a and 10b receives the pointer coordinates PC transmitted by the client device, it will transmit the pointer coordinates PC to the other presentation servers. Thereby, all the display devices 11a and 11b in different conference rooms or different class rooms can display the virtual pointer <NUM>. For example, the client device <NUM> establishes a network connection with the presentation server 10b. Therefore, the presentation server 10b will transmit the presentation frame FP to the client device <NUM>, and the client device <NUM> will transmit the pointer coordinates PC to the presentation server 10b. In such a case, the presentation server 10b will transmit the pointer coordinates PC to the presentation server 10a. Thus, all the display devices 11a and 11b, which are respectively electrically connected with the presentation servers 10a and 10b, can display the virtual pointer <NUM>.

Owing to the setting of firewall or network configuration, a network connection may not be established between the presentation servers 10a and 10b. Refer to <FIG> for the solution of the problem. In one embodiment, the presentation servers 10a and 10b exchange pointer coordinates PC and frame data FA, FB and FC through a relay server <NUM>. In one embodiment, the relay server <NUM> executes a data relay method to transfer the pointer coordinates PC and the frame data FA, FB, and FC.

The data relay method comprises a step of establishing network connections between the relay server <NUM> and a plurality of presentation servers 10a and 10b, wherein each presentation server establishes network connections with at least one presentation device or at least one client device. For example, the presentation server 10a establishes network connections with the presentation devices 20a and 20b; the presentation server 10b establishes network connections with the presentation device 20c and the client device <NUM>. It is easily understood: the presentation devices 20a and 20b transmit frame data FA and FB to the presentation server 10a; the presentation device 20c transmits the frame data FC to the presentation server 10b; the client device <NUM> transmits the pointer coordinates PC to the presentation server 10b. The relay server <NUM> receives the frame data FA, FB and FC and the pointer coordinates PC transmitted by the presentation server 10a and 10b. The relay server <NUM> converts the frame data FA, FB and FC into the presentation frame FP. Then, the relay server <NUM> transmits the presentation frame FP and the pointer coordinates PC to each of the presentation servers 10a and 10b.

It is easily understood: it is unnecessary for the relay server <NUM> to transmit the complete presentation frame FP. For example, the presentation server 10a has stored the frame data FA and FB transmitted by the presentation devices 20a and 20b; therefore, the relay server <NUM> only needs to transmit the frame data FC and the related frame configuration information to the presentation server 10a. Similarly, the presentation server 10b has stored the frame data FC transmitted by the presentation device 20c; therefore, the relay server <NUM> only needs to transmit the frame data FA and FB and the related frame configuration information to the presentation server 10b. In one embodiment, each presentation server has its own frame setting, such as the setting of resolution and update frequency; the relay server <NUM> modifies the presentation frame FP to match the frame setting and transmits the modified presentation frame FP to the corresponding presentation server. For example, the resolution of the display device 11a of the presentation server10a is set to be merely 800x600 pixels; the relay server <NUM> only needs to transmit the presentation frame FP having the same resolution.

Refer to <FIG>. In one embodiment, a presentation device 20d or a client device 30c may take part in the presentation via the relay server <NUM>. In other words, the presentation device 20d and the client device 30c may be regarded as indirectly establishing network connections with the presentation servers 10a and 10b. In one embodiment, the data relay method executed by the relay server <NUM> further comprises a step: displaying a virtual pointer <NUM> on the presentation frame FP according to the pointer coordinates PC and transmits the presentation frame FP to the client server 30c. Via the abovementioned design, the users at homes or in hotels can take part in the presentation from far ends.

It should be explained: a single electronic device can function as a presentation device and a client device simultaneously. Refer to <FIG> for an example. The presentation device 20d transmits the frame data FD to the relay server <NUM>. Besides, the presentation device 20d can also receive the presentation frame FP and thus may be regarded as a client device. As shown in <FIG>, the presentation device 20d can use an external display device 11c to display the presentation frame FP. In one embodiment, the presentation device 20d executes a computer program that generates a virtual pointer. Therefore, the presentation device 20d can execute the function of a client device and is thus regraded a client device. Generally speaking, an ordinary computer executing the function of generating a virtual pointer can function as a client device. The method for generating a virtual pointer is described below. Firstly, establish a network connection between a client device and a presentation server or a relay server. It is easily understood: the presentation server or the relay server has established network connections with at least one presentation device; the presentation device transmits a frame data to the presentation server or the relay server, and the presentation server or the relay server converts the frame data into a presentation frame. Next, the client device receives the presentation frame transmitted by the presentation server or the relay server. Next, the client device retrieves pointer coordinates the user inputs into the client device. For example, the user can input pointer coordinates with a mouse, a trackball, a touchpad, a pointing stick, or a touch panel. Then, the client device transmits the pointer coordinates to the presentation server or the relay server, and the presentation server or the relay server generates a virtual pointer on the presentation frame according to the pointer coordinates.

Claim 1:
A presentation server adapted to support interaction between a participant and a speaker of a presentation, comprising:
a network interface (<NUM>);
a video connection port (<NUM>) electrically connected with a display device (<NUM>); and
a processor (<NUM>) electrically connected with the network interface (<NUM>) and the video connection port (<NUM>), and configured to execute data processing, wherein the data processing when executed by the processor (<NUM>) enables the presentation server to:
respectively establish network connections with a presentation device (<NUM>) and a client device (<NUM>) through the network interface (<NUM>), wherein the client device (<NUM>) is configured to be operated by the participant to take part in the presentation and interact with the speaker of the presentation;
receive first frame data of a presentation transmitted by the presentation device (<NUM>);
convert the first frame data into a presentation frame for displaying the presentation frame on the display device (<NUM>);
transmit the presentation frame to the client device (<NUM>);
receive pointer coordinates transmitted by the client device (<NUM>), the pointer coordinates corresponding to a position of a pointer in the presentation frame controlled by using a pointing device of the client device (<NUM>); and
display on the display device (<NUM>) a virtual pointer (<NUM>) on the presentation frame according to the pointer coordinates; and
selectively hide the virtual pointer (<NUM>) in response to a timer exceeding a preset value, the timer being triggered when the presentation server does not receive pointer coordinates.