1. Field of the Invention
The present invention pertains to the field of entertainment systems. More particularly, this invention relates to selecting from multiple versions of a television program for display in an entertainment system.
2. Background
A recent trend in the electronics and computer industry is the convergence of computer systems and more traditional entertainment system components. Such convergence allows an increasingly broad range of information to be made available for system users over and above the broadcast television programming which has long been provided via conventional televisions. Accompanying this convergence is the expansion of television programming transport media (e.g., the mechanism or “pipe” via which the programming is transported to the television). While analog broadcasts and analog cable were once the standard transport media for television programming, digital cable and digital satellite systems are becoming more and more commonplace. Additionally, other transport media, such as digital broadcasts, are starting to appear as options for viewers.
Using different transport media has increased the number of sources from which television programming can be received, and thus has also increased the number of television programs available for viewing. These increases are due to both the increase in number of transport media, as well as the additional bandwidth capabilities of some of the newer types of transport media. Additionally, other “local” sources (e.g., video cassette recorders) can also supply programming, thereby further increasing the programming options available to users.
One problem facing users with these increased television programming options is the possibility for the receipt of multiple versions of essentially the same program from multiple sources. For example, two different sources may be broadcasting the same movie at approximately the same time. Differences may exist between these multiple versions and because of these differences a user may prefer to view one over the other. However, given the large selection of television programming options available to the user, locating such different versions can be difficult. Furthermore, the ability for the user to know which version he or she prefers is often difficult, as these differences are typically not made available to the user.
Therefore, a need exists for an improved way to select from multiple versions of a television program.
A method and apparatus for selecting from multiple versions of a television program is described herein. According to one aspect of the present invention, a computerized method includes identifying multiple versions of a television program that are available from one or more different sources, and displaying a selected one of the multiple versions of the television program.
According to one aspect of the present invention, an article includes a storage medium, the storage medium having stored thereon a plurality of instructions that, when executed by a processor, result in identifying multiple versions of a television program that are available from one or more different sources, and displaying a selected one of the multiple versions of the television program.
According to one aspect of the present invention, an apparatus includes a selection controller to identify multiple versions of a television program that are available from one or more different sources, and a device controller, coupled to the selection controller, to display a selected one of the multiple versions of the television program.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
In the following detailed description numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances well known methods, procedures, components, and circuits have not been described in detail so as not to obscure the present invention.
Parts of the description will be presented in terms of operations performed by a computer system, using terms such as data, flags, bits, values, characters, strings, numbers and the like, consistent with the manner commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. As is well understood by those skilled in the art, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical and electrical components of the computer system; and the term computer system includes general purpose as well as special purpose data processing machines, systems, and the like, that are standalone, adjunct or embedded.
Additionally, various operations will be described as multiple discrete steps in turn in a manner that is helpful in understanding the present invention. However, the order of description should not be construed as to imply that these operations are necessarily order dependent, in particular, the order of their presentations.
The present invention provides a method and apparatus for selecting from multiple versions of a television program. Different versions of a television program may be available to a user, and each version may have different characteristics, such as being in different languages, viewing formats, etc. The present invention identifies different versions of a program and selects, either automatically or in response to user input, one of the multiple versions for display.
As used herein, a “program” or “television program” refers to a video stream intended to be displayed on a television or other display device. The video stream may also include audio signals to be played in conjunction with the video, and may also include various other information (closed captioning data, etc.). A “version” of a program refers to a particular transmission of the program, having particular characteristics, provided from a source(s). Different versions of a program can have different characteristics, including different video quality, audio quality, etc. Examples of programs include movies, television sitcoms, etc. Examples of different versions of a program include a movie transmitted in letterbox format, the same movie transmitted in standard television format, the same movie transmitted in “director's cut” version, etc.
In addition, system 100 includes speaker system 116, microphone 118, video camera 120 and a wireless input/output control device 132. In one embodiment, wireless I/O control device 132 is an entertainment system remote control unit which communicates with the components of system 100 through IR signals. In another embodiment, wireless I/O control device 132 may be a wireless keyboard and/or cursor control device that communicates with the components of system 100 through IR signals or RF signals. In yet another embodiment, wireless I/O control device 132 may be an IR or RF remote control device similar in appearance to a typical entertainment system remote control with the added feature of a track-ball or other cursor control mechanism that allows a user to position a cursor on a display of system 100.
At the core of system 100 is system controller 104 incorporated with the features of the present invention, configured to control a variety of features associated with the system components. As depicted, system controller 104 is coupled to each of the system components, as necessary, through I/O bus 108. In one embodiment, in addition to or in place of I/O bus 108, system controller 104 may be configured with a wireless communications transmitter (or transceiver), which is capable of communicating with the system components via IR signals or RF signals 108′. Regardless of the control medium, system controller 104 is configured to control each of the entertainment system components of system 100, although it is understood that each of the components may be individually controlled with wireless I/O device 132.
System controller 104 retrieves and stores entertainment programming information available from a wide variety of sources. During operation of system 100, system controller 104 dynamically configures the operating parameters of system 100 and offers additional value added features to enhance the user's enjoyment of system 100, as discussed in more detail below. In one embodiment, system controller 104 may be a computer system incorporated with the teachings of the present invention, as will be discussed in further detail below. In another embodiment, system controller 104 may be a “set-top” box endowed with the necessary processing power and incorporated with the teachings of the present invention. Regardless of the particular embodiment, system controller 104 may also be referred to as a “convergence system” designed to integrate the world of entertainment systems and computing platforms to achieve the beneficial results discussed in greater detail below.
Although the present invention is described in the context of the exemplary embodiments presented in the figures, based on the descriptions to follow, those skilled in the art will appreciate that the present invention is not limited to these embodiments and may be practiced in a variety of alternate embodiments. Accordingly, the innovative features of the present invention may be practiced in a system of greater or lesser complexity than that of the system depicted in
As illustrated in
In addition to programming input, system 100 is also configured with a number of general purpose control outputs 130 which may be configured to control any number of devices. In one embodiment, for example, as system controller 104 configures system 100 to display a movie, it may also dim the lights in the room to a predetermined level to further enhance the viewing environment. Control circuitry which allows a computing device to control, for example, lighting, thermostat settings, and other household appliances (via, for example, the electrical wiring in a house) are well known in the art and thus will not be described further.
Except for the incorporated teachings of the present invention (to be more fully described below), system controller 104 is intended to represent a broad category of computing devices known in the art. An example of such a computing device is a desktop computer system equipped with a high performance microprocessor(s), such as the Pentium® processor, Pentium® Pro processor, or Pentium® II processor manufactured by and commonly available from Intel Corporation of Santa Clara, Calif. Another example of such a computing device is an Internet “appliance” device, such as a WebTV™ Internet Terminal available from Sony Electronics Inc. of Park Ridge, N.J., or Philips Consumer Electronics Company of Knoxville, Tenn. It is to be appreciated that the housing size and design for system controller 104 may be altered, allowing it to better visually fit into system 100.
It is also to be appreciated that the several entertainment system components depicted in
Device controller 204 controls the various components within the entertainment system, such as those illustrated in
EPG controller 206 controls access to electronic programming guide (EPG) 212. EPG 212 is typically stored on a storage device within the entertainment system (such as a magnetic or optical disk), with selected portions being temporarily stored in system memory (such as random access memory). EPG controller 206 accesses EPG 212 and displays requested EPG data on a display device (e.g., device 102 of
Program selection controller 208 receives inputs from UI controller 210 regarding programs being displayed, as well as selections, if any, made by a user of the entertainment system. Program selection controller 208 accesses EPG 212 via EPG controller 206 to identify multiple versions of programs. Program selection controller 208 also selects which of multiple versions is to be displayed to the user. The selection from multiple versions of a program is discussed in more detail below.
According to one embodiment of the present invention, system controller 200 also includes user preferences 214. User preferences 214 identify preferred viewing options and/or viewing habits of the user(s) of the entertainment system. This preference information can be manually input to the system by the user(s), or alternatively can be generated by controller 200 based on monitored viewing behavior, or alternatively can be provided by another device (e.g., from a remote server). According to one implementation, program selection controller 208 utilizes user preferences 214 in selecting from multiple versions of a program, as discussed in more detail below.
According to one embodiment of the present invention, different users having different user preferences can use the system. Thus, in this embodiment, if the system is automatically selecting one of the multiple versions of program, then the system identifies the particular user prior to selecting one of the different versions in order to know the proper user preferences for comparison to program version characteristics. Identification of a particular user can be made in any of a variety of conventional manners, such as by a user id log-in process, voice recognition, etc. Alternatively, separate user preferences may not be maintained by the system. In this alternate embodiment a single global user preference is used for all system users when automatic selection is employed.
When a program selection is made, program selection controller 208 identifies alternate versions, if any, of the selected program, step 304. This identification process is carried out by accessing EPG 212 of
Upon completing the search of EPG 212, program selection controller 208 checks whether any alternate versions were identified, step 306. If no alternate versions were identified, then the process ends. However, if alternate versions were identified, then the operation of program selection controller 208 depends on whether controller 208 is configured to perform automatic or manual selection of alternate versions, step 308. According to one implementation, this configuration is user-definable. Alternatively, program selection controller 208 may be pre-configured to provide only manual or automatic selection.
If program selection controller 208 is configured to perform manual selection, then program selection controller 208 provides the user with the alternate versions, step 310. This provision can be in any of a wide variety of manners, such as displaying the options in a separate box or window on the display device, overlaying the current video display with the options, etc. Additionally, in one implementation, program selection controller 208 displays all the characteristics for each version to allow the user to make an informed decision as to which version is preferred. Alternatively, program selection controller 208 identifies the differences in characteristics between the different versions and hi-lights, or only displays, those differences.
Program selection controller 208 then waits to receive a user selection of one of the versions, step 312. System controller 200 then “tunes” to the appropriate source and/or channel for the selected version, step 314. It is to be appreciated that this source and/or channel can be from any of multiple components or sources, such as those illustrated in
Returning to step 308, if program selection controller 208 is configured to perform automatic selection, then program selection controller 208 automatically selects one of the versions based on user preferences 214, step 316. Program selection controller 208 compares the characteristics of each of the multiple versions of the program to the user preferences 214. The version having the most characteristics that conform to the user preferences 214 is then selected. System controller 200 then “tunes” to the appropriate source and/or channel for the selected version, step 314.
Each entry in table 400 includes various descriptive information regarding a particular program. This information includes a source identifier 402, channel transport medium 404, channel audio support 406, date 408, start time 410, program description 412, and multiple (n) program characteristics 414.
Source identifier 402 identifies the source of the program. This source can be a particular channel that can be tuned to (e.g., analog or digital broadcasts channels, cable channels, satellite broadcast channels, etc.), as well as other sources within the entertainment system that can provide programs (e.g., DVDs, video cassettes, web server addresses (such as servers on the Internet), etc.). Programs from such other devices would include, for example, movies on DVD or cassette that have been purchased or rented by a user and thus are available for the user's viewing. When a particular program is selected for viewing by a user, system controller 104 of
Channel transport medium 404 identifies the transport medium used by the source. Examples of such transport media include, but are not limited to, analog broadcast, digital broadcast, analog cable, digital cable, satellite, network (e.g., the Internet), digital video disk, and analog video cassette.
Channel audio support 406 identifies the types of audio that are supported by the source. Examples of such audio types include, but are not limited to, mono, stereo, Dolby™ Surround, Dolby™ Digital, Dolby™ Surround Pro Logic, Dolby™ AC3 Stereo, and THX™. It should be noted that the audio types supported by the source do not necessarily indicate the audio type used for a particular program. For example, a program may be broadcast in stereo even though the source support Dolby AC3™.
Date 408 identifies the date on which the program is available. Similarly, start time 410 identifies the time on that date at which the program begins. It should be noted that, depending on the source, different “wild cards” for date and start time can be used. For example, if the source is a video on demand source then the program may be available at any start time over a particular date period (e.g., during a particular month). By way of another example, if the source is DVD, then the program may be available at any time on any date.
Program description 412 provides a brief description of the program. This description can include information such as title, summary, actors/actresses, etc. Such information can be displayed to a user upon request.
Program characteristics 414 are multiple (n) characteristics regarding the program. The same or different characteristics may be stored for each of the different programs. These characteristics 414 can be used in determining which of multiple versions of a program is to be displayed to a user as discussed above. Examples of program characteristics that may be stored for each of the different programs include, but are not limited to: program duration (the program duration can be compared with the actual broadcast time for the program in order to determine the amount of commercial or pledge-break time inserted into the program), the availability of alternate audio (e.g., second audio program (SAP)), type of audio support for the program (e.g., mono, stereo, Dolby™ Surround, Dolby™ Digital, Dolby™ Surround Pro Logic, Dolby™ AC3 Stereo, and THX™), availability of enhanced programming (such as by the vertical blanking interval or digital simulcast, such as Intercast™ programming or Microsoft ETV), program rating (e.g., TVG, TV14, TVMA, etc.), language of subtitles, language of dubbing, language spoken in the program, screen format (e.g., standard TV or letterbox), whether the program is a director's cut version, availability of descriptive video service (e.g., a descriptive narration for sight-impaired viewers), availability of closed captioning, and color code (e.g., black and white, color, colorized).
Any of the information stored in the electronic programming guide can be used as a basis for distinguishing between different versions of a program. For example, particular audio quality levels or viewing formats (e.g., letterbox) may be preferred by a particular user. By way of another example, programs with fewer or no commercials (that is, those with shorter durations), or programs in a particular language may be preferred by a particular user. By way of yet another example, programs from particular sources, such as “free” broadcasts versus video on demand or a particular local broadcast channel may be preferred by a particular user.
In one embodiment, various electronic devices are also coupled to high performance I/O bus 506. As illustrated, analog tuner/digital satellite/cable devices 528, are also coupled to high performance I/O bus 506 to allow device 500 to “tune” to various programming input channels.
These elements 502-528 perform their conventional functions known in the art. In particular, network/communication interface 524 is used to provide communication between device 500 and any of a wide range of conventional networks, such as an Ethernet, token ring, the Internet, etc. It is to be appreciated that the circuitry of interface 524 is dependent on the type of network the device 500 is being coupled to.
Mass storage 520 is used to provide permanent storage for the data and programming instructions to implement the above described functions, whereas system memory 514 is used to provide temporary storage for the data and programming instructions when executed by processor 502. I/O ports 526 are one or more serial and/or parallel communication ports used to provide communication between additional peripheral devices which may be coupled to device 500.
It is to be appreciated that various components of device 500 may be re-arranged. For example, cache 504 may be on-chip with processor 502. Alternatively, cache 504 and processor 502 may be packaged together as a “processor module”, with processor 502 being referred to as the “processor core”. Furthermore, certain implementations of the present invention may not require nor include all of the above components. For example, mass storage 520, keyboard and pointing device 522, and/or network/communication interface 524 may not be included in device 500. Additionally, the peripheral devices shown coupled to standard I/O bus 508 may be coupled to high performance I/O bus 506; in addition, in some implementations only a single bus may exist with the components of device 500 being coupled to the single bus. Furthermore, additional components may be included in device 500, such as additional processors, storage devices, or memories.
In one embodiment, the method and apparatus for selecting from multiple versions of a television program according to the present invention as discussed above is implemented as a series of software routines run by device 500 of
In alternate embodiments, the present invention is implemented in discrete hardware or firmware. For example, one or more application specific integrated circuits (ASICs) could be programmed with the above described functions of the present invention. By way of another example, controllers 204-210 of
In the discussions above, reference is made to multiple version options being displayed to a user after all version options have been identified by program selection controller 208 of
Thus, it can be seen that the method and apparatus of the present invention advantageously identifies multiple versions of a television program and provides one of those versions for display. The present invention can advantageously locate other versions of a program from a wide variety of sources that more closely conform to the user's preferences, and thus make the user's viewing of the program more enjoyable.
Thus, a method and apparatus for selecting from multiple versions of a television program has been described. Whereas many alterations and modifications of the present invention will be comprehended by a person skilled in the art after having read the foregoing description, it is to be understood that the particular embodiments shown and described by way of illustration are in no way intended to be considered limiting. References to details of particular embodiments are not intended to limit the scope of the claims.
This application is a division of application Ser. No. 09/779,779 filed Feb. 8, 2001, entitled Method and Apparatus for Selecting from Multiple Versions of a Television Program, which is a division of application Ser. No. 09/183,277, filed Oct. 30, 1998, entitled Method and Apparatus for Selecting a Version of an Entertainment Program Based on User Preferences, issued Jul. 15, 2003 as U.S. Pat. No. 6,594,825, the priorities of both applications are hereby claimed.
Number | Name | Date | Kind |
---|---|---|---|
5444499 | Saitoh | Aug 1995 | A |
5488410 | Lieberfarb et al. | Jan 1996 | A |
5534911 | Levitan | Jul 1996 | A |
5550576 | Klosterman | Aug 1996 | A |
5559949 | Reimer et al. | Sep 1996 | A |
5564088 | Saitoh | Oct 1996 | A |
5585838 | Lawler et al. | Dec 1996 | A |
5585865 | Amano et al. | Dec 1996 | A |
5594492 | O'Callaghan et al. | Jan 1997 | A |
5596373 | White et al. | Jan 1997 | A |
5629733 | Youman et al. | May 1997 | A |
5657072 | Aristides et al. | Aug 1997 | A |
5666645 | Thomas et al. | Sep 1997 | A |
5684525 | Klosterman | Nov 1997 | A |
5684918 | Abecassis | Nov 1997 | A |
5686954 | Yoshinobu et al. | Nov 1997 | A |
5724472 | Abecassis | Mar 1998 | A |
5729825 | Kostreski et al. | Mar 1998 | A |
5734853 | Hendricks et al. | Mar 1998 | A |
5751282 | Girard et al. | May 1998 | A |
5798785 | Hendricks et al. | Aug 1998 | A |
5801753 | Eyer et al. | Sep 1998 | A |
5801787 | Schein et al. | Sep 1998 | A |
5844620 | Coleman et al. | Dec 1998 | A |
5883677 | Hofmann | Mar 1999 | A |
5900915 | Morrison | May 1999 | A |
5912664 | Eick et al. | Jun 1999 | A |
5945988 | Williams et al. | Aug 1999 | A |
5977964 | Williams et al. | Nov 1999 | A |
5982411 | Eyer et al. | Nov 1999 | A |
5990927 | Hendricks et al. | Nov 1999 | A |
6003041 | Wugofski | Dec 1999 | A |
6005565 | Legall et al. | Dec 1999 | A |
6008802 | Iki et al. | Dec 1999 | A |
6018372 | Etheredge | Jan 2000 | A |
6020880 | Naimpally | Feb 2000 | A |
6025837 | Matthews, III et al. | Feb 2000 | A |
6075526 | Rothmuller | Jun 2000 | A |
6075971 | Williams et al. | Jun 2000 | A |
6151059 | Schein et al. | Nov 2000 | A |
6157377 | Shah-Nazaroff et al. | Dec 2000 | A |
6157411 | Williams et al. | Dec 2000 | A |
6163345 | Noguchi et al. | Dec 2000 | A |
6173112 | Gruse et al. | Jan 2001 | B1 |
6184918 | Goldschmidt et al. | Feb 2001 | B1 |
6226444 | Goldschmidt et al. | May 2001 | B1 |
6247176 | Schein et al. | Jun 2001 | B1 |
6295092 | Hullinger et al. | Sep 2001 | B1 |
6295646 | Goldschmidt et al. | Sep 2001 | B1 |
6317881 | Shah-Nazaroff et al. | Nov 2001 | B1 |
6341374 | Schein et al. | Jan 2002 | B2 |
6359580 | Morrison | Mar 2002 | B1 |
6424791 | Saib | Jul 2002 | B1 |
6446261 | Rosser | Sep 2002 | B1 |
6483987 | Goldschmidt et al. | Nov 2002 | B1 |
6507951 | Wugofski | Jan 2003 | B1 |
6519770 | Ford | Feb 2003 | B2 |
6594825 | Goldschmidt et al. | Jul 2003 | B1 |
6614987 | Ismail et al. | Sep 2003 | B1 |
6698020 | Zigmond et al. | Feb 2004 | B1 |
6701527 | Schein et al. | Mar 2004 | B2 |
6757912 | Vaughan et al. | Jun 2004 | B1 |
7080392 | Geshwind | Jul 2006 | B1 |
7360230 | Paz et al. | Apr 2008 | B1 |
7761892 | Ellis et al. | Jul 2010 | B2 |
7917922 | Schwab et al. | Mar 2011 | B1 |
8001564 | Hassell et al. | Aug 2011 | B2 |
20020080160 | Devito et al. | Jun 2002 | A1 |
20020108110 | Wugofski | Aug 2002 | A1 |
20020133820 | Arai et al. | Sep 2002 | A1 |
20050229214 | Young et al. | Oct 2005 | A1 |
20050251822 | Knowles et al. | Nov 2005 | A1 |
20060168620 | Schein et al. | Jul 2006 | A1 |
20130007808 | Ellis et al. | Jan 2013 | A1 |
Number | Date | Country |
---|---|---|
0872970 | Oct 1998 | EP |
WO 9517783 | May 1995 | WO |
Entry |
---|
Forsyth, Kevin, “History of the Delta Launch Vehicle: Delta, Satcom and the Cable Boom”, Published Nov. 20, 2002, source. |
International Search Report, PCT/US99/25560, Feb. 23, 2000, 4 pages. |
EP Supplementary Search Report, EP 99 97 1613, Nov. 7, 2002, 4 pages. |
Number | Date | Country | |
---|---|---|---|
20130133003 A1 | May 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09779779 | Feb 2001 | US |
Child | 13476761 | US | |
Parent | 09183277 | Oct 1998 | US |
Child | 09779779 | US |