A method and apparatus for selecting a version of an entertainment program based on user preference includes receiving entertainment programing input, identifying multiple available versions of an entertainment program, identifying, for each of the multiple versions, a set of descriptive information regarding the respective version, accessing user preferences, and selecting one of the multiple versions for display based on a comparison of the descriptive information to the user preferences.

Patent
   6594825
Priority
Oct 30 1998
Filed
Oct 30 1998
Issued
Jul 15 2003
Expiry
Oct 30 2018
Assg.orig
Entity
Large
116
32
all paid
1. A method comprising:
receiving a selection of an entertainment program;
searching through an electronic program guide to identify alternate versions of the selected entertainment program, which start within a user specified period of time of the selected entertainment program, wherein the identified alternate versions are the same programs as the selected entertainment program;
identifying, for each of the identified alternate versions, a set of descriptive information regarding the version, the set of descriptive information includes duration of the version, type of audio support for the version, availability of enhanced programming for the version, language of subtitles in the version, language spoken in the version, and screen format of the version;
automatically choosing one of the versions for display based on the set of descriptive information; and
displaying the chosen version of the entertainment program.
2. A storage medium having stored thereon a plurality of instructions that, when executed by a processor, result in:
receiving a selection of an entertainment program;
searching through an electronic program guide to identify alternate versions of the selected entertainment program which start within a user specified period of the selected entertainment program, wherein the identified alternate versions are the same programs as the selected entertainment program;
identifying, for each of the identified alternate versions, a set of descriptive information regarding the version, the set of descriptive information includes duration of the version, type of audio support for the version, availability of enhanced programming for the version, language of subtitles in the version, language spoken in the version and screen format of the version;
automatically choosing one of the versions for display based on the set of descriptive information; and
displaying the chosen version of the entertainment program.
4. An apparatus comprising:
means for receiving a selection of an entertainment program;
means, coupled to the means for receiving, for searching through an electronic program guide to identify alternate versions of the selected entertainment program, which start within a user specified period of time of the selected entertainment program, wherein the identified alternate versions are the same programs as the selected entertainment program and, for each of the identified alternate versions, to identify a set of descriptive information regarding the version, the set of descriptive information includes duration of the version, type of audio support for the version, availability of enhanced programming for the version, language of subtitles in the version, language spoken in the version, and screen format of the version;
means for automatically choosing one of the versions for display; and
means for displaying, coupled to the means for automatically choosing, the chosen version of the entailment program.
3. An apparatus comprising:
a program guide controller to receive entertainment programming;
a selection controller coupled to the program guide controller to receive a selection of an entertainment program, search through an electronic program guide to identify alternate versions of the selected entertainment program which start within a user specified period of time of the selected entertainment program, wherein the identified alternate versions are the same programs as the selected entertainment program; identify, for each of the identified alternate versions, a set of descriptive information regarding the version, a automatically choose one of the versions for display based on the set of descriptive information, the set of descriptive information for each of the version includes duration of the version, type of audio support for the version, availability of enhanced programming for the version, language of subtitles in the version, language spoken in the version and screen format of the version; and
a device controller, coupled to the selection controller, to display the chosen version of the entertainment program.
11. An entertainment system controller comprising:
an I/O interface to receive entertainment programming;
a user interface to receive a selection of an entertainment program;
a programming guide memory comprising a set of descriptive information regarding each of multiple versions of an entertainment program, the set of descriptive information includes, of duration of the version, type of audio support for the version, availability of enhanced programming for the version, language of subtitles in the version, language spoken in the version, and screen format of the version;
a program guide controller to store the entertainment programming in put in the program guide memory;
a selection controller coupled to the program guide controller to access the program guide memory to automatically upon receipt of an entertainment program selection identify alternate versions of the selected entertainment program that are available, which start within a user specified period of time of the selected entertainment program, wherein the identified alternate versions are the same programs as the selected entertainment program and to choose one of the multiple versions for display based on the set of descriptive information; and
a device controller, coupled to the selection controller, to cause the display of the chosen version of the entertainment program on a display device.
5. The method of claim 1 further comprising displaying an identification of a channel transport medium for each of the identified alternate versions.
6. The method of claim 5, wherein the channel transport media include one or more of cable broadcast, satellite broadcast, radio frequency broadcast, telephone interface, computer network interface, CD-ROM, video disk, and video cassette.
7. The storage medium of claim 2 further comprising displaying an identification of a channel transport medium for each of the identified alternate versions.
8. The storage medium of claim 7, wherein the channel transport media include one or more of cable broadcast, satellite broadcast, radio frequency broadcast, telephone interface, computer network interface, CD-ROM, video disk, and video cassette.
9. The apparatus of claim 4 further comprising means for displaying an identification of a channel transport medium for each of the identified alternate versions.
10. The apparatus of claim 9, wherein the channel transport media include one or more of cable broadcast, satellite broadcast, radio frequency broadcast, telephone interface, computer network interface, CD-ROM, video disk, and, video cassette.
12. The apparatus of claim 11, wherein the selection controller is coupled to the device controller so that the device controller automatically displays the chosen version of the en entertainment program having the set of descriptive information most closely resembling a set of user preferences.
13. The apparatus of claim 11, wherein the selection controller is coupled to the device controller so that the device controller displays at least a portion of the set of descriptive information and wherein the entertainment system controller further comprises a user interface to receive a selection from a user choosing one of the multiple versions.
14. The entertainment system controller of claim 11 wherein the device controller causes a display to display an identification of a channel transport medium associated with an entertainment program on the display device.
15. The entertainment system controller of claim 14, wherein the channel transport media include one or more of cable broadcast satellite broadcast, radio frequency broadcast, telephone interface, computer network interface, CD-ROM, video disk, and video cassette.
16. The entertainment system controller of claim 11, wherein the program guide memory comprises a table of programs and wherein for each program the table includes an identification of the program and one or more of channel audio support, broadcast date, broadcast time, program duration, alternate audio channels, language, screen format, closed caption availability and a program description.
17. The method of claim 1, wherein the descriptive information comprises a table of programs and wherein for each program the table includes an identification of the program and one or more of channel audio support, broadcast date, broadcast time, program-duration, alternate audio channels, language, screen format, closed caption availability and a program description.
18. The storage medium of claim 2, wherein the descriptive information comprises a table of programs and wherein for each program the table includes an identification of the program and one or more of channel audio support, broadcast date, broadcast time, program duration, alternate audio channels, language, screen format, closed caption availability and a program description.
19. The apparatus of claim 3, wherein the descriptive information comprises a table of programs and wherein for each program the table includes an identification of the program and one or more of channel audio support, broadcast date, broadcast time, program duration, alternate audio channels, language, screen format, closed caption availability and a program description.
20. The apparatus of claim 11, wherein the selection controller is coupled to the device controller so that the device controller selects one of the versions of the entertainment program based on a set of user preferences.

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:

