# Patent

## Title
Integrated searching system for interactive media guide

## Abstract

The invention may be viewed as a system for providing media services to a user via an interactive media services client device coupled to a programmable media services server device. A method of the preferred embodiment of the invention includes receiving user input, searching media information stored in memory, and providing the user with a search result that is related to user input.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part of application Ser. No. 09/590,904, filed on Jun. 9, 2000 U.S. Pat. No. 8,079,047, which is entirely incorporated herein by reference.


FIELD OF THE INVENTION
This invention relates in general to television systems, and more particularly, to the field of interactive guides.
BACKGROUND OF THE INVENTION
With recent advances in digital transmission technology, cable television systems are now capable of providing much more than the traditional 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 media services and navigating a user through a maze of available 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 such as video-on-demand.
Typically, a DHCT is connected to a cable or satellite television network and includes hardware and software necessary to provide the functionality of the digital television system at the client's site. Preferably, some of the software executed by a DHCT is 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, such as a personal computer. 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 personal computer, as will be appreciated by those of ordinary skill in the art.
As more and more services and applications are provided, cable television systems are providing media information to the DHCT so that the user can view the media information on the DHCT display such as the television. This media information has traditionally been organized for presentation purposes into a media guide format that presents the media information by time and channel only. The media guide can, for instance, automatically scroll the available television channels to present the media information such as name and title, by time.
Many cable system operators include one or more dedicated channels that scroll through the channel list displaying the programs that not only are currently on, but also are scheduled to be on in the future. These types of passive displays do not rely on a terminal for presentation of the programming data and also lack the interactive functionality of permitting a user to scroll to a desired channel for a desired time. For example, the user typically must view the programming information as it scrolls on the display and wait for either the desired channel and/or the desired time to search for the media that may be available for viewing.
With the advent of program guide “browsers” for use in cable television systems, viewers (also referred to as “subscribers” or “users”) can scan television program information by time and channel while watching the tuned channel. In analog systems that offer a limited number of cable television channels, these browsers enable the viewer to easily scan available programs one-by-one in order of channel number. However, many digital systems can provide hundreds of channels as well as thousands of video-on-demand (VOD) movies. In such systems, scanning program information by channel numbers sequentially or by video titles alphabetically can require many keystrokes by the viewer and can consume tremendous amounts of time. Additionally, locating a particular program can be quite tedious if the viewer does not already know the name or number of the channel on which the program will be showing or whether the program is available as a video-on-demand option. As a result, there is a need for an interactive media guide that enables viewers to easily and efficiently locate media information that they are seeking.
SUMMARY OF THE INVENTION
The invention may be viewed as a system for providing media services to a user via an interactive media services client device coupled to a programmable media services server device. A method of the preferred embodiment of the invention includes receiving user input, searching media information stored in memory, and providing the user with a search result that is related to user input.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. In the drawings, like reference numerals designate corresponding parts or screen areas throughout the several views.
FIG. 1 is a block diagram of a cable television system in accordance with one preferred embodiment of the present invention.
FIG. 2 is a block diagram of the DHCT depicted in FIG. 1 and related equipment, in accordance with one embodiment of the present invention.
FIG. 3 depicts an example remote control device that is used to provide user input to the DHCT depicted in FIG. 2.
FIG. 4 depicts an example screen diagram that illustrates an initial guide arrangement in a time format that the DHCT as depicted in FIG. 2 presents the user.
FIG. 5 depicts an example screen diagram that illustrates a guide arrangement containing selectable time periods that the DHCT as depicted in FIG. 2 presents to the user.
FIG. 6 depicts an example screen diagram that illustrates a guide arrangement with a browse-by menu.
FIG. 7 depicts an example screen diagram that illustrates a guide arrangement used for displaying a search term that is received by the DHCT as depicted in FIG. 2.
FIG. 8 depicts an example screen diagram of the guide arrangement in FIG. 7 after a search term is received by the DHCT as depicted in FIG. 2.
FIG. 9 depicts an example screen diagram that illustrates a guide arrangement showing search results that the DHCT as depicted in FIG. 2 presents the user.
FIG. 10 depicts an example screen diagram that illustrates a method for a user to access the screen illustrated in FIG. 7.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The present invention is generally implemented as part of a cable television system (CTS). Hence, an illustrative CTS 10 and its operation will be described initially. FIG. 1 shows a block diagram view of a CTS 10, which is generally a high quality, reliable and integrated network system that features video, audio, voice and data services to DHCT users. Although FIG. 1 depicts a high level view of a CTS 10, it should be appreciated that a plurality of cable television systems can tie together a plurality of regional networks into an integrated global network so that DHCT users can receive content provided from anywhere in the world.
The CTS 10 delivers broadcast video signals as digitally formatted signals in addition to delivering traditional broadcast analog video signals. Furthermore, the system can support one way broadcast services as well as both one-way data services and two-way media and data services. The two-way operation of the network allows for user interactivity with services, such as Pay-Per-View programming, Near Video-On-Demand (NVOD) programming according to any of several known NVOD implementation methods, View-on-Demand (VOD) programming (according to any of several known VOD implementation methods), and interactive applications, such as Internet connections and interactive media Guide (IMG) applications.
The CTS 10 also provides the interfaces, network control, transport control, session control, and servers to access content and services, and distributes content and services to DHCT users. As shown in FIG. 1, a typical CTS 10 comprises a headend 11, hubs 12, an HFC access network 17, and users' digital home communication terminals (DHCTs) 16. It should be appreciated that although a single component (e.g. a headend) is illustrated in FIG. 1, a CTS 10 can feature a plurality of any one of the illustrated components or may be configured with alternative embodiments for any one of the individual components or with yet other additional components not enumerated above. A content provider (not shown) transmits media content to a headend for further transmission to users downstream in the network.
Content provided by a content provider is communicated by the content provider to one or more headends 11. From those headends the content is then communicated over a communications network 18 that includes a plurality of HFC access networks 17 (only one HFC access network 17 is illustrated). The HFC access network 17 typically comprises a plurality of HFC nodes 13, each of which may serve a local geographical area. The hub 12 connects to the HFC node 13 through a fiber portion of the HFC access network 17. The HFC node 13 is connected to a tap 14 which is connected to a network interface unit (NIU) 15 which is connected to a DHCT 16. The NIU 15 is normally located at a user's property and provides a transparent interface between the HFC node 13 and the users' internal wiring. Coaxial cables are typically used to couple nodes 13, taps 14 and NIUs 15 because the electrical signals can be easily repeated with radio frequency (RF) amplifiers.
As the high-level operations of many of the functions of CTSs 10 are well known to those of skill in the art, further description of the overall CTS 10 of FIG. 1 will not be contained herein. It will be appreciated, however, that the CTS 10 shown in FIG. 1 is merely illustrative and should not be construed as implying any limitations upon the scope of the present invention.
FIG. 2 is a block diagram illustrating a DHCT 16 (also referred to as an interactive media services client device) that is coupled to a headend 11, to a personal video recorder (PVR) 73, and to a television 41. A DHCT 16 is typically situated at a user's residence or place of business and may be a stand alone unit or integrated into another device such as, for example, a television set, a video recorder, or a personal computer. The DHCT 16 preferably includes a communications interface 42 for receiving RF signals, which can include video, audio and/or information data, from the headend 11 through the network 18 and for providing any reverse information to the headend 11 through the network 18.
The DHCT 16 further includes a processor 44 for controlling operations of the DHCT 16, an RF output system 48 for driving the television display 41, and a tuner system 45 for tuning into a particular television channel to be displayed and for sending and receiving various types of data from the headend 11. The tuner system 45 includes, in one implementation, an out-of-band tuner for bi-directional quadrature phase shift keying (QPSK) data communication and a quadrature amplitude modulation (QAM) tuner for receiving television signals.
The DHCT 16 is coupled to a personal video recorder (PVR) 73 via a communications port 74 and possibly via video and audio output ports of DHCT 16 connected to video and audio input ports of PVR 73 and/or video and audio output ports of PVR 73 connected to video and audio input ports of DHCT 16, as shown by the bi-directional horizontal arrow in FIG. 2. A personal video recorder (PVR) is a video recorder for recording media presentations, preferably via a digital recording mechanism. In an alternative embodiment, PVR functionality is integrated into the DHCT 16 or vice versa. In another alternate embodiment, multiple PVR units are connected to DHCT 16, one or more housed internal to DHCT 16 and one or more connected externally to DHCT 16 via one or more communication ports such as communication port 74.
PVR 73 comprises a local storage device (not shown) in which media can be written to and stored and later read from and retrieved for viewing or playing. The storage device can be a device such as a hard drive storage device based on magnetism principles or a compact disc readable and writeable device based on optical or laser technology principles.
The interactive media guide (IMG) client application 72 stores information in the IMG database 71 regarding media presentations that are currently available via the DHCT 16 or the personal video recorder 73. A receiver 46 receives externally-generated information, such as user inputs or commands from other devices. The user inputs may, for example, be provided via a remote control device 90, an infrared (IR) or wired keyboard (not shown), keys in the front panel of DHCT 16, or some other input device (not shown).
In one implementation, the DHCT 16 includes system memory 49, which includes flash memory 51 and dynamic random access memory (DRAM) 52, for storing various applications, modules and data for execution and use by the processor 44 of the DHCT 16. Both the flash memory 51 and the DRAM memory 52 are coupled to the processor 44 for storing configuration data and operational parameters, such as commands that are recognized by the processor 44. Basic functionality of the DHCT 16 is provided by an operating system 53 that is contained in flash memory 51. Among other things, the operating system 53 includes at least one resource manager 67 that provides an interface to resources of the DHCT 16 such as, for example, computing resources.
One or more programmed software applications, herein referred to as applications, are executed by utilizing the computing resources in the DHCT 16. The application executable program stored in flash memory 51 or DRAM memory 52 is executed by processor 44 (e.g., a central processing unit or digital signal processor) under the auspices of the operating system 53. Data required as input by the application program is stored in DRAM memory 52 or flash memory 51 and read by processor 44 as need be during the course of application program execution. Input data may be data stored in DRAM memory 52 by a secondary application or other source, either internal or external to the DHCT 16, or possibly anticipated by the application and thus created with the application program at the time it was generated as a software application program, in which case it is stored in flash memory 51. Data may be received via any of the communication ports of the DHCT 16, from the headend 11 via the DHCT's network communication interface 42 (i.e., the QAM or out-of-band tuners) or as user input via receiver 46. A type of input data fulfills and serves the purpose of parameters. Data generated by application program is stored in DRAM memory 52 by processor 44 during the course of application program execution.
An application referred to as navigator 55 is also resident in flash memory 51 for providing a navigation framework for services provided by the DHCT 16. The navigator 55 registers for and in some cases reserves certain user inputs related to navigational keys such as channel increment/decrement, last channel, favorite channel, etc. The applications may be resident in flash memory 51 or downloaded into DRAM 52. The navigator 55 also provides users with television related menu options that correspond to DHCT functions such as, for example, setting a program record operation to be effected with a personal video recorder (73), enabling a special access program (SAP), setting a sleep timer, adding a channel to a favorites list, providing an interactive media guide, blocking a channel or a group of channels from being displayed in a browse-by menu, activating parental control, and displaying a video-on-demand titles list etc. Some of the functionality performed by applications executed in the DHCT 16 (such as the VOD application 63) may instead be performed at the headend 11 and vice versa.
The flash memory 51 also contains a platform library 56. The platform library 56 is a collection of utilities useful to applications, such as a timer manager, a compression manager, a configuration manager, an HTML parser, a database manager, a widget toolkit, a string manager, and other utilities (not shown). These utilities are accessed by applications via application programming interfaces (APIs) as necessary so that each application does not have to contain these utilities. Two components of the platform library 56 that are shown in FIG. 2 are a window manager 59 and a client service application manager (SAM) 57.
The window manager 59 provides a mechanism for implementing the sharing of the screen regions and user input. The window manager 59 on the DHCT 16 is responsible for, as directed by one or more applications, implementing the creation, display, and de-allocation of the limited DHCT 16 screen resources. It allows multiple applications to share the screen by assigning ownership of screen regions, or windows. The window manager 59 also maintains, among other things, a user input registry 50 in DRAM 52 so that when a user enters a key or a command via the remote control device 90 or another input device such as a keyboard or mouse, the user input registry 50 is accessed to determine which of various applications running on the DHCT 16 should receive data corresponding to the input key and in which order. As an application is executed, it registers a request to receive certain user input keys or commands. When the user presses a key corresponding to one of the commands on the remote control device 90, the command is received by the receiver 46 and relayed to the processor 44. The processor 44 dispatches the event to the operating system 53 where it is forwarded to the window manager 59 which ultimately accesses the user input registry 50 and routes data corresponding to the incoming command to the appropriate application.
The Client SAM 57 is a client component of a client-server pair of components, with the server component being located on the headend 11. A SAM database 60 in DRAM 52 includes a data structure of media services and a data structure of channels that are created and updated by the headend 11. Many media services can be defined using the same application component, with different parameters. Examples of media services include, without limitation and in accordance with one implementation, presenting television programs (via a WATCHTV application 62), pay-per-view (PPV) events (via a PPV application 64), video-on-demand (via a VOD application 63), and media information gathering and display (via an IMG application 72). The term “media” is herein defined to include television programs, PPV events, VOD programs, graphical and textual based programs, and any other video and/or audio presentation or combinations thereof. In general, the identification of a media service includes the identification of an executable application that effects the media service and also includes a set of application-dependent parameters that indicate to the application the specific media service to be provided. As a non-limiting example, a service of presenting a television program could be executed with the WATCHTV 62 application with a set of parameters to view HBO or with a separate set of parameters to view CNN. Each association of the application component (tune video) and one parameter component (HBO or CNN) represents a particular service that has a unique service I.D. The Client SAM 57 also interfaces with the resource manager 67, as discussed below, to control resources of the DHCT 16.
Application clients can also be downloaded into DRAM 52 at the request of the Client SAM 57, typically in response to a request by the user or in response to a message from the headend. In this non-limiting example DRAM 52 contains a VOD application 63, an e-mail application 76, an IMG application 72, and a web browser application 75. It should be clear to one with ordinary skill in the art that these applications are not limiting and merely serve as examples for this present embodiment of the invention. Furthermore, one or more DRAM based applications may, as an alternative embodiment, be resident in flash memory 51 or vice versa. These applications, and others provided by the cable system operator, are top level software entities on the network for providing media services to the user.
In one implementation, applications executing on the DHCT 16 work with the navigator 55 by abiding by several guidelines. First, an application utilizes the Client SAM 57 for the provision, activation, and suspension of services. Second, an application shares DHCT 16 resources with other applications and abides by the resource management policies of the Client SAM 57, the operating system 53, and the DHCT 16. Third, an application handles situations where resources are unavailable without navigator 55 intervention. Fourth, when an application loses service authorization while providing a service, the application suspends the service via the SAM (the navigator 55 will reactivate an individual service application when it later becomes authorized). Finally, an application client is designed to not have access to certain user input keys reserved by the navigator (i.e., power, channel +/−, volume +/−, etc.). DRAM 52 also includes application memory 70 that various applications may use for storing and retrieving data.
The IMG client application 72 provides the user with a displayed presentation of media information that the IMG client application 72 retrieves from an IMG database 71 and/or from a remote application server via communication with such remote application server via communication interface 42. The media information includes the titles of media presentations, information identifying their respective service type (VOD, NVOD PPV, PVR, cable channel, or broadcast channel), the times that the media presentations will be available (if applicable) or the time a media program was recorded in PVR 73 with an expiration time for when the recorded program will be erased from PVR device. The media information also includes the channel numbers on which the respective media presentations will be available (if applicable) or PVR instead of channel with the channel in which it was received into DHCT 16 and recorded in parentheses next after PVR. Alternatively, a representative icon can be displayed to the user that signifies a recorded program.
The media information can further include duration of media programs, quality of media programs such as digital standard format, digital high-definition format, or analog format, the level of random access featured in the respective media programs, the levels of program copy or record entitlement, the cost associated with the respective media programs, and requirements to receive the respective media programs.
Any specific media information field can be visually communicated to the user with the employment of icons that denote corresponding meaning. For instance, the quality of media program can be displayed with an HD icon, SD icon, or an A icon. The level of random access can be denoted also with icons such as a “<<∥>>” to denote full random access as available in most VOD services and from recorded media, by “∥>” for pause and resume as available in Near Video-on-Demand (NVOD)service, or by a circle with a diameter bar or NA icon for no random access level as in the case of PPV or regular broadcast media. Likewise, other media information types such as the level of copying or recording entitlement, cost, and requirements can be communicated with icons to the user.
Levels of random access in the media information include the right to pause, stop, resume play, rewind and fast-forward the media program on a real-time basis. Levels of program copying or recording entitlement include whether the media program can be recorded at all, whether the media program is a previously recorded media program, and the quality at which the media program can be recorded as reflected by maximum bit rate and video and audio compression format.
Requirement information for receiving a media program includes TV type information such as an HDTV set or merely an NTSC analog TV, type of audio playback system, and/or subscription service requirement. As an example of a subscription service, a media program may be broadcast by a premium channel such as HBO and requires subscription to receive the HBO channel.
In one embodiment the IMG client application 72 stores relevant media information in the IMG database 71. The IMG database 71 may be a prepared database received via communication interface 42 of DHCT 16 from an IMG server counterpart at the headend 11 or some other remote location. In an alternative embodiment, other media applications (such as VOD application 63, PPV application 64, PVR application 77, and WATCHTV application 62) are responsible for storing relevant media information in the IMG database 71. In yet another embodiment, relevant media information is stored and retrieved from application memory 70 by the IMG application 72 by conducting search operations in the respective databases of the aforementioned applications. Furthermore, if an electronic program guide (EPG) application and respective database exist, the EPG database application stores relevant information in IMG database 71, otherwise IMG client application 72 would conduct search operations in the EPG database as well. The present invention is not limited by where or how the media information is stored or retrieved.
The IMG database 71 is structured with records, each record comprising multiple fields, each field containing data for a respective attribute of the record. A field may comprise a subrecord of multiple field entities. For example, the record for media information for a movie entitled “Election,” may contain a title field, and multiple subrecords, each subrecord comprises each instance of Election that the user can view. Hence, each subrecord may comprise fields for: service type attribute, channel number, quality attribute, a field to store level of random access attribute, a field to store level of copy/record attribute, etc. In one alternate embodiment, the IMG database 71 or parts thereof may reside in the storage device in PVR 73. Consequently, IMG client application 72 writes data to PVR 73 to store media information and reads data from PVR 73 to retrieve media information as necessary.
An executable program or algorithm corresponding to an operating system (OS) component, or to a client platform component, or to a client application, or to respective parts thereof, can reside in and execute out of DRAM 52 and/or flash memory 51. Likewise, data inputted into or outputted from any executable program can reside in DRAM 52 or flash memory 51. Furthermore, an executable program or algorithm corresponding to an OS component, or to a client platform component, or to a client application, or to respective parts thereof, can reside in flash memory 51, or in a local storage device connected to DHCT 16 and can be transferred into DRAM 52 for execution. Likewise, data input for an executable program can reside in flash memory 51 or a storage device and can be transferred into DRAM 52 for use by an executable program or algorithm. In addition, data outputted by an executable program can be written into DRAM 52 by an executable program or algorithm and can be transferred into flash memory 51 or into a storage device for storage purposes. The present invention is not limited by where or how data and/or applications are stored or retrieved.
Each of the above mentioned applications comprises executable instructions for implementing logical functions and can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch and execute the 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 not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive 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 random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), 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, and then stored in a computer memory.
FIG. 3 illustrates a non limiting example of a remote control device 90 that is used to provide user input to the DHCT 16. The remote control device 90 includes arrow buttons (such as arrow button 96) that are activated by a user to scroll through media information or to designate an option as the highlighted option. The select button 95 may be used to select a currently highlighted option or media title that is provided to the user. Other buttons that are available on the remote control device 90 will be discussed further below. Many alternative methods of providing user input might be used including a remote control device with different buttons and/or button layouts, a keyboard device, a voice activated device, etc. The invention described herein is not limited by the type of device used to provide user input.
With continued reference to FIGS. 2 & 3 throughout the remaining figures, FIG. 4 depicts an example interactive media guide screen 100 that illustrates an initial guide arrangement in a time format. As with other window examples discussed below, processor 44 executes program instructions of MOD client application 63 that cause it to direct the window manager 59 to create window 100 via display data that is formatted for television 41. Processor 44 stores the display data or parts thereof in DRAM 52 (as necessary) and transfers the display data to a display output system such as RF output system 48 wherein display data is converted to respective television signals and transmitted to television 41. Of course, the scope of the invention also includes any other method of causing the described windows to appear to the user.
The top left portion of the example screen 100 is a detailed focus area 101 that includes detailed channel information (channel number, channel name (HBO), media name, media description, duration, any episode information or rating, etc.) for an “in-focus” media corresponding to highlighted title area 102 in a main media title display area 106. The media presentation showing on the channel to which the DHCT 16 is currently tuned (for which audio is also playing, and which is typically the media occupying the full screen before the IMG client application 72 is activated) is displayed in a reduced screen area 103 in example screen 100. Immediately below the reduced screen area 103 is an information banner 104 showing the channel to which the DHCT 16 is currently tuned, the current day and date, and the current time. The middle left portion of example screen 100 includes a channel area 108 that is related to the selected ordering format and is described in more detail below. Heading portion 107 contains headings related to the information displayed in the channel area 108 and the main media title display area 106. The main media title display area 106 contains media titles corresponding to media presentations that are or will be available for viewing during the time periods listed under the heading portion 107. The highlighted title area 102 is centered in the main media title display area 106 enabling the user to scroll up and down to the various media titles listed in the main media title display area 106.
The main media title display area 106 includes media names organized in a grid of rows of channels and columns of time. The channel area 108 includes a vertical list of channels organized sequentially by channel number. The main media title display area 106 can be scrolled in both time and channel number dimensions. The time dimensions are a horizontal array of media names categorized in columns of times in which they are broadcast.
In this non-limiting example, the lowest channel in this channel list displayed in the channel area 108 is HBO which is shown as channel 1. Continuing with this non-limiting example, the left-most time column in the main media title display area 106 is set to include titles of media presentations scheduled to be broadcast about two hours into the future with the middle title being “in-focus” and corresponding to a media presentation on the lowest channel. Therefore, in this example, the movie “Election” which is on channel 1, is centered in the highlighted title area 102. It should be noted that the current media presentation shown in reduced screen area 103 and referenced in information banner 104, corresponds to a different channel (which in this example is channel 10) and not to the in-focus media on channel 1. The bottom area 105 of example screen 100 indicates options for the “A” 92, “B” 93, and “C” 94 buttons on the remote control device 90. The “A” button 92 is shown assigned to invoke a “Browse-by” menu which would function as discussed below. The “B” button 93 enables the user to select a different date for viewing or searching media data via example screen 100. Operation of the “C” button 94 results in the display of media titles in the main media title display area 106 which correspond to media presentations that are or will be playing during a time period that includes the current time, with the media title currently on the channel to which the DHCT is tuned highlighted and displayed in the “in focus” area 102 The times listed the heading portion 107 are updated accordingly.
FIG. 5 depicts an example time period selection screen illustrating a guide arrangement that is displayed following the activation of the “B” button 93 on the remote control device 90 while the initial guide arrangement 100 illustrated in FIG. 4 is being presented to a user. A list of time periods is displayed in an input portion 111 with the default in-focus time period being “Today & Tomorrow”. Example screen 110 enables a user to select a time period that corresponds to the media information that the user is interested in viewing or searching. In this non-limiting example, if a user wants to view or search media information for a time period other than the initially highlighted period, the remote control device 90 may be used to select an alternative time period that is listed in the input portion 111. In accordance with the preferred embodiment of the present invention, single dates and ranges of dates are available, including actual dates, e.g., “Sunday 9/3”, as well as relative dates, “Next 7 Days”, “Today and Tomorrow”, “Today Only” etc. Of course, other selections are available in other embodiments of the present invention. After a time period in input area 111 is selected, the search engine sub-component (not shown) of IMG client application 72 performs a search operation on IMG database 71 utilizing the information entered by the user. Search efficiency is facilitated by structuring database into fields that can be indexed into with individual search categories guiding the search engine to particular fields of the records in the database. The search operation produces data retrieved from IMG database 71 that comprises a subset of media information satisfying the search criteria entered by the user. IMG client application 72 stores the result of the search in a separate section of application memory. Media information conforming to the user's search criteria, in this non-limiting example, corresponding to the selected time period, is subsequently presented by the IMG client application 72 to the user by causing the information to be displayed via television 41 through RF output system 48. Example screen 100 (FIG. 4) is presented to the user in place of example screen 110 either after a time period selection is made or after the user activates the “C” button 94 on the remote control device 90. The search engine sub-component of IMG client application 72 thus has the capability to search database records by user-input criteria that gears the search engine's operation to focus on particular fields of the database's records.
FIG. 6 depicts an example browse-by screen 120 illustrating a guide arrangement in a browse-by format that is presented to a user after the user activates the “A” button 92 on the remote control device 90. In addition to presenting media information in a format based on time and channel number, the IMG client application 72 may be configured to present a guide arrangement in a format that limits the media information presented to information that corresponds to media titles containing a specific word or character sequence as specified through user input. By selecting the in-focus selection “SEARCH” 122 in the browse-by area 121 a user is presented with a guide arrangement in a search format as depicted in example screen 130 in FIG. 7.
FIG. 7 depicts an example search screen 130 illustrating a guide arrangement in a search format that is presented to a user after the user selects the search option 122 via example screen 120. In this non-limiting example, the user is presented with an input field 131 in the input portion 132 of the search screen 130. The user may use a remote control device 90 to scroll through and select characters in order to construct a search term that the IMG application 72 will incorporate into the input field 131. UP/DOWN buttons on a remote control device 90 would cause a cursor in the input field 131 to scroll through all available search characters (A-Z, 0-9), and LEFT/RIGHT buttons would enable the user to proceed to the next or previous character in a desired search string. In other embodiments, the screen would also include characters above and below the input field 131 showing one or more preceding and/or succeeding characters. Available characters include any alpha-numeric character used in the data to be searched. In addition, the user may utilize a keyboard (not shown) for specifying the search term.
FIG. 8 depicts an example search screen 140 illustrating a guide arrangement in a search format that displays a search term 141 as received according to user input while example screen 130 is being presented to the user. It should be noted that search term 141 is just an example and that, in general, search terms may include any character sequence specified through user input. After the DHCT 16 receives input signaling that the entire search term 141 has been specified, i.e., the “SELECT” button is pressed on the remote control device 90, a text search of media titles in the IMG database 71 is performed by the IMG client application 72 and example screen 150 (FIG. 9) is presented to the user. In other embodiments, various types of data, including media titles, media descriptions, etc., are searched. Such embodiments may also include additional user interface mechanisms to enable a user to select which types of media data to search.
FIG. 9 depicts an example search results screen 150 illustrating a guide arrangement in a search results view. The media information in the search results portion 151 includes media titles, media sources, starting times (if applicable), and channel numbers (if applicable). The media information corresponds to media titles that contain part of or all of the search term 141 (FIG. 8) and which are available for viewing during the pre-determined search period. A star icon 153 is included in the search results portion 151 to denote a media currently showing on one of the channels available to the user. The highlighted title area 152 is centered in the search results portion 151 enabling the user to scroll up and down to the various media presentations listed in the search results portion 151. Detailed media information is displayed for the media title shown in the highlighted title area 152, in the detailed focus area 101 of example screen 150.
FIG. 10 depicts an example menu screen 160 that illustrates another method for a user to access search screen 130. Menu screen 160 is presented to the user after the user activates the menu button 91 on the remote control device 90. The user may then have access to search screen 130 by selecting the “search for a title” option 164 via the remote control device 90. An option information section 163 contains information about the menu option displayed in the highlighted option area 165. In an alternative embodiment, the user is presented with a search screen after the user activates a search button 97 on the remote control device 90. The invention is not limited with respect to how a user requests a search or identifies a search term.
In one embodiment the search system described herein comprises capabilities for filtering-out and filtering-in attributes or fields of on-demand titles whereby search operations effect a search result compliant to one or more set filters activated by a user. For example, a user may choose to filter out R rated movies and may set a filtering operation offered by the DHCT for doing so. In such a case, when a user runs a search operation, only movies or television programs that are not rated R are presented to the user.
It should be emphasized that the above-described embodiments of the present invention, particularly, any “preferred embodiments” are merely possible examples of implementations, merely setting forth a clear understanding of the principles of the inventions. Many variations and modifications may be made to the above-described embodiments of the invention without departing substantially from the spirit of the principles of the invention. All such modifications and variations are intended to be included herein within the scope of the disclosure and present invention and protected by the following claims.
Therefore, having thus described the invention, the following is claimed:

