Relevant subject matter is disclosed in co-pending U.S. patent applications entitled “PLAYING TELEVISION PROGRAM IN VIRTUAL ENVIRONMENT”, Attorney Docket Number US37795, U.S. application Ser. No. ______, Filed on ______, and “PLAYING TELEVISION PROGRAM IN VIRTUAL ENVIRONMENT”, Attorney Docket Number US37796, U.S. application Ser. No. ______, Filed on ______.
1. Technical Field
The disclosure generally relates to a method and a system for playing a television program in a virtual environment.
2. Description of Related Art
A user may watch television programs via a computer, which has a TV tuner module such as a built-in TV tuner card or a USB TV tuner stick. The TV tuner module is able to receive and process television signals and output video/audio stream. Many of the television programs are TV shopping programs, which provide the television viewers with sale information of goods. However, the sale information provided by those TV shopping programs often cannot fully meet the requirements of the viewer since the viewer desires more and more information. For example, the viewer may want to get more price information of a product in order to make an optimum decision from among a number of sellers. Therefore, there is room for improvement within the art.
Many aspects of the embodiments can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the embodiments. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
The computer system 100 can operate one or more virtual machine (VM) guests 1301, 1302 . . . 130N, collectively designated by a reference numeral 130, by installing a VM host 120 with a host operating system (OS) 122 for operating the VM guests 130. Each of the VM guests 130 may include a guest OS and one or more software applications. For example, the VM guest 1301 includes a guest OS 132 and a TV player application 134 that is installed and executable in the VM guest 1301.
The VM host 120 may control the hardware platform 110, present to the VM guests 130 virtualized hardware resources, and manage the VM guests 130. Multiple instances of the VM guests 130 may share the virtualized hardware resources and each of them may execute programs as if it was a physical machine.
The VM host 120 may provide a host window, in which a guest screen of one of the VM guests 130 can be presented. Each of the VM guests 130 may run multiple software applications in the corresponding host window. One software application of a VM guest may form one or more guest windows displayed in the guest screen of the VM guest to play as a user interface for itself.
The TV tuner module 119 may receive and process television signals and output video/audio stream. The television signals may be analog television signals or digital television signals, which depends on the television service provider. The TV tuner module 119 may be a TV tuner card with a PCI interface or a TV tuner stick with a USB interface. In some embodiments, the TV tuner module 119 may include a remote control receiver that may receive and identify remote commands from a remote control.
The TV player application 134, which is installed in the VM guest 1301, may operate and control the TV tuner module 119 to expose all features of the TV tuner module 119. The TV player application 134 may play the video/audio stream generated by the TV tuner module 119.
With reference to
The computer system 100 may be in communication with an electronic program guide (EPG) server 20 and a coupon server 25 via the network 30. The EPG server 20 may provide an EPG service. An EPG may provide users of television with continuously updated scheduling information for current and upcoming television programs. The television service provider via a television network, which is carried on the digital television signals, may also provide the EPG.
The coupon server 25 stores a plurality of coupons. A coupon can be exchanged for financial discount or rebate when purchasing a product, for example, a smart phone. The coupon server 25 may be provided by a web site, such as COUPONS.COM®.
The computer system 100 may assign a unique Internet protocol (IP) address for each of the VM guests 130 manually or automatically. The computer system may create an Address Resolution Protocol (ARP) table that stores and maintains IP addresses of the VM guests 130. The ARP table may further store a VM ID or an MAC address to mark a unique IP address for each VM guest. The VM ID is an identification key to identify a unique VM guest. The VM host 120 assigns the MAC address when the corresponding VM guest is created. Each of the VM guests 130 has a unique MAC address, which can be recognized in a local area network (LAN) or a wide area network (WAN) such as the Internet. The IP address of a VM guest can be acquired from the ARP table according to either the VM ID or the MAC address of the VM guest.
The VM host 120 may establish a connection channel based on transmission control protocol (TCP) between the VM host 120 and each of the VM guests 130. For example, when a connection channel is established between the VM host 120 and the VM guest 1301, the VM host 120 and the VM guest 1301 can communicate with each other.
In
In
The VM host 120 may generate one or more key words according to program information of the television program that is being played by the TV player application 134. The VM host 120 may obtain the program information from an EPG. The VM host 120 may connect to the EPG server 20 and download an EPG from the EPG server 20 via the network 30. If the television program is supplied by digital television signals, the VM guest 1301 may instruct the TV player application 134 to extract an EPG from the digital television signals and transmit the EPG to the VM host 120 via the connection channel established between the VM host 120 and the VM guest 1301. The VM host 120 may obtain the current television program information from the EPG and generate one or more key words, which are related to the television program.
In some embodiments, if the television program is supplied by digital television signals, the VM guest 1301 may instruct the TV player application 134 to extract closed captions from the digital television signals and transmit the closed captions to the VM host 120. The VM host 120 thus may generate one or more key words according to the closed captions.
The VM host 120 may send a query request with the one or more key words to the coupon server 25 via the network 30. The coupon server 25 may return one or more coupons according to the one or more key words to the VM host 120.
When the VM host 120 receives the one or more coupons from the coupon server 25, the VM host 120 can create a host window 220 displayed in the host screen 200 and display the one or more coupons in the host window 220. The host window 220 may be presented near one of the sides of the host window 210 and partially overlap the host window 210. For example, the host window 220 may be laid on the right side of the host window 210. In order not to disturb the viewer, the VM host 120 may provide the host window 220 with a transparent background. In some embodiments, the host window 220 may be in a long and narrow shape.
The VM host 120 may hide the host window 220 when the remote control receiver of the TV tuner module 119 receives a hide command from a remote control. When a unhide command is received and identified by the remote control receiver, the VM host 120 may unhide the host window 220.
When too many coupons are received from the coupon server 25 or the data of each of the coupons is too much to display in the host window 220 at one time, the VM host 120 may display the profiles of the coupons in the host window 220, for example the coupon titles, the coupon images and the abstracts. In
In
In step S601, the VM guest 1301 launches the TV player application 134 and instructs the TV player application 134 to play a television program in the guest screen of the VM guest 1301 which is presented in the host window 210.
In step S602, the VM host 120 may generate one or more key words according to program information of the television program, which is being played by the TV player application 134.
In step S603, the VM host 120 sends a query request with the one or more key words to the coupon server 25 via the network 30.
In step S604, the VM host 120 receives one or more coupons from the coupon server 25. According to the one or more key words, the coupon server 25 determines the one or more coupons.
In step S605, the VM host 120 creates a host window 220 displayed in the host screen 200.
In step S606, the VM host 120 displays the one or more coupons in the host window 220.
It is to be understood, however, that even though numerous characteristics and advantages have been set forth in the foregoing description of embodiments, together with details of the structures and functions of the embodiments, the disclosure is illustrative only and changes may be made in detail, especially in matters of shape, size, and arrangement of parts within the principles of the disclosure to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.
Depending on the embodiment, certain steps or methods described may be removed, others may be added, and the sequence of steps may be altered. It is also to be understood that the description and the claims drawn for or in relation to a method may include some indication in reference to certain steps. However, any indication used is only to be viewed for identification purposes and not as a suggestion as to an order for the steps.
Number | Date | Country | Kind |
---|---|---|---|
100102737 | Jan 2011 | TW | national |