FIG. 1 is a block diagram illustrating the system components of an exemplary entertainment system in which one embodiment of the present invention may be practiced;

FIG. 2 is a block diagram illustrating the architecture of a system controller according to one embodiment of the present invention;

FIG. 3 is a flowchart illustrating the process of selecting from multiple versions of a program according to one embodiment of the present invention;

FIG. 4 illustrates the information stored in an electronic programming guide according to one embodiment of the present invention; and

FIG. 5 illustrates one embodiment of a computing device suitable for use with the present invention.

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 letter box format, the same movie transmitted in standard television format, the same movie transmitted in "director's cut" version, etc.

FIG. 1 is a block diagram illustrating the system components of an exemplary entertainment system in which one embodiment of the present invention may be practiced. System 100 includes television/display device 102, video recorder/playback device 106, digital video disk (DVD, also referred to as digital versatile disk) recorder/playback device 114, audio/video tuner and/or amplifier 110, audio playback/recorder device 122, and compact disc (CD) player 112, all coupled to a common input/output (I/O) bus 108. It is to be appreciated that the use of the common I/O bus 108 is for ease of explanation in the diagram only, and that a number of alternative means of routing input and output signals may be beneficially employed. For example, audio input and output could be routed with an appropriate number of independent audio "patch" cables, video signals may be routed with independent coaxial cables, and control signals may be routed along a two-wire serial line, or through infrared (IR) communication signals or radio frequency (RF) communication signals. By way of further example, audio, video, and/or control signals may also be routed along one or more buses in accordance with the Universal Serial Bus Specification, Revision 1.0 (Jan. 15, 1996), or the High Performance Serial Bus IEEE Standard 1394, IEEE std. 1394-1995, draft 8.0v3, approved Dec. 12, 1995.

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 FIG. 1. By way of example, devices may be added to system 100, or devices (e.g., video camera 120, microphone 118, DVD recorder/playback device 114, etc.) may be removed from system 100.