## Claims

1. A method for enabling a user to search for media programs, the method comprising:
enabling a user to record a first set of media programs in a first storage device associated with a digital personal video recorder (PVR);
storing media information corresponding to the recorded first set of media programs in the first storage device, the media information including information related to at least a title and media type for each media program;
receiving media information corresponding to a second set of media programs that are currently being broadcast;
receiving media information corresponding to a third set of media programs that are to be broadcast in the future;
storing the media information corresponding to the second and third sets of media programs in a second storage device;
providing to the user a search option to search for media programs;
responsive to the user activating the search option, enabling the user to enter a search term;
responsive to the user entering a search term, searching the first and second storage devices for media information having a high level of correlation with the search term; and
providing a list of media programs corresponding to the media information having a high level of correlation with the search term.

2. The method of claim 1, wherein, responsive to the user activating the search option, further enabling the user to enter a search criterion based on a range of start times of the media programs, and wherein searching the first and second storage devices further comprises searching for media information corresponding to media programs having a start time within the range of start times.

3. The method of claim 2, wherein enabling the user to enter a search criterion based on a range of start times comprises enabling the user to select a time period from a plurality of time periods.

4. The method of claim 3, wherein the user-selected time period is selected from time periods specified by dates.

5. The method of claim 4, wherein the dates are a dates.

