The present disclosure is generally related to television programming guides and, more particularly, is related to systems and methods for providing a personalized programming guide.
Cable television systems are now capable of providing many services in addition to analog broadcast video. In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the settop box, has become an important computing device for accessing various video services. In addition to supporting traditional analog broadcast video functionality, digital HCTs (or “DHCTs”) now also support an increasing number of two-way digital services.
A DHCT is typically connected to a cable or satellite television network and includes hardware and software necessary to provide various services and functionality. Some of the software executed by a DHCT can be downloaded and/or updated via the cable television network. Each DHCT also typically includes a processor, communication components and memory, and is connected to a television or other display device. While many conventional DHCTs are stand-alone devices that are externally connected to a television, a DHCT and/or its functionality may be integrated into a television or other device, as will be appreciated by those of ordinary skill in the art.
Many DHCTs provide users with television program information via electronic program guides (EPGs). Some EPGs automatically scroll through television channel listings to present program information that corresponds to respective channels and time periods. Other EPGs, also known as interactive program guides (IPGs), allow a user to scroll through and/or search available program information by providing input commands via a remote control device. As many DHCT users spend substantial amounts of time watching television and browsing through IPG listings, they have become very adept and comfortable at using IPGs. However, IPGs are often inconvenient in that they do not provide information that is sufficiently tailored to the user. Therefore, there exists a need to expand IPG functionality to provide users with easy and convenient systems and methods for accessing information specifically relevant to the individual user.
Thus, a heretofore-unaddressed need exists in the industry to address the aforementioned deficiencies and inadequacies.
The disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. In the drawings, like reference numerals designate corresponding parts throughout the several views.
a and 5b respectively depict non-limiting examples of monthly and daily calendar screens of an electronic calendar.
Preferred embodiments of the present disclosure will be herein described in the context of a digital home communication terminal (DHCT) that is coupled to a subscriber television system (STS) in communication with a local electronic device. In accordance with one implementation, the DHCT provides a user with personalized programming information that contains television programming listings from an interactive program guide (IPG) that correspond to scheduled events in an electronic calendar application residing in a local device. The local device may be, for example, a personal computer (PC), a multi-function mobile telephone, a personal digital assistant (PDA), or other consumer electronics device. An alternative embodiment may provide for entering scheduled event information directly into an IPG.
Below is a detailed description of the accompanying figures (
A local electronic device 150 capable of communicating with the DHCT 200 is also located at the customer premises 120. The local electronic device 150 provides one or more functionalities to a user including at least an electronic calendar and may be for example, a desktop computer, a notebook computer, a personal digital assistant (PDA) and a multi-function mobile telephone, among others. Information regarding events scheduled in the electronic calendar in the local electronic device 150 is transmitted from the local electronic device 150 to the DHCT 200 where it may be stored for comparison to the IPG database 240, as discussed below in reference to
Examples of how a DHCT 200 may discover a local electronic device 150 include the following scenarios, among others:
1) The DHCT 200 acts as a source of IP addresses using a Dynamic Host Configuration Protocol (DHCP). This approach may involve a local electronic device 150 contacting the DHCT 200 to obtain an IP address.
2) The DHCT 200 may synchronize with a local electronic device 150 (e.g., a computer) that supports plug-and-play operation.
3) One or more local electronic devices 150 are specifically programmed to contact the DHCT 200 to register themselves with it.
4) The DHCT 200 is informed of the existence of a local electronic device 150 via information provided by user input. The DHCT 200 uses this information to contact the local electronic device 150.
Preferably, once the DHCT 200 is aware of the existence of a local electronic device 150, then the two units may communicate using a suitable communications protocol. The DHCT 200, in one embodiment, may query the local electronic device 150 about the latter's capabilities. Furthermore, the DHCT 200 may use information received from the local electronic device 150 to compose a user-interface screen for providing instructions to the local electronic device 150. In one embodiment, the DHCT 200 communicates with the local electronic device 150 using one or more residential networking standard such as, for example, Bluetooth, CAL, CEBus, Convergence, emNET, HAVi, HomePNA, HomePlug, HomeRF, Jini, LonWorks, UPnP, 802.11A, 802.11B, 802.11G, 802.15.3 and VESA, among others.
A home network communications application (HNCA) 260 communicates with a local electronic device 150 via a home network interface (HNI) 290. The HNI 290 acts as an interface for transmitting and/or receiving data to/from a local electronic device 150. The HNI 290 may comprise, for example, a USB (Universal Serial Bus) connector, an Ethernet port, an IEEE-1394 connection, a serial port, a parallel port, a wireless radio frequency (RF) interface, a telephone line interface, a power line interface, a coaxial cable interface, and/or an infrared (IR) interface, among others. In one possible implementation, the HNI 290 may be coupled to a local electronic device 150 via an Ethernet hub. A driver for the HNI 290 may be included in the operating system (O/S) 231 or may otherwise be stored in memory 230.
Memory 230, which may include volatile and/or non-volatile memory, stores one or more programmed software applications, herein referred to as applications, which contain instructions that may be executed by the processor 210 under the auspices of the O/S 231. Data required as input by an application is stored in memory 230 and read by processor 210 from memory 230 as needed during the course of the application's execution. Input data for an application may be data stored in memory 230 by a secondary application or other source, either internal or external to the DHCT 200, or may be data that was created with the application at the time it was generated as a software application program. Data transmitted by the headend 110 may be received via the communications interface 222, whereas user input may be received from an input device via receiver 212. Data generated by an application is stored in memory 230 by processor 210 during the course of the application's execution. Availability, location and amount of data generated by one application for consumption by another application is communicated by messages through the services of the O/S 231.
The IPG application 238 displays a program guide to the user and populates the guide with information about television functionalities. The IPG 238 includes an IPG user interface module 239 component that creates an IPG for presentation to the user. The IPG user interface module 239 accesses configuration settings stored in an IPG configuration module 241 to implement an appropriate configuration for the IPG 238. The IPG 238 configuration module 241 includes a configuration database 243 for storing a plurality of IPG configurations. The IPG user interface module 239 populates the IPG 238 with information contained in an IPG database 240. The IPG database 240 contains data files corresponding to services that are available via the DHCT 200. This data may be compared to scheduled event information received from the electronic calendar application of the local device 150.
Based on the configuration information stored in the IPG configuration module 241, the IPG user interface module 239 utilizes the window manager 245 and other graphics utilities provided by the O/S 231 to render an IPG on the television 140. The window manager 245, which may also be part of the O/S 231, contains functionality for allocating screen areas and managing screen use among multiple applications. The O/S 231 provides primitives to the IPG user interface module 239 in order to help render images on the television 140 (
As a window is generated on a display device, the IPG user interface 239 registers with the window manager 245 in order to receive particular user input commands that may be required for selecting options provided by the newly-created window. The IPG 238 also contains a daemon application 246 that forwards IPG data received from the headend 110 or the local electronic device 150 to the IPG database 240. Such IPG data may include information about services and functionalities that are provided by the DHCT 200 and may be compared with the scheduled event information stored in the electronic calendar application of the local electronic device 150.
If a user selects a functionality instance corresponding to the storage of television programming, then the HNCA 260 may request that such television programming be stored in the storage device 280. When the DHCT 200 receives a video stream corresponding to the requested television programming, then the personal video recorder (PVR) application 270, in cooperation with an appropriate device driver, may effect the storage of the video stream in the storage device 280. The PVR application 270, in cooperation with an appropriate device driver, may effect the storage of a video stream in a storage device 280. The PVR application 270 may also effect the retrieval and presentation of a video stream including the provision of trick mode functionality such as fast forward, rewind, and pause. Under the methods and systems herein, the PVR application 270 may also effect the storage of a video stream in the storage device 280 during a scheduled event stored in an electronic calendar in the local electronic device 150.
The IPG application 238, the HNCA 260, the PVR application 270, the electronic calendar application, and all other applications executed by the resources of the DHCT 200 and the local electronic device 150 comprise executable instructions for implementing logical functions. The applications can be embodied in any computer-readable medium for use by or in connection with an instruction execution system. The instruction execution system may be, for example, a computer-based system, a processor-containing system, or any other system capable of executing instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can be, for example, but is not limited to, an electronic, solid-state, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium, either internal to the DHCT 200 or externally connected to the DHCT 200 via one or more communication ports or network interfaces. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a hard drive storage device (magnetic), a random access memory (RAM) (solid-state device), a read-only memory (ROM) (solid-state device), an erasable programmable read-only memory (EPROM or Flash memory) (multiple devices), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
In an alternative embodiment of this disclosure, different and/or additional systems and methods of providing user input may be used including, for example, a remote control device having different keys and/or key layouts, a keyboard device, a mouse, a voice activated input system, a touch-screen display, etc. The disclosure described herein is not limited by the type of device used to provide user input.
Reference is briefly made to
Reference is now made to
Reference is now made to
Within the personalized programming guide 600 are columns for the channel designation 620 and the program description 630. Although not illustrated, the personalized programming guide 600 could also include numerical channel designators, program descriptions, start and stop times, and content ratings, among others. The personalized programming guide 600 also includes a section for providing additional functions 640. For example, a user can view the television programming for the next “WHILE YOU'RE BUSY” timeslot by selecting the virtual NEXT button 644. Similarly, a user may view the television programming for previous “WHILE YOU'RE BUSY” timeslot by selecting the virtual PREVIOUS button 642. In the case where the personalized programming guide 600 does not display all of the television programming during a specific timeslot, the user may use the scroll UP 646 and scroll DOWN 648 virtual buttons to view the remaining television programming listings. Additionally, a viewer may select a program to be recorded by first selecting the program and then selecting the virtual RECORD button 645. Where the electronic calendar application resides in the local electronic device 150, the RECORD function is communicated to the DHCT 200 for scheduling. When the user is finished viewing the personalized programming guide 600, the virtual EXIT button 649 may be selected and the display will return to the calendar or other application.
A filter section 650 for filtering the displayed television programming is also included in the personalized programming guide 600. The filtering can be based on genre, such as SPORTS 652, or program delivery or presentation format, such as ON DEMAND 655, PPV 656 or HDTV 658, among others. Additionally, the user can program a CUSTOM 654 filter for selecting listings based on specific series, subjects, actors, and directors, among others.
Reference is now made to
Reference is now made to
Reference is now made to
In the case where the user has preferences regarding program content or program format, the personalized programming information can be optionally filtered based on numerous criteria 950. For example, the programming can be filtered by genre, such as sports, drama, comedy, and action. Other available filter criteria include, for example, program format, such as movies, series, documentaries, HDTV, PPV, specific channels or any combination of these. These filter options can be programmed, for example, as individual virtual buttons or in combination under user customized buttons.
After any optional filtering is performed, the personalized programming information is displayed 960. In addition to providing the user with a listing of the television programs that will be broadcast during the time the user is at the scheduled event, the user may optionally establish program sequence to record a program listed in the personalized programming information 970. The recording function can be accomplished, for example, through a personal video recorder/digital video recorder (PVR/DVR) device or through a combination of a recording device and an associated interface to the device, such as, for example, an IR blaster.
Reference is now made to
The date and time of the scheduled event is compared to an IPG to determine which television programming is scheduled for broadcast while the user is occupied at the scheduled event 1030. The resulting television programming information is generated and displayed as personalized programming information 1040. The user also has the option of filtering the personalized programming information 1050. As discussed above, for example, the programming can be filtered by genre, such as sports, drama, comedy, and action. Other available filter criteria include, for example, program format, such as movies, series, documentaries, HDTV, PPV, specific channels or any combination of these. These filter options can be programmed, for example, as individual virtual buttons or in combination under user customized buttons. The selective information resulting from any filtering is then displayed 1060.
After any optional filtering is performed 1050 and the personalized programming information is displayed 1060, the user may optionally establish program sequence to record a program listed in the personalized programming information 1070. The recording function can be accomplished, for example, through the PVR/DVR device or through a combination of a recording device and an associated interface to the device, such as, for example, an IR blaster.
Any blocks or steps shown in
The functionality provided by the method illustrated in
For example, hardware enjoys a speed and, arguably, a reliability advantage over software because hardware testing and verification methods are currently more advanced than software verification methods. On the other hand, software can be less expensive than customized hardware and offers greater flexibility in adding or modifying product features.
The functionality provided by the methods illustrated in
Thus, the computer-readable medium could be paper or other suitable medium upon which the computer program can be printed, scanned with an optical scanner, and transferred into the computer's memory or storage. It should be emphasized that the above-described embodiments of the present disclosure, particularly, any “preferred” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiments of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and the present disclosure and protected by the following claims.