As illustrated in FIG. 1, system 100 can be configured to receive audio/video programming input via a wide variety of transport media. In one embodiment, system 100 receives programming input via any or all of the following transport media: cable broadcast 124, satellite broadcast 126 (e.g., via a satellite dish), very high frequency (VHF) or ultra high frequency (UHF) radio frequency communication of the broadcast networks 134 (e.g., via an aerial antenna), and/or the telephone/computer network interface 128. Further, it will be appreciated by those skilled in the art that cable broadcast input 124, satellite broadcast input 126 and VHF/UHF input 134 may include analog and/or digital programming (e.g., digital high definition television (HDTV) programming). Additionally, audio/video programming may be received from a CD-ROM, DVD, or other digital or analog storage device via a playback device of system 100 (e.g., DVD recorder/playback device 114). The Internet, an entertainment network, or other network may also provide audio/video programming, via, for example, interface 128.

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 FIG. 1 can be beneficially combined. By way of example, system controller 104 could be integrated into television/display device 102, DVD recorder/playback device 114, or audio/video tuner and amplifier 110.

FIG. 2 is a block diagram illustrating the architecture of a system controller according to one embodiment of the present invention. According to one implementation, system controller 104 of FIG. 1 is a system controller 200 of FIG. 2. As illustrated, system controller 200 includes operating system 202, device controller 204, electronic programming guide (EPG) controller 206, program selection controller 208, and user interface (UI) controller 210. Operating system 202 represents any of a wide variety of conventional operating systems (such as the Windows™ 95 or Windows™ 98 operating systems available from Microsoft Corporation of Redmond, Wash.), and operates to allow the controllers 204-210 to communicate with one another. Additionally, communication with other components within an entertainment system can also be provided by operating system 202, such as with the components illustrated in FIG. 1.

Device controller 204 controls the various components within the entertainment system, such as those illustrated in FIG. 1. Commands to change the various parameters of the components, such as channel selection or volume control, are sent to those components from device controller 204.

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 FIG. 1). EPG controller 206 services requests for information from the EPG from other components of controller 200, such as UI controller 210 and program selection controller 208.

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.

FIG. 3 is a flowchart illustrating the process of selecting from multiple versions of a program according to one embodiment of the present invention. An initial program selection is received by program selection controller 208 of FIG. 2 (for example, via user interface controller 210), step 302. This selection can be made in any of a wide variety of conventional manners, such as selection of a particular program from an EPG displayed on-screen. Selections could also be made in alternate manners, such as by input of a particular numerical channel, or selection of a channel control option (e.g., up or down arrows on a remote control device).

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 FIG. 2. Program selection controller 208 searches through the data of EPG 212 for different versions of the program that start within a threshold period of time of the start of the version corresponding to the original program selection. Typically, this threshold period of time is zero. However, in alternate implementations the period of time can range from zero (indicating the versions have the same start time) up to a maximum (e.g., five minutes) that can be user-definable. According to one implementation, different versions of a program are identified by searching EPG 212 for additional entries having the same identifier (e.g., movie title, sitcom name and episode number, etc.). It should be noted that the alternate versions of a program may be from different sources, or multiple versions may be available from the same source.

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 FIG. 1.

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.

FIG. 4 illustrates the information stored in an electronic programming guide according to one embodiment of the present invention. In the illustrated embodiment, the EPG includes information regarding all programs that are available to the entertainment system. For ease of explanation, the information in the EPG is illustrated as table 400. However, it is to be appreciated that the information can be stored in any of a variety of conventional manners using any of a wide variety of data storage structures, such as one or more linked lists, one or more arrays, etc.

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 FIG. 1 activates and "tunes" the appropriate devices, as necessary, for the identified source to be displayed on display device 102.

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-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 letter box), 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., letter box) 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.