6. The method of claim 4, wherein the dates are relative dates.

7. The method of claim 6, wherein the relative dates correspond to at least one of “Today Only”, “Today and Tomorrow”, and “Next 7 Days”.

8. The method of claim 1, further comprising:
when the media information in the second storage device includes information indicating that a particular media program is a purchasable program, providing, with the list of media programs, an indication that the particular media program is a purchasable program.

9. The method of claim 8, wherein the particular media program is a video-on-demand program.

10. The method of claim 8, wherein the particular media program is a pay-per-view program.

11. The method of claim 8, further comprising:
providing, with the list of media programs, an indication that the media programs stored in the first storage device are programs recorded by the digital PVR.

12. The method of claim, further comprising:
when the media information in the second storage device includes information indicating that a particular media program is available via a subscription service, providing, with the list of media programs, an indication that the particular media program is available via the subscription service.

13. The method of claim 1, wherein, responsive to the user activating the search option, further enabling the user to enter a search criterion based on video quality.

14. The method of claim 13, wherein the search criterion based on video quality includes a criterion based on whether or not the media program includes high-definition video signals.

15. The method of claim 1, wherein the PVR is a random-access PVR.

16. The method of claim 1, wherein the PVR is a digital PVR.

17. The method of claim 1, wherein the first storage device is a digital storage device.

18. The method of claim 1, wherein the first storage device is a non-volatile storage device.

19. The method of claim 1, wherein the first storage device is a random-access storage device.

20. The method of claim 1, wherein the first storage device is different than the second storage device.

21. An interactive media services system comprising:
memory for storing media information, the media information including information related to a title, start time, and media type for each of a plurality of media programs;
a software program stored in the memory, the software program comprising a plurality of executable functions;
a processor configured to execute the software program, wherein executing the software program includes:
enabling a user to record in the memory a first set of media programs associated with a personal video recorder (PVR);
storing media information corresponding to the first set of recorded media programs in the memory;
receiving media information corresponding to a second set of media programs that are currently being broadcast or are to be broadcast in the future;
storing the media information corresponding to the second set of media programs in the memory;
providing to the user a search option to search for media programs;
responsive to the user activating the search option, enabling the user to enter a search term;
responsive to the user entering a search term, searching the memory for media information, corresponding to the first set of media programs and the second set of media programs, having a high level of correlation with the search term; and
providing a list of media programs corresponding to the media information having a high level of correlation with the search term.

22. The interactive media services system of claim 21, wherein, responsive to the user activating the search option, further enabling the user to enter a search criterion based on a range of start times of the media programs, and wherein searching the memory further comprises searching for media information corresponding to media programs having a start time within the range of start times.