FIG. 5 illustrates one embodiment of a computing device suitable for use with the present invention. According to one implementation, system controller 104 of FIG. 1 is a computing device 500 of FIG. 5. In the illustrated embodiment of FIG. 5, device 500 includes processor 502 and cache memory 504 coupled to each other as shown. Additionally, device 500 includes high performance input/output (I/O) bus 506 and standard I/O bus 508. Host bridge 510 couples processor 502 to high performance I/O bus 506, whereas I/O bus bridge 512 couples the two buses 506 and 508 to each other. Coupled to bus 506 are network/communication interface 524 and system memory 514. Coupled to bus 508 is mass storage 520, keyboard and pointing device 522, and I/O ports 526. Collectively, these elements are intended to represent a broad category of hardware systems, including but not limited to general purpose computer systems based on the Pentium® processor, Pentium® Pro processor, or Pentium® II processor, manufactured by Intel Corporation of Santa Clara, Calif.

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 FIG. 5. In this embodiment, controllers 204-210 of FIG. 2 are each implemented as a series of software routines. These software routines comprise a plurality or series of instructions to be executed by a processor in a hardware system, such as processor 502 of FIG. 5. Initially, the series of instructions are stored on a storage device, such as mass storage 520. It is to be appreciated that the series of instructions can be stored using any conventional storage medium, such as a diskette, CD-ROM, magnetic tape, DVD, laser disk, ROM, Flash memory, etc. It is also to be appreciated that the series of instructions need not be stored locally, and could be received from a remote storage device, such as a server on a network, via network/communication interface 524. The instructions are copied from the storage device, such as mass storage 520, into memory 514 and then accessed and executed by processor 502. In one implementation, these software routines are written in the C++ programming language. It is to be appreciated, however, that these routines may be implemented in any of a wide variety of programming languages.

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 FIG. 2 could be implemented in one or more ASICs of an additional circuit board for insertion into hardware system 500 of FIG. 5.

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 FIG. 2. According to alternate embodiments, different methodologies may be used in displaying version options to a user. According to one such alternate embodiment, indications of different versions are displayed to a user as the versions are identified. According to another embodiment, as soon as an exact match between user preferences and program version characteristics is made, the matching program is displayed to the user (no further searching need be performed).

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.

Shah-Nazaroff, Anthony A., Goldschmidt Iki, Jean M., Moore, Kenneth Alan, Williams, Christopher D., Buscheck, Gregory D.

Patent Priority Assignee Title
10015223, May 11 2012 Comcast Cable Communications, LLC Generation of dynamic content interfaces
10018371, May 12 2009 EcoFactor, Inc. System, method and apparatus for identifying manual inputs to and adaptive programming of a thermostat
10048706, Jun 14 2012 ECOFACTOR, INC System and method for optimizing use of individual HVAC units in multi-unit chiller-based systems
10154318, Feb 06 2001 Rovi Guides, Inc. Systems and methods for providing audio-based guidance
10230799, Dec 16 2005 Comcast Cable Communications, LLC Method of using tokens and policy descriptors for dynamic on demand session management
10254775, Jul 07 2008 EcoFactor, Inc. System and method for using ramped setpoint temperature variation with networked thermostats to improve efficiency
10393398, Aug 20 2010 EcoFactor, Inc. System and method for optimizing use of plug-in air conditioners and portable heaters
10419817, Sep 07 2010 OPENTV, INC. Smart playlist
10534382, Jul 14 2008 EcoFactor, Inc. System and method for using a wireless device as a sensor for an energy management system
10584890, May 26 2010 EcoFactor, Inc. System and method for using a mobile electronic device to optimize an energy management system
10612983, Sep 17 2007 EcoFactor, Inc. System and method for evaluating changes in the efficiency of an HVAC system
10778930, May 30 2007 Comcast Cable Communications, LLC Selection of electronic content and services
11074308, Sep 07 2010 OPENTV, INC. Collecting data from different sources
11284036, May 30 2007 Comcast Cable Communications, LLC Selection of electronic content and services
11405916, Nov 30 2015 AT&T Intellectual Property I, L.P. Method and apparatus for automated signal analysis and reporting among RF receiver devices
11593444, Sep 07 2010 OPENTV, INC. Collecting data from different sources
11641442, May 30 2007 Comcast Cable Communications, LLC Selection of electronic content and services
11843827, Sep 07 2010 OPENTV, INC. Smart playlist
6910191, Nov 02 2001 WSOU INVESTMENTS LLC Program guide data selection device
6965415, Jan 04 2002 Rovi Technologies Corporation EPG-conditioned letterbox-to-anamorphic conversion
6976228, Jun 27 2001 Nokia Technologies Oy Graphical user interface comprising intersecting scroll bar for selection of content
7080392, Dec 02 1991 Process and device for multi-level television program abstraction
7117516, Jan 19 2000 Individual Networks LLC Method and system for providing a customized media list
7240356, Oct 30 1998 Intel Corporation Method and apparatus for displaying differences in the characteristics of multiple versions of an entertainment program
7554606, Jan 04 2002 Rovi Technologies Corporation EPG-conditioned letterbox-to-anamorphic conversion
7633553, Jan 04 2002 Rovi Technologies Corporation EPG-conditioned letterbox-to-anamorphic conversion
7721310, Dec 05 2000 S I SV EL SOCIETA ITALIANA PER LO SVILUPPO DELL ELETTRONICA S P A Method and apparatus for selective updating of a user profile
7848900, Sep 16 2008 ECOFACTOR, INC System and method for calculating the thermal mass of a building
7886319, Apr 03 2000 Providing alternative services based on receiver configuration and type of display device
7886325, Nov 10 2000 Systems and methods for dynamically allocating bandwidth in a digital broadband delivery system
7903577, Sep 07 2005 Optimizing data rates for video services to a subscriber
7908116, Aug 03 2007 ECOFACTOR, INC System and method for using a network of thermostats as tool to verify peak demand reduction
7908117, Aug 03 2007 ECOFACTOR, INC System and method for using a network of thermostats as tool to verify peak demand reduction
7917920, Apr 03 2000 System for providing alternative services
7930713, Apr 03 2000 Providing alternative services based on receiver configuration and type of display device
7930717, Jun 29 2001 Graphic user interfaces for purchasable and recordable media (PRM) downloads
7934232, May 04 2000 Cisco Technology, Inc Navigation paradigm for access to television services
7934235, Jun 11 1999 Channel control system for exiting from an interactive program guide
7934240, Jun 09 2000 Video on demand system with dynamic enablement of random-access functionality
7934241, Jun 11 1999 Video on demand system with selectable options of configurable random-access control
7934242, Nov 10 2000 Systems and methods for dynamically allocating bandwidth in a digital broadband delivery system
7934245, Mar 26 1999 Sony Corporation Audio and/or video signal transmission system, transmitting apparatus and receiving apparatus thereof
7961643, Sep 07 2005 INTERDIGITAL CE PATENT HOLDINGS Optimizing data rates for video services to a subscriber
7962370, Jun 29 2000 Cisco Technology, Inc Methods in a media service system for transaction processing
7966635, Jun 29 2001 Updating download options for unavailable media content
7970921, Jun 09 2000 Managing removal of media titles from a list
7975277, Apr 03 2000 NDS Limited System for providing alternative services
7983307, Mar 27 2002 Apple Inc Communication apparatus and communication method
7992163, Jun 11 1999 NDS Limited Video-on-demand navigational system
7992166, Apr 03 2000 SYNAMEDIA LIMITED Providing alternative services based on receiver configuration and type of display device
8001576, Sep 11 2001 Sony Corporation Information providing system, information processing apparatus and information processing method for transmitting sound and image data
8006262, Jun 29 2001 Cisco Technology, Inc Graphic user interfaces for purchasable and recordable media (PRM) downloads
8006273, Jun 29 2001 SYNAMEDIA LIMITED Updating download options for unavailable media content
8010237, Jul 07 2008 ECOFACTOR, INC System and method for using ramped setpoint temperature variation with networked thermostats to improve efficiency
8019567, Sep 17 2007 ECOFACTOR, INC System and method for evaluating changes in the efficiency of an HVAC system
8020184, Jun 11 1999 SYNAMEDIA LIMITED Channel control system for exiting from an interactive program guide
8032914, Nov 10 2000 Cisco Technology, Inc Systems and methods for dynamically allocating bandwidth in a digital broadband delivery system
8037504, Jun 11 1999 SYNAMEDIA LIMITED Video on demand system with selectable options of configurable random-access control
8056106, Jun 09 2000 SYNAMEDIA LIMITED Video on demand system with dynamic enablement of random-access functionality
8069259, Jun 09 2000 SYNAMEDIA LIMITED Managing removal of media titles from a list
8090477, Aug 20 2010 ECOFACTOR, INC System and method for optimizing use of plug-in air conditioners and portable heaters
8099508, Dec 16 2005 Comcast Cable Communications, LLC Method of using tokens and policy descriptors for dynamic on demand session management
8131497, Sep 17 2007 EcoFactor, Inc. System and method for calculating the thermal mass of a building
8131506, Aug 03 2007 EcoFactor, Inc. System and method for using a network of thermostats as tool to verify peak demand reduction
8161388, Jan 21 2004 TECH 5 SAS Interactive discovery of display device characteristics
8180492, Jul 14 2008 ECOFACTOR, INC System and method for using a networked electronic device as an occupancy sensor for an energy management system
8189472, Sep 07 2005 TECH 5 SAS Optimizing bandwidth utilization to a subscriber premises
8191093, Jun 29 2001 SYNAMEDIA LIMITED Providing information pertaining to audio-visual and personal bi-directional services
8281024, Dec 16 2005 Comcast Cable Communications, LLC Method of using tokens and policy descriptors for dynamic on demand session management
8312061, Feb 10 2009 Harman International Industries, Incorporated System for broadcast information database
8340826, Aug 20 2010 EcoFactor, Inc. System and method for optimizing use of plug-in air conditioners and portable heaters
8352978, May 15 1998 Rovi Guides, Inc; TV GUIDE, INC ; UV CORP Systems and methods for advertising television networks, channels, and programs
8412488, Aug 03 2007 EcoFactor, Inc. System and method for using a network of thermostats as tool to verify peak demand reduction
8423322, Sep 17 2007 EcoFactor, Inc. System and method for evaluating changes in the efficiency of an HVAC system
8490147, Nov 02 2004 Samsung Electronics Co., Ltd. System and method for collecting contents on audio/video network and controlling execution of the contents
8498753, May 08 2009 ECOFACTOR, INC System, method and apparatus for just-in-time conditioning using a thermostat
8504715, Dec 16 2005 Comcast Cable Communications, LLC Method of using tokens and policy descriptions for dynamic on demand session management
8516525, Jun 09 2000 INTERDIGITAL CE PATENT HOLDINGS Integrated searching system for interactive media guide
8556188, May 26 2010 ECOFACTOR, INC System and method for using a mobile electronic device to optimize an energy management system
8589982, Jun 03 2011 Sony Corporation Video searching using TV and user interfaces therefor
8596550, May 12 2009 ECOFACTOR, INC System, method and apparatus for identifying manual inputs to and adaptive programming of a thermostat
8615776, Jun 03 2011 Sony Corporation Video searching using TV and user interface therefor
8640172, Jun 29 2001 TECH 5 SAS System and method for characterization of purchasable and recordable media (PRM)
8707153, Jun 09 2000 SYNAMEDIA LIMITED Displaying comment data corresponding to a video presentation
8712590, Aug 20 2010 EcoFactor, Inc. System and method for optimizing use of plug-in air conditioners and portable heaters
8738327, Aug 03 2007 EcoFactor, Inc. System and method for using a network of thermostats as tool to verify peak demand reduction
8739212, May 04 2000 Cisco Technology, Inc Configuration of presentations of selectable TV services according to usage
8740100, May 11 2009 ECOFACTOR, INC System, method and apparatus for dynamically variable compressor delay in thermostat to reduce energy consumption
8745656, Feb 11 2002 TECH 5 SAS Tracking of presented television advertisements
8751186, Sep 17 2007 EcoFactor, Inc. System and method for calculating the thermal mass of a building
8782702, Oct 30 1998 Intel Corporation Method and apparatus for selecting a version of an entertainment program based on user preferences
8813123, Jan 19 2000 Individual Network LLC Content with customized advertisement
8840033, May 26 2010 EcoFactor, Inc. System and method for using a mobile electronic device to optimize an energy management system
8886488, Sep 17 2007 EcoFactor, Inc. System and method for calculating the thermal mass of a building
8935726, May 11 2012 Comcast Cable Communications, LLC Generation of dynamic content interfaces
8949871, Sep 08 2010 OPENTV, INC Smart media selection based on viewer user presence
8949901, Jun 29 2011 UV CORP ; TV GUIDE, INC ; Rovi Guides, Inc Methods and systems for customizing viewing environment preferences in a viewing environment control application
8949902, Feb 06 2001 UV CORP ; TV GUIDE, INC ; Rovi Guides, Inc Systems and methods for providing audio-based guidance
9008492, May 27 2011 Saturn Licensing LLC Image processing apparatus method and computer program product
9038107, Jan 19 2000 Individual Network, LLC Method and system for providing a customized media list
9057649, Sep 17 2007 EcoFactor, Inc. System and method for evaluating changes in the efficiency of an HVAC system
9134710, Jul 07 2008 EcoFactor, Inc. System and method for using ramped setpoint temperature variation with networked thermostats to improve efficiency
9137491, Feb 01 2000 Rovi Guides, Inc; TV GUIDE, INC ; UV CORP Methods and systems for forced advertising
9188994, Aug 20 2010 EcoFactor, Inc. System and method for optimizing use of plug-in air conditioners and portable heaters
9194597, May 12 2009 EcoFactor, Inc. System, method and apparatus for identifying manual inputs to and adaptive programming of a thermostat
9244470, Jul 14 2008 EcoFactor, Inc. System and method for using a wireless device as a sensor for an energy management system
9279594, May 11 2009 EcoFactor, Inc. System, method and apparatus for use of dynamically variable compressor delay in thermostat to reduce energy consumption
9288521, May 28 2014 Rovi Guides, Inc; TV GUIDE, INC ; UV CORP Systems and methods for updating media asset data based on pause point in the media asset
9380347, May 04 2000 Cisco Technology, Inc. Hypertext service guide menu display
9615139, Jan 21 2004 TECH 5 SAS Determining device that performs processing of output pictures
9678959, Jun 19 2009 INTERDIGITAL MADISON PATENT HOLDINGS Method of selecting versions of a document from a plurality of versions received after a search, and related receiver
9686595, Feb 06 2001 Rovi Guides, Inc. Systems and methods for providing audio-based guidance
9709292, May 26 2010 EcoFactor, Inc. System and method for using a mobile electronic device to optimize an energy management system
9800927, Sep 08 2010 OPENTV, INC. Smart media selection based on viewer user presence
9939333, Sep 17 2007 EcoFactor, Inc. System and method for evaluating changes in the efficiency of an HVAC system
9982905, May 11 2009 EcoFactor, Inc. System, method and apparatus for use of dynamically variable compressor delay in thermostat to reduce energy consumption
Patent Priority Assignee Title
5444499, Jan 08 1993 Sony Corporation Audio video apparatus with intelligence for learning a history of user control
5534911, Nov 02 1994 S F IP PROPERTIES 19 LLC Virtual personal channel in a television system
5564088, Jan 29 1993 Sony Corporation Broadcast signal receiver with means for prioritizing broadcast signals based on previous selections thereof
5585865, Mar 01 1994 Sony Corporation Television broadcast receiver which selects programs by genre and past viewing habits
5596373, Jan 04 1995 Sony Corporation; Sony Electronics INC Method and apparatus for providing program oriented information in a multiple station broadcast system
5629733, Nov 29 1994 Rovi Guides, Inc; TV GUIDE, INC ; UV CORP Electronic television program guide schedule system and method with display and search of program listings by title
5686954, Sep 29 1994 Sony Corporation Program information broadcasting method program information display method, and receiving device
5900915, Mar 18 1997 Thomson Consumer Electronics, Inc HD to SD guide converter for electronic television schedule system
5945988, Jun 06 1996 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system
5977964, Jun 06 1996 Intel Corporation Method and apparatus for automatically configuring a system based on a user's monitored system interaction and preferred system access times
5982411, Dec 18 1996 Google Technology Holdings LLC Navigation among grouped television channels
5990927, Dec 09 1992 COX COMMUNICATIONS, INC Advanced set top terminal for cable television delivery systems
6003041, Jan 05 1998 GATEWASY, INC Method and managing multiple channel maps from multiple input devices in a multimedia system
6005565, Mar 25 1997 Sony Corporation; SONY ELECTRONICS,INC Integrated search of electronic program guide, internet and other information resources
6008802, Jan 05 1998 Intel Corporation Method and apparatus for automatically performing a function based on the reception of information corresponding to broadcast data
6025837, Mar 29 1996 Rovi Technologies Corporation Electronic program guide with hyperlinks to target resources
6075526, Feb 13 1996 Hughes Electronics Corporation Method and apparatus for sorting and searching a television program guide based on user profile
6075971, Mar 27 1998 Intel Corporation Method and apparatus for providing and monitoring coupons via a network
6157377, Oct 30 1998 Intel Corporation Method and apparatus for purchasing upgraded media features for programming transmissions
6157411, Jun 12 1997 Intel Corporation Method and apparatus for compiling a repository of entertainment system data from multiple sources
6163345, Jan 04 1995 Sony Corporation; Sony Electronics, INC Method and apparatus for providing station and programming information in a multiple station broadcast system
6173112, Nov 28 1997 DISH TECHNOLOGIES L L C Method and system for recording in-progress broadcast programs
6184918, Sep 30 1997 HANGER SOLUTIONS, LLC Method and apparatus for monitoring viewing of broadcast data
6226444, Sep 30 1997 HANGER SOLUTIONS, LLC Method and apparatus for recording program data without commercials
6247176, Jun 14 1996 Rovi Guides, Inc Television schedule system and method of operation for multiple program occurrences
6295646, Sep 30 1998 Intel Corporation Method and apparatus for displaying video data and corresponding entertainment data for multiple entertainment selection sources
6317881, Nov 04 1998 Intel Corporation Method and apparatus for collecting and providing viewer feedback to a broadcast
6341374, Jun 14 1996 Rovi Guides, Inc Television schedule system and method of operation for multiple program occurrences
6424791, Mar 27 1998 Sony Corporation; Sony Electronics Inc. System and method for providing selection of timer recording
6483987, Sep 30 1997 HANGER SOLUTIONS, LLC Method and apparatus for recording program data without commercials
20020080160,
20020108110,
//////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Oct 30 1998Intel Corporation(assignment on the face of the patent)
Oct 30 1998GOLDSCHMIDT, JEAN M Intel CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0095630161 pdf
Oct 30 1998SHAH-NAZAROFF, ANTHONY A Intel CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0095630161 pdf
Oct 30 1998WILLIAMS, CHRISTOPHER D Intel CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0095630161 pdf
Oct 30 1998BUSCHECK, GREGORY D Intel CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0095630161 pdf
Oct 30 1998MOORE, KENNETH ALANIntel CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0095630161 pdf
Date Maintenance Fee Events
Jan 12 2007M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Jan 14 2011M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Dec 24 2014M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Jul 15 20064 years fee payment window open
Jan 15 20076 months grace period start (w surcharge)
Jul 15 2007patent expiry (for year 4)
Jul 15 20092 years to revive unintentionally abandoned end. (for year 4)
Jul 15 20108 years fee payment window open
Jan 15 20116 months grace period start (w surcharge)
Jul 15 2011patent expiry (for year 8)
Jul 15 20132 years to revive unintentionally abandoned end. (for year 8)
Jul 15 201412 years fee payment window open
Jan 15 20156 months grace period start (w surcharge)
Jul 15 2015patent expiry (for year 12)
Jul 15 20172 years to revive unintentionally abandoned end. (for year 12)