23. The interactive media services system of claim 22, wherein enabling the user to enter a search criterion based on a range of start times comprises enabling the user to select a time period from a plurality of time periods.

24. The interactive media services system of claim 23, wherein the user-selected time period is selected from time periods specified by dates.

25. The interactive media services system of claim 24, wherein the dates are absolute dates.

26. The interactive media services system of claim 24, wherein the dates are relative dates.

27. The interactive media services system of claim 26, wherein the relative dates correspond to at least one of “Today Only”, “Today and Tomorrow”, and “Next 7 Days”.

28. The interactive media services system of claim 21, wherein, when the media information corresponding to the media programs that are currently being broadcast or are to be broadcast in the future includes information indicating that a particular media program is a purchasable program, executing the software program further comprises providing, with the list of media programs, an indication that the particular media program is a purchasable program.

29. The interactive media services system of claim 28, wherein the particular media program is a video-on-demand program.

30. The interactive media services system of claim 28, wherein the particular media program is a pay-per-view program.

31. The interactive media services system of claim 28, further comprising:
providing, with the list of media programs, an indication that the media programs stored in the storage device are programs recorded by the PVR.

32. The interactive media services system of claim 21, further comprising:
when the media information in memory includes information indicating that a particular media program is available via a subscription service, providing, with the list of media programs, an indication that the particular media program is available via the subscription service.

33. The interactive media services system of claim 21, wherein providing the list of media programs comprises providing the list on a television.

34. The interactive media services system of claim 21, wherein, responsive to the user activating the search option, further enabling the user to enter a search criterion based on video quality.

35. The interactive media services system of claim 34, wherein the search criterion based on video quality is a criterion based on whether or not the media program includes high-definition video signals.

36. A set-top terminal (STT) comprising:
a receiver configured to receive a plurality of media programs and a plurality of media information, each one of the plurality of media information corresponding to a respective one of the plurality of media programs;
a storage device in communication with a personal video recorder (PVR);
memory storing program code thereon;
a processor configured by the program code to:
record one of the plurality of media programs on the PVR;
store a first one of the plurality of media information on the storage device, the first one of the plurality of media information describing the recorded one of the plurality of media programs;
store a second one of the plurality of media information on the storage device, the second one of the plurality of media information describing media programs that are currently being broadcast or are to be broadcast in the future;
provide a search option to enable the user to enter a search term;
responsive to the search term, search the first and second ones of the plurality of media information to find media information having a high level of correlation with the search term; and
provide a list of media programs which correspond to the media information having a high level of correlation with the search term.

37. The STT of claim 36, wherein the PVR is embodied within the STT.

38. The STT of claim 36, wherein the PVR is external to the STT.

39. The STT of claim 36, wherein, responsive to the user activating the search option, the processor is further configured to enable the user to enter a search criterion based on a range of start times of the media programs, and to search for media information corresponding to media programs having a start time within the range of start times.

40. The STT of claim 39, wherein the processor enabling the user to enter a search criterion based on a range of start times comprises enabling the user to select a time period from a plurality of time periods.

41. The STT of claim 40, wherein the user-selected time period is selected from time periods specified by dates.

42. The STT of claim 41, wherein the dates are absolute dates.

43. The STT of claim 41, wherein the dates are relative dates.

44. The STT of claim 41, wherein the dates are relative dates correspond to at least one of “Today Only”, “Today and Tomorrow”, and “Next 7 Days”.

45. The STT of claim 36, wherein, when the media information corresponding to the second set of media programs includes information indicating that a particular media program is a purchasable program, the processor is configured to provide, with the list of media programs, an indication that the particular media program is a purchasable program.

46. The STT of claim 45, wherein the purchasable program is a video-on-demand program.

47. The STT of claim 45, wherein the purchasable program is a pay-per-view program.

48. The STT of claim 45, wherein the processor is further configured to provide, with the list of media programs, an indication that the media programs corresponding to the first set of media programs are programs recorded by the PVR.

49. The STT of claim 36, wherein, when the media information in the second storage device includes information indicating that a particular media program is available via a subscription service, the processor is further configured to provide, with the list of media programs, an indication that the particular media program is available via the subscription service.

50. The STT of claim 36, wherein the processor is configured to display the list of media programs on a television.

51. The STT of claim 36, wherein, responsive to the user activating the search option, the processor is further configured to enable the user to enter a search criterion based on video quality.

52. The STT of claim 51, wherein the search criterion based on video quality is a criterion based on whether or not the media program includes high-definition video signals.