US10123088B2 - Method and system for channel searching and filtering - Google Patents
Method and system for channel searching and filtering Download PDFInfo
- Publication number
- US10123088B2 US10123088B2 US13/651,248 US201213651248A US10123088B2 US 10123088 B2 US10123088 B2 US 10123088B2 US 201213651248 A US201213651248 A US 201213651248A US 10123088 B2 US10123088 B2 US 10123088B2
- Authority
- US
- United States
- Prior art keywords
- channel
- multimedia device
- user
- name
- channels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4821—End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4532—Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4826—End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4828—End-user interface for program selection for searching program descriptors
-
- H04N2005/44556—
-
- H04N2005/44569—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
Definitions
- the present invention relates to techniques for channel searching and filtering.
- Programs and other content are broadcasted to multimedia devices, such as digital video recorders (DVRs) and other set top boxes, over a multitude of channels.
- DVRs digital video recorders
- the different channels represented the different frequency bands over which the programs were aired by local television stations.
- televisions stations have largely switched to transmitting content using digitally processed and multiplexed signals, rather than analog signals.
- the multimedia device In order for a multimedia device to present content associated with a particular television station, the multimedia device “tunes” to the channel upon which the television station transmits content.
- Multimedia devices will typically have a hardware or software component, referred to as a “tuner”, which performs the task of tuning to particular channels.
- the tuner may filter incoming signals to only those signals traveling within the frequency band associated with a particular television station.
- the tuner demultiplexes the digital signal.
- television stations operate on virtual channels, channels that differ from the actual channel upon which the signal travels.
- a virtual channel map also referred to as a virtual channel table
- users are able to access channels by employing an input device, such as a remote control, to instruct the multimedia device to tune to the channel associated with a particular virtual channel number.
- the multimedia device then maps the virtual channel number to an actual channel using the virtual channel map.
- a television station may be identified within the digital stream using one channel number, but branded for identification by users with a different channel number.
- a television station identified by users as “Channel 8” may actually use channel 32 for the underlying transmission protocols and formats, such as ATSC, DVB, ISDB, etc.
- the content presented by each television station adheres to a particular theme or genre.
- television stations may specialize in programs concerning local news, science fiction, sports, dramas, documentaries, public access, and so on.
- television stations are associated with television networks from which the television station receives content.
- a single television network may be associated with multiple television stations spread across a large area in order to reach a greater audience.
- users tend to associate television stations not just with the channel number used to access the television station's content, but also with the source or type of content that is aired by the television station.
- television stations are often branded with a channel name that serves many of the same purposes as a trademark, engraining the television station into the minds of users and in some cases developing user confidence in the content provided by a particular network, even if that content is presented by different television stations.
- Channel names are often also trademarked by the television stations or television networks to which they belong.
- television stations that broadcast content over the air are also subject to a federal requirement to identify themselves at periodic intervals. The designation used for this purpose is often referred to as a “call sign”.
- call sign television stations which have call signs will sometimes use their call sign, or a variation thereof, as their channel name.
- EPG electronic program guide
- EPGs allow users to navigate the scheduling information interactively, selecting and discovering dates and times when programs will be airing over the various channels.
- EPGs sometimes offer additional information, such as content ratings, genre, and/or short descriptions of each program.
- additional information such as content ratings, genre, and/or short descriptions of each program.
- FIG. 1 illustrates an example environment upon which an embodiment of the present invention may be implemented
- FIG. 2 illustrates an example page of a user interface (UI) screen for EPG data according to an embodiment
- FIG. 3 illustrates an alternative example page of a UI screen for EPG data according to an embodiment
- FIG. 4 illustrates a method of filtering EPG data in block diagram form, according to an embodiment
- FIG. 6 illustrates an embodiment of a channel tuning banner overlaid into a presented program
- FIG. 7 illustrates a method of tuning to a channel with the assistance of a channel tuning banner in block diagram form, according to an embodiment
- FIG. 8 illustrates a computer system upon which an embodiment of the invention may be implemented.
- a user may want to tune to a particular channel.
- tuning can be accomplished by the user submitting the channel number corresponding to the particular channel.
- the multimedia device may have difficulty recalling the correct channel number.
- the multimedia device may remember other features of the channel, such as the channel's name or call sign.
- the multimedia device allows the user to choose which feature will be used for tuning. As the user enters the feature, the multimedia device identifies a list of channels that the user is likely to be searching for based on the current input. The multimedia device then displays a channel tuning banner that allows the user to select a channel from the list, thereby causing the multimedia device to tune to the selected channel.
- a multimedia device receives one or more characters representing at least part of a channel identifier.
- channel identifiers may include, channel name, channel number, and call sign.
- the multimedia device identifies one or more channels that have a corresponding channel identifier containing a substring that matches the one or more characters.
- the multimedia device displays at least a portion of the one or more channels to the user.
- the one or more channels may be presented in a scrollable list that displays only a particular number of the one or more channels at a time.
- the multimedia device tunes to the selected channel.
- a multimedia device provides a mechanism that allows users to specify search criteria that is used to filter the EPG data. As a result, the user is presented with a reduced number of EPG entries to look through in order to find information for the particular channel.
- a multimedia device displays a first page of an EPG.
- the EPG contains channel information for a plurality of channels and the first page displays the channel information for a subset of the plurality of channels.
- the multimedia device identifies one or more channels within the EPG that are associated with a channel identifier that contains a substring matching the one or more characters.
- the multimedia device displays a second page of the EPG, the second page displaying channel information for a subset of the one or more channels.
- FIG. 1 illustrates an example environment upon which an embodiment of the present invention may be implemented.
- FIG. 1 shows a multimedia device 100 , a content provider 101 , a display device 102 , a statistics server 103 , a network 104 , and an EPG server 105 .
- the multimedia device 100 includes any of: an audio/visual input 106 , an audio/visual output 107 , a network input/output 108 , a tuner 109 , a display subsystem 110 , and a storage device 111 .
- the storage device 111 stores EPG data 112 and channel usage statistics 113 .
- the EPG data 112 may be stored in storage device 111 in any form, e.g., database, linked list, flat file, or any type of data structure.
- FIG. 1 Each of these components are presented to clarify the functionalities described herein and may not be necessary to implement the invention. Furthermore, components not shown in FIG. 1 may also be used to perform the functionalities described herein. In addition, functionalities described as performed by one component may also be performed by a different component. Also, although only one of each element is depicted within the embodiment of FIG. 1 , a practical environment may have many more, perhaps even hundreds or thousands, of each of the elements depicted within FIG. 1 .
- multimedia device 100 represents any device capable of processing or presenting multimedia content.
- multimedia device 100 may represent a set top box, such as a DVR, thin client, etc.
- audio/visual input 106 is any component that allows receipt of content from content provider 101 .
- audio/visual input 106 may represent a cable receiver, a radio receiver, or a satellite dish.
- content provider 101 represents any source from which multimedia device 100 may derive content.
- content provider 101 may represent a local broadcaster that streams media content to multimedia device 100 over one or more channels or over the Internet.
- content provider 101 transmits content over one or more analog frequencies.
- content provider 101 transmits content in the form of a digital stream, using encodings such as MPEG-2, MPEG-4, etc.
- tuner 109 is any hardware or software component that allows multimedia device 100 to select content streamed by content provider 101 over a particular channel.
- tuner 109 changes to a particular channel by tuning to an analog frequency associated with the particular channel.
- tuner 109 changes to a particular channel by demultiplexing a digital stream provided by content provider 101 .
- the digital stream may be multiplexed using techniques such as statistical multiplexing, code division multiplexing, time division multiplex, or any other multiplexing techniques.
- tuner 109 may rely upon tags, codes, time markers, or other features of the digital stream to select content associated with a particular channel.
- the tuner 109 after tuner 109 selects content from a particular channel, the tuner 109 provides the content to display subsystem 110 .
- display subsystem 110 represents any combination of one or more hardware or software components that processes and transfers content to display device 102 through audio/visual output 107 .
- display subsystem 110 is capable of modifying the content provided by tuner 109 before transferring the content to display device 102 .
- display subsystem 110 may insert notifications, logos, advertisements, menu overlays, and other graphical elements into the content provided by tuner 109 .
- the graphical elements may be displayed instead of the content provided from tuner 109 . For example, during a pause for a commercial break or to display a menu that covers the entire display of display device 102 , as opposed to being overlaid over the content.
- the content from tuner 109 may be minimized to cover only part of the display of display device 102 with graphical elements inserted into the resulting free space.
- the graphical elements used by display subsystem 110 are stored on storage device 111 .
- display subsystem 110 generates the graphical elements from data stored on storage device 111 .
- display subsystem 110 is the component of multimedia device 100 responsible for providing a view of the EPG data 112 to display device 102 for presentation to a user.
- display subsystem 110 sorts through the EPG data 110 and constructs a user interface (UI) which is then provided to display device 102 .
- UI user interface
- audio/visual output 107 is any component that allows transfer of audio/visual data to display device 102 .
- audio/visual output 107 may represent an RCA connector, DVI, FireWire, Fiber-Optic, HDMI, DisplayPort, etc.
- storage device 111 is any device capable of storing data.
- storage device 111 may represent a hard drive disk, solid state drive (SSD), random access memory (RAM), a flash drive, other storage devices, and combinations thereof.
- SSD solid state drive
- RAM random access memory
- flash drive other storage devices, and combinations thereof.
- display device 102 is any device capable of displaying multimedia content.
- display device 102 may be a television set, monitor, etc.
- network 104 represents any combination of one or more local networks, wide area networks, internetworks, service provider networks, etc. Data exchanged over network 104 , may be transferred using any number of network layer protocols, such as Internet Protocol (TCP/IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, etc. Furthermore, in embodiments where network 104 represents a combination of multiple networks, different network layer protocols may be used at each of the underlying networks. In some embodiments, network 104 represents the Internet.
- TCP/IP Internet Protocol
- MPLS Multiprotocol Label Switching
- ATM Asynchronous Transfer Mode
- Frame Relay etc.
- network layer protocols may be used at each of the underlying networks.
- network 104 represents the Internet.
- multimedia device 100 connects to network 104 through network input/output 108 .
- network input/output 108 may include a direct Ethernet connection, a Universal Serial Bus (USB) port for a wired or wireless Ethernet adapter, etc.
- USB Universal Serial Bus
- EPG server 105 represents any server capable of providing EPG information to multimedia device 100 .
- EPG server 105 periodically sends updates to multimedia device 100 for incorporation into EPG data 112 .
- EPG server 105 may, at end of each week, send multimedia device 100 scheduling information related to the programs that will be aired during the next week or, optionally, send multimedia device 100 a notification that an EPG update is available.
- incorporation includes updating EPG data 112 with new information or replacing EPG data 112 with new data received from EPG server 105 .
- multimedia device 100 rather than EPG server 105 initiating periodic updates, multimedia device 100 periodically requests updates from the EPG server 105 .
- multimedia device 100 when receiving an update or independently of the reception of an update from EPG server 105 , retrieves advertisements or instructions to play advertisements in association with particular channels or programs. These advertisements, in some embodiments, may be placed by display subsystem 110 into menus associated with those channels or programs. In other embodiments, the advertisements may be added to the content provided by tuner 109 when multimedia device 100 presents the associated channel or program.
- EPG data 112 contains metadata representing channel information.
- the metadata for each channel may include a channel number, a channel name, a call sign, and a timeline of when programs air on the channel.
- EPG data 112 may contain metadata specific to particular programs, such as program title, content rating, actors, synopsis, producer, director, episode number (for programs that are episodic), reviews, etc.
- statistics server 103 is any server storing statistics related to channel usage.
- statistics server 103 may store the frequency with which particular channels are accessed within various geographical areas or demographics.
- statistics server 103 may periodically poll for, or receive from, multimedia device 100 , or other multimedia devices not depicted in FIG. 1 , statistics related to how often particular channels are accessed by the users of each respective multimedia device.
- multimedia device 100 when a user selects a channel, multimedia device 100 indicates the selection within channel usage statistics 113 . Examples of information that may be stored within channel usage statistics 113 include channel number, channel name, call sign, the program playing at the time of selection, user profile data, the length of time the channel or program was viewed, timestamp, etc.
- channel usage statistics 113 may be anonymized before or after being transferred to statistics server 103 in order to protect user privacy.
- each respective multimedia device may periodically report out collected statistics to statistics server 103 .
- statistics server 103 analyzes the data for trends such as popular channels within geographical areas, demographics, or other any other type of grouping criteria. Statistics server 103 can then make the statistics related to the aforementioned trends available to multimedia device 100 .
- multimedia device 100 may retrieve the trend statistics from statistics server 103 and store them within channel usage statistics 113 along with any independently collected statistics.
- the statistics retrieved from statistics server 103 may relate to general groups of users whereas the statistics collected locally may relate to the specific users of multimedia device 100 .
- multimedia device 100 employs channel usage statistics 113 to determine which graphical elements (e.g. advertisements, etc.) should be displayed to a user.
- multimedia device 100 uses channel usage statistics 113 to determine the order to present channels in various menus related to channel tuning and the display of EPG data 112 .
- multimedia device 100 displays a user interface (UI) presenting at least a portion of the EPG data 112 in response to receiving user input.
- UI user interface
- the user may utilize a remote that has a “guide” button that can be used to instruct the multimedia device 100 to display the EPG data 112 UI.
- the multimedia device 100 may present a menu with an option for displaying the EPG data 112 UI.
- the multimedia device 100 displays the EPG data 112 UI automatically.
- multimedia device 100 may display the EPG data 112 UI in response to the multimedia device 100 or the display device 102 being activated by a user. As a result, when a user begins a session of watching programs using multimedia device 100 , the user is initially presented with EPG data 112 UI.
- EPG data 112 may contain information for a large number of channels, potentially hundreds or even thousands of channels.
- display device 102 may not be able to display all the information contained within EPG data 112 simultaneously without significantly impacting the readability of the information.
- the information contained within EPG data 112 is displayed in pages, each of which contains information for a subset of the channels represented within EPG data 112 .
- pages may further save space on the display of display device 102 by including only a subset of the information available for each channel.
- FIG. 2 illustrates an example page 200 of a UI for EPG data 112 according to an embodiment.
- Page 200 is depicted within FIG. 2 in tabular format, with the rows representing each channel and the columns representing one or more informational elements for each channel. However, in other embodiments, page 200 may be displayed in formats other than a table.
- the informational elements contained by page 200 include channel names 201 , channel numbers 202 , and one or more selectable items 203 representing the programs A1-H4 that have aired, are airing, or will be aired on each channel during time frames 204 .
- each of the time frames 204 depicted in FIG. 2 represent a half hour interval, in other embodiments the time frames 204 may represent any other arbitrary interval or any combination of arbitrary intervals.
- program A1 is depicted as airing on channel AAA at 8:00 PM.
- the order and content of the informational elements may differ from the depiction of page 200 .
- selectable items 203 display information for each of programs A1-H4 including program name, genre, content rating, and/or a short description of the program. Furthermore, users may select one of the selectable items to display additional information from EPG data 112 related to the corresponding program.
- the additional information may include a more complete description of the program, the director of the program, the main actors of the program, a synopsis of the episode (should the program be episodic), production date, reviews of the program, etc.
- the user may be presented with an option to schedule the program for recording.
- the information displayed by each selectable item and/or displayed in response to selecting a selectable item may differ from the aforementioned examples.
- users are able to select a selectable item using a “pointer” oriented input device, such as a mouse or motion sensing controller
- a “pointer” oriented input device such as a mouse or motion sensing controller
- the user orients the pointer over the desired selectable item and “clicks” to select the selectable item.
- users select a selectable item using an input device with directional buttons, such as a remote control.
- multimedia device 100 navigates the user to an initial selectable item, which may be highlighted or otherwise visually distinguished from the other selectable items displayed on page 200 .
- the user can navigate to adjacent selectable items, with the multimedia device 100 maintaining the highlighting over the selectable item to which the user is currently navigated.
- the user can indicate selection by, for example, pressing a “select” button on the input device.
- multimedia device 100 allows the user to “scroll” through the channels represented within the EPG data 112 .
- the EPG data 112 may list the channels in a particular order, such as ascending or descending order by channel number.
- page 200 displays information for a particular number of channels corresponding to a segment of the list.
- the segment may be the top of the list, the bottom of the list, or an intermediate portion of the list.
- multimedia device 100 shifts the segment further up or further down the list respectively (with or without wrap-around) to change the channels that are being displayed. For example, page 200 is depicted as containing information for channels 22-29.
- multimedia device 100 may allow the user to “page up” or “page down”, shifting the segment further up or down the list by more than one channel.
- the number of channels shifted is based on the number of channels displayed on page 200 . For example, in response to receiving user input to “page up” from page 200 , page 200 may be updated to display information for channels 14-21.
- multimedia device 100 allows the user to “scroll” through the informational items available for each channel.
- multimedia device 100 updates page 200 to advance the time frames that are currently being displayed. For example, should the user attempt to navigate further right from the column representing 9:30 pm, page 200 may be updated to display the programs playing from 8:30-10:30 PM.
- multimedia device 100 updates page 200 to display programs playing during a previous time frame. For example, should the user attempt to navigate further left from the column representing 8:00, page 200 may be updated to display the programs playing from 7:30-9:30 PM.
- multimedia device 100 tunes to a channel displayed on page 200 .
- multimedia device 100 in response to receiving user input instructing to tune to a channel, tunes to the channel associated with the row to which the user is currently navigated. For example, if a user is navigated to “Program F1” at the time user input is received, multimedia device 100 tunes to channel 58.
- multimedia device 100 displays a menu option when one of the selectable items 403 is selected which gives the user the option to tune to the channel associated with that selectable item.
- page 200 includes a selectable item that, when selected by the user, causes the multimedia device 100 to tune to the associated channel.
- FIG. 3 illustrates an alternative display for a page 300 of the EPG data 112 UI according to an embodiment.
- channel entries 301 represent a list of programs airing on a subset of the channels during timeframe 302 .
- Each channel entry of channel entries 301 is associated with a particular channel, a particular program, and/or a particular time and displays information including any of channel number, channel name, call sign, program name, time frame, etc.
- the channel entries 301 can be scrolled by multimedia device 100 in response to receiving user input navigating through the channel entries 301 .
- multimedia device 100 visually distinguishes the channel entry to which the user is currently navigated with navigation marker 303 .
- multimedia device 100 may visually distinguish the channel entry to which the user is currently navigated using other techniques, such as highlighting the channel entry, displaying the channel entry in a different font, adjusting the channel entry's size, etc.
- Navigation header 304 displays information for the program associated with the channel entry to which the user is currently navigated. For example, navigation header 304 may display the program's name and the time frame during which the program airs. In addition, program description 304 contains a short description of the program.
- multimedia device 100 displays a list of program entries 305 , representing programs airing on the associated channel during previous, current, and/or future time frames.
- program entries 305 display the same types of information as channel entries 301 . However, in other embodiments, program entries 305 display different types of information than channel entries 301 . For example, in the embodiment of FIG.
- each program entry displays a program name and a time during which the program airs whereas each channel entry displays a program name, channel name, and channel number.
- the user is currently navigated to the channel entry associated with “Program 1 ” airing on channel “KTVU” at 2:00 pm.
- program entries 305 contain one or more entries representing the programs associated with channel “KTVU” that are viewable in whole or in part during the period 2:00 pm-5:30 pm.
- multimedia device 100 in response to user input, scrolls through program entries 305 and displays additional program entries representing previous or subsequent timeframes beyond those currently displayed.
- multimedia device 100 determines whether the user is scrolling through channel entries 301 or program entries 305 based on operating mode. For example, multimedia device 100 may begin by default in an operating mode that assumes input indicating to scroll should be interpreted as scrolling through channel entries 301 . However, should multimedia device 100 receive a particular type of input, multimedia device 100 changes to an operating mode that interprets future input indicating to scroll as scrolling through program entries 305 . Similarly, in response to receiving another type of input, multimedia device 100 returns to the original operating mode. For example, assuming a directional input device, a user may scroll by submitting input indicating “up” or “down”. Thus, initially, “up” and “down” are interpreted as scrolling through channel entries 301 .
- multimedia device 100 In response to receiving input indicating “right” multimedia device 100 changes to an operational mode that interprets future “up” and “down” input as scrolling through program entries 305 . Then, in response to receiving input indicating “left”, multimedia device 100 returns to the original operating mode and interprets future “up” and “down” input as scrolling through channel entries 301 .
- the scrolling input and the input that causes multimedia device 100 to change modes may differ from the above example.
- the same type of input may be used to switch between operational modes, as opposed to different inputs being used to switch back and forth as described in the example above.
- multimedia device 100 in response to user input selecting an entry from channel entries 301 or program entries 305 , multimedia device 100 displays additional information related to the selected entry.
- the additional information may include a more detailed description of the associated program, content ratings, actors, directors, producers, reviews, and/or options to view the associated program or schedule the associated program for recording.
- multimedia device 100 displays the EPG data 112 UI in accordance with the techniques described in U.S. Pat. No. 6,642,939, “Multimedia Schedule Presentation System”, owned by the Applicants, the entire contents of which is incorporated by reference for all purposes as though fully stated herein.
- multimedia device 100 provides a mechanism for users to scroll through the channels represented within the EPG data 112 , locating information for a particular channel may still be a very time consuming process. Even when the user knows the channel number for the channel that they are seeking, the user may still be forced to scroll through numerous entries in order to locate information for the corresponding channel. However, should the user not be familiar with the channel number, the user may potentially have to inspect every entry in the EPG data 112 in order to avoid accidently skipping over relevant information. In order to speed up the user's search, multimedia device 100 , in some embodiments, allows the user to filter which channels of the EPG data 112 will be displayed and available for scrolling. Thus, the channels that are displayed to the user can be limited to channels matching particular search criteria.
- the filtering techniques that will be described hereafter can be based on any number of criteria associated with the channel including, but not limited to, channel number, channel name, call sign, programs playing on the channel, etc. However, in order to provide clear examples, the following techniques will be described in reference to filtering based on channel name.
- channel numbers used by the various television stations airing a particular television network's content or program lineup may not be synchronized. However, television stations and network providers often work together to ensure that the channel name is branded and advertised in a fairly consistent fashion. Consequently, channel names tend to both remain constant across different television stations and, due to advertising efforts, are generally easier for users to recall.
- multimedia device 100 presents a menu option that allows users to set which criteria will be used for filtering.
- multimedia device 100 determines which criteria will be used for filtering based on user input. For example, user input that starts with a number may be interpreted as filtering by channel number, whereas user input that starts with a letter may be interpreted as filtering by channel name.
- FIG. 4 illustrates a method for filtering an EPG in block diagram form, according to an embodiment.
- multimedia device 100 filters EPG data 112 .
- multimedia device 100 displays page 200 of EPG data 112 .
- multimedia device 100 displays page 200 according to any of the techniques discussed above in the section “DISPLAYING THE ELECTRONIC PROGRAM GUIDE”.
- multimedia device 100 receives user input specifying one or more characters.
- the characters received by the user are alpha-numeric characters.
- other embodiments may allow the user to input symbols such as commas, hyphens, and other punctuation marks.
- multimedia device 100 receives user input from a remote control.
- other input devices may also be employed including keyboard, number pad, or any other device capable of submitting characters to multimedia device 100 .
- multimedia device 100 identifies the channels of the EPG data 112 that are associated with channel names containing the one or more characters received at block 401 as a substring.
- the multimedia device 100 identifies channels associated with channel names containing the one or more characters as a particular type of substring, e.g., a prefix, postfix, infix, etc.
- the multimedia device 100 allows users to change a system setting that controls the type of substring used to identify channels at block 402 .
- the multimedia device 100 may be configured by the factory that manufactured the multimedia device 100 or by the provider of the multimedia device 100 to perform one, some, or all types of substring matching.
- a substring includes one of more characters that match the channel name exactly or partially.
- multimedia device 100 scans the EPG data 112 and constructs a list of all the channels whose channel name contains the one or more characters as a substring. The list may maintain the channels in the same order as the channels appear in the EPG data 112 , or the list may be reordered by multimedia device 100 .
- the EPG data 112 may order channels by channel number whereas the list of filtered channels orders the channels by channel name.
- a list is used as an example structure, other data structures may also be used to track which channels have names containing the one or more characters as a substring.
- multimedia device 100 may associate the channels represented within the EPG data 112 with a mark or flag indicating whether or not the channel is to be displayed after filtering.
- multimedia device 100 conducts the scan in piecemeal fashion. For example, multimedia device 100 may scan through the channels located within the EPG data 112 adding channels whose calls signs contain a matching substring until a maximum number of channels that can be displayed on page 200 is reached. The multimedia device 100 upon reaching the maximum number of displayable channels or exhausting the channels contained within the EPG data 112 keeps track of the progress made through the EPG data 112 . Then, when the user attempts to scroll page 200 after the initial filtering, multimedia device 100 continues the scan from that point in order to update page 200 .
- multimedia device 100 updates page 200 to display information for one or more of the channels identified at block 402 .
- multimedia device 100 displays page 200 using the same techniques discussed above in “DISPLAYING THE ELECTRONIC PROGRAM GUIDE”, but instead constructs and/or updates page 200 using the list of channels identified at block 402 instead of all the channels contained within EPG data 112 .
- page 200 initially displays information for channels matching the search criteria.
- the scrolling updates page 200 from the list of channels identified at block 402 .
- the information presented to the user on page 200 is limited to channels matching the search criteria.
- FIG. 5 illustrates page 500 , which is provided as an example of how page 200 may appear after a user has entered the character ‘A’. Similar to page 200 , page 500 displays information including channel names 501 , channel numbers 502 , selectable elements 503 , and time frames 505 . However, page 500 is limited to only channels whose channel names 501 contain the substring ‘A’. In addition, the channels depicted by FIG. 5 have been reordered based on the feature used for the search criteria (e.g., channel names 501 ).
- blocks 401 , 402 , and 403 may be repeated multiple times as multimedia device 100 receives additional user input.
- each filtering is performed independently. For example, a user may first submit ‘A’, causing multimedia device 100 to filter EPG data 112 to channels whose channel name contains the substring ‘A’. After receiving a second user input submitting, for example, “B”, multimedia device 100 resets the previous filtering and instead filters EPG data 112 based on the substring ‘B’.
- filtering is performed as an iterative process. Thus, after the initial filtering, the filtered list of channels is filtered again based on the concatenation of the first and second user inputs, the substring ‘AB’.
- the additional filtering is performed by scanning the list identified at block 402 and retaining only channels with channel names that contain the concatenation as a substring.
- other embodiments may repeat the identification process by rescanning EPG data 112 using the concatenation.
- the additional filtering can be repeated any number of times as more user inputs are received by the multimedia device 100 by concatenating new user inputs onto the current substring and identifying channels based on the concatenation.
- multimedia device 100 resets the filtering in response to user input.
- multimedia device 100 may provide a menu option that, when selected by a user, causes multimedia device 100 to revert to displaying an unfiltered EPG data 112 .
- multimedia device 100 in response to user input, deletes or modifies the one of more of the characters used for filtering. As a result, multimedia device 100 refilters EPG data 112 using the modified characters.
- multimedia device 100 displays the one or more characters currently used to filter the EPG data 112 .
- multimedia device 100 updates the display to remain in sync with the characters used to filter the EPG data 112 .
- multimedia device 100 determines that no channels matching the one or more characters have been found, multimedia device 100 displays a notification. As one example, an error box or message may be displayed. As another example, multimedia device 100 may cause the screen to shake. As yet another example, multimedia device 100 may present the notification audibly. In some embodiments, multimedia device 100 maintains the current filtering, allowing the user to try submitting different characters. In other embodiments, multimedia device 100 clears the current filtering criteria, potentially with a visible/audible notification as described above. In another embodiment, multimedia device 100 employs techniques to automatically predict the channels to which the user had intended to filter.
- multimedia device 100 may employ spelling detection and correction techniques, such as approximate string matching, by using the channel names contained within EPG data 112 as the dictionary. As another example, multimedia device 100 may consult channel usage statistics 113 to locate commonly accessed channels and perform approximate string or other comparison techniques between the submitted characters and the names of the commonly accessed channels. As a result, multimedia device 100 displays the top N closest matching channels or channels that are within a threshold distance of the submitted characters.
- spelling detection and correction techniques such as approximate string matching
- multimedia device 100 detects when a user is attempting to tune to a channel (e.g., by receiving an indication of a button pressed/selected on a remote control device, voice detection, motion detection, etc.) and displays a banner containing information that assists the user throughout the tuning process.
- users of multimedia device 100 may use the channel tuning banner to retrieve information and not necessarily only for the purpose of tuning.
- FIG. 6 illustrates an embodiment of a channel tuning banner overlaid onto a displayed program.
- program 600 represents any program that is currently being presented or displayed by multimedia device 100 .
- program 600 continues to play program 600 while channel tuning banner 601 is displayed.
- multimedia device 100 is able to pause the presentation of the content stream, such as by buffering or storing the stream for later playback, pausing at a frame in a buffer or stored program, causing an MPEG decoder to display a single frame, etc.
- program 600 can be replaced with any other screen that may be presented by multimedia device 100 .
- program 600 may instead represent a display of EPG data 112 or any other menu screen.
- channel tuning banner 601 displays information for channels that multimedia device 100 determines are likely desired by the user.
- Multimedia device 100 may, for example, track the user's channel usage and determine which channels the user most often selects and/or records from.
- channel tuning banner 601 displays a list of one or more channels to which the user can select, depicted within the embodiment FIG. 6 as HTOFP, HTOHDP, and HTOLAHD.
- structures other than a list may be employed by multimedia device 100 to display the channels within channel tuning banner 601 , e.g., a pull-down menu, voice synthesized list, etc.
- channel tuning banner 601 displays information for the listed channels, such as the program currently broadcasted/streamed on each channel, the time frame during which the program will be broadcasted/streamed, and a content rating for the program.
- channel tuning banner 601 may display program information for only a subset of the listed channels at a time.
- the channel(s) for which program information is displayed are visually distinguished within the list to inform the user to which channel the program information belongs.
- the visually distinguished channel(s) may be placed in a particular position within the list (e.g., aligned with the program information, etc.), highlighted, underlined, displayed in a different color, displayed in a different font, or any other mechanism or combination of mechanisms that distinguishes from the channels for which program information is not displayed.
- multimedia device 100 derives the program information and the list of channels from the metadata stored within EPG data 112 .
- multimedia device 100 may display within channel tuning banner 601 any type information pertaining to any channel or program that is represented within EPG data 112 . Examples of such information, as mentioned above, include, but are not limited to: channel name, call sign, channel number, timelines, actors, directors, producers, reviews, content ratings, synopsis, episode number, etc.
- channel tuning banner 601 is displayed along with a menu of one or more selectable items 602 .
- Selectable items 602 may perform various functions in response to being selected by a user.
- multimedia device 100 may contain multiple tuners, and thus is able to tune to or record content from multiple channels at a time.
- selectable items 602 contains an option to switch which tuner's content is currently being displayed and/or an option to overlay another tuner's content onto a portion of program 600 , e.g., in a picture-in-a-picture format, etc.
- selectable items 602 contain an option that allows users to set whether closed captioning is enabled or disabled.
- selectable items 602 contain an option to select an audio language.
- selectable items 602 contains an option to display the content presented by other multimedia devices contained within the same household or connected to the same local network.
- selectable items 602 contains an option that, when selected by a user, causes multimedia device 100 to display a second menu containing selectable items.
- FIG. 7 illustrates a flow diagram depicting a multimedia device tuning to a channel with the assistance of a channel tuning banner.
- multimedia device 100 tunes to a channel with the assistance of channel tuning banner 601 .
- the techniques described in this section may be applied to tuning based on any channel feature, including, but not limited to: channel name, station call sign, channel number, etc.
- the flow diagram of FIG. 7 illustrates channel tuning based on channel name.
- multimedia device 100 receives user input specifying one or more characters.
- the one or more characters are alpha-numeric characters.
- other embodiments may support user input of symbols, such as grammar symbols (e.g. commas, hyphens, periods, etc.).
- multimedia device 100 receives user input from a remote control.
- other input devices may also be employed including a keyboard, number pad, or any other device capable of submitting characters to multimedia device 100 .
- multimedia device 100 identifies channels that have channel names containing the one or more characters as a substring.
- the multimedia device 100 identifies channels associated with channel names containing the one or more characters as a particular type of substring, e.g., a prefix, postfix, infix, etc.
- the multimedia device 100 allows users to change a system setting that controls the type of substring used to identify channels at block 701 .
- the multimedia device 100 may be configured by the factory that manufactured the multimedia device 100 or by the provider of the multimedia device 100 to perform one, some, or all types of substring matching.
- a substring includes the case where the one or more characters match the channel name exactly or partially.
- multimedia device 100 identifies channels by scanning the channels represented within EPG data 112 and constructs a list of channels whose names contain the one or more characters, as entered, as a substring.
- alternative data structures other than a list may also be employed for this purpose.
- channel tuning is performed based on criteria other than channel name.
- the one or more characters may be compared to other metadata within EPG data 112 , such as channel name or call sign, when constructing the list.
- multimedia device 100 determines a default channel.
- multimedia device 100 determines a default channel based on a position within the list constructed at block 701 .
- multimedia device 100 may use the channel at the top of the list as the default channel.
- multimedia device 100 sorts the list constructed at block 701 before determining an initial channel. For example, the list may be sorted based on channel name, channel number, call sign, user viewing patterns (e.g., most viewed by the user, etc.), etc.
- the default channel is determined based on channel usage statistics 113 for the channels identified at block 701 .
- multimedia device 100 may determine the default channel based on the frequency with which each channel has been accessed, the frequency with which each channel is accessed during a particular time period, frequency with which each channel is accessed by a particular user, recency with which each channel has been accessed, popular channels within a particular demographic, popular channels within a particular geographic area, specific defaults configured by the user (e.g. a favorites list, etc.), a recency with which each channel was played on a multimedia device, a recency with which a user has selected each channel, combinations thereof, etc.
- the channels identified at block 701 are ordered based on one or more of the metrics discussed above. Thus, the channels may be listed based upon an increasing or decreasing likelihood that the user will tune to each channel.
- multimedia device 100 displays channel tuning banner 601 and navigates the user to the default channel.
- channel tuning banner 601 is displayed using any of the techniques described above in “DISPLAYING THE CHANNEL TUNING BANNER”.
- the one or more channels displayed within channel tuning banner 601 are a subset of the channels identified at block 701 .
- channel tuning banner 601 may have a maximum number of channels that can be displayed simultaneously in order to maintain readability.
- the channels displayed on channel tuning banner 601 represent a segment of the list constructed at block 701 , where the segment is sized according to the maximum number of displayable channels.
- multimedia device 100 determines the position of the segment that is displayed within the list based on the default channel. For example, the segment may be centered on the default channel. Alternatively, the segment may begin or end with the default channel.
- the default channel is visually distinguished from the other channels displayed within channel tuning banner 601 .
- the default channel may be displayed in a particular position within channel tuning banner 601 , highlighted, underlined, displayed in a different color, displayed in a different font, or any other mechanism or combination of mechanisms that distinguishes from the default channel from other concurrently displayed channels.
- the channel to which multimedia device 100 is currently navigated (“navigated channel”) is visually distinguished from the other channels within channel tuning banner 601 .
- the navigated channel may be displayed in a particular position within channel tuning banner 601 , highlighted, underlined, displayed in a different color, displayed in a different font, or any other mechanism or combination of mechanisms that distinguishes from the default channel from other concurrently displayed channels.
- different mechanisms are used to visually distinguish the default channel and the navigated channel. For example, one may be distinguished with highlighting where another is distinguished with underlining. Thus, in cases where the default channel is the navigated channel, that channel may be visually distinguished with both mechanisms.
- channel tuning banner 601 displays program information only in association with the navigated channel.
- multimedia device 100 in response to user input, scrolls the channels displayed within channel tuning banner 601 .
- a user may employ an input device with a directional pad to indicate whether the displayed channels should be scrolled to the next channel or the previous channel.
- multimedia device 100 shifts the segment of the list identified at block 702 that is currently being displayed within channel tuning banner 601 (with or without wraparound).
- the navigated channel is switched to a next or previous channel on the list in proportion to the amount of channels that have been scrolled. For example, if displayed channels have been scrolled three channels ahead, the channel three channels ahead on the list becomes the new navigated channel.
- channels may be navigated without necessarily scrolling the displayed channels.
- multimedia device 100 may only scroll in response to a user attempting to navigate beyond the boundary of the currently displayed channels.
- a user that is currently navigated to HBOHDP and navigates “upwards” shifts the navigated channel to HBOFP.
- the displayed channels are scrolled.
- the program information and display format for the channels displayed within channel tuning banner 601 updates accordingly as the navigated channel changes.
- channel tuning banner 601 displays the one or more characters used to identify channels at block 701 .
- channel tuning banner 601 may display one or more of the channels where the substrings matching the one or more characters are visually distinguished from the rest of the characters.
- the substring may be underlined, highlighted, displayed in a different color, displayed in a different format, as well as other mechanisms that visually distinguish characters.
- the one or more characters entered by the user are displayed separately.
- multimedia device 100 determines user selection of a channel displayed in the channel banner.
- multimedia device 100 determines user selection of a channel in response to user input. For example, the user may navigate to a channel then press a “select” button on their input device. As a result, multimedia device 100 determines that the navigated channel has been selected.
- multimedia device 100 determines user selection based on a predetermined period of time passing since the navigated channel was last changed. Thus, should the user idle on a particular channel for longer than a threshold period of time, multimedia device 100 determines that the navigated channel has been selected.
- multimedia device 100 determines that the user has selected a channel in response to a determination that only one channel has been identified at block 702 .
- multimedia device 100 since the user input received at block 700 has narrowed down the potential channels to only one channel; multimedia device 100 assumes that the user intended to tune to that channel. In an embodiment, in such cases, multimedia device 100 foregoes block 703 and tunes directly to the channel without displaying channel tuning banner 601 .
- multimedia device 100 tunes to the channel selected at block 704 .
- blocks 700 - 703 may be repeated in an iterative process.
- multimedia device 100 may receive a first one or more characters at block 700 , identify channels at block 701 , determine a default channel at block 702 , then display channel tuner banner 501 at block 703 .
- a user may submit a second one or more characters.
- multimedia device 100 identifies channels with channel names containing a substring that matches a concatenation of the first one or more characters and the second one or more characters, chooses a new default channel, and updates channel banner 501 accordingly.
- users may continue to add more characters, further narrowing down to the channel that the user seeks.
- multimedia device 100 allows users to “backspace” or otherwise modify characters that have previously been received. As a result, should the user make a mistake in entering characters, the user can erase or change characters to correct the mistake.
- multimedia device 100 determines that no channels match the one or more characters, an indication that no matching channels have been found is displayed. As one example, an error box or message may be displayed. As another example, multimedia device 100 may cause the screen to shake. As yet another example, multimedia device 100 may present the notification audibly. In addition, multimedia device 100 may ignore the new input, allowing the user to submit different characters. In other embodiments, multimedia device 100 clears the current filtering criteria, potentially with a visible/audible notification as described above. In another embodiment, multimedia device 100 employs automatic techniques to guess the channels to which the user had intended tune. As one example, multimedia device 100 may employ spelling detection and correction techniques, such as approximate string matching, by using the channel names contained within EPG data 112 as the dictionary.
- multimedia device 100 may consult channel usage statistics 113 to locate commonly accessed channels and perform approximate string or other comparison techniques between the currently entered characters and the names of the commonly accessed channels. As a result, multimedia device 100 may identify channels at block 702 based on the top N closest matching channels or channels within a threshold distance of the presently entered characters.
- multimedia device 100 allows users to set custom shortcuts to access channels.
- multimedia device 100 may maintain shortcut metadata that maps between custom shortcuts and particular channels, e.g., a lookup table, database association, etc.
- shortcut metadata maps between custom shortcuts and particular channels, e.g., a lookup table, database association, etc.
- multimedia device 100 updates the shortcut metadata to indicate the relationship.
- custom shortcuts are numbers.
- customer shortcuts are alphanumeric characters.
- custom shortcuts also include symbols, such as grammar symbols.
- multimedia device 100 may limit the amount of shortcuts that a user can define to a predetermined amount.
- a user may notify multimedia device 100 of a shortcut via a user interface screen that allows the user to designate a shortcut and channel to be associated with the shortcut.
- a user may designate a shortcut to be associated with a channel that the user is currently viewing, e.g., via a pop-up menu that is initiated by pressing/selecting a button on a remote control device.
- multimedia device 100 tunes to a channel in response to receiving user input specifying a custom shortcut associated with that channel.
- a user submits input specifying the custom shortcut.
- multimedia device 100 checks the shortcut metadata to determine the channel to which the custom shortcut is mapped. Once the channel has been determined, multimedia device 100 tunes to that channel. For example, a user may associate “Channel 28” with the character “1”. Thus, should the user enter “1” as input, multimedia device 100 automatically tunes to “Channel 28”.
- multimedia device 100 to differentiate between user input specifying a custom shortcut and user input specifying a channel feature, such as may be used for the techniques described in “CHANNEL TUNING SELECTION”, users submit a special input prior to submitting the characters.
- the special input informs the multimedia device 100 that a shortcut is being entered.
- the user's remote control may contain a “shortcut” button, that when pressed, informs multimedia device 100 that a shortcut is being entered.
- multimedia device 100 tunes according to the techniques described in “CHANNEL TUNING SELECTION”. However, should the user first push the “shortcut button”, the characters are assumed to be a custom shortcut.
- multimedia device 100 maps the characters to a channel using the shortcut metadata, and tunes to the associated channel.
- the techniques described in “CHANNEL TUNING SELECTION” are employed using the custom shortcuts as the feature used to identify channels at block 702 .
- multimedia device 100 displays a channel tuning banner 601 displaying information for the channels whose custom shortcuts have a substring that matches the currently submitted characters.
- users submit input specifying characters using an alpha-numeric remote, a remote that includes an alpha-numeric keyboard.
- a remote that includes an alpha-numeric keyboard.
- many remotes only allow users to submit numbers.
- users who do not have access to an alpha-numeric remote may still want access to features that potentially make use of non-numeric characters, such as filtering EPG data 112 , tuning to a channel by channel name, etc.
- each number on a remote is associated with one or more characters.
- multimedia device 100 interprets the input as scrolling through the associated characters. For example, “1” may be associated with the characters “ABC”.
- multimedia device 100 interprets “1” as the character submitted. However if within a threshold period of time the user submits “1” again, multimedia device instead interprets the input as the character “A”.
- multimedia device 100 By submitting “1” yet again within the threshold period of time from the last submission, multimedia device 100 instead interprets the input as the character “B”. Scrolling next to “C”, then back around again to “1”.
- multimedia device 100 uses the current interpretation as the user input. As a result, users that do not have access to an alpha-numeric remote are still able to take advantage of features that use non-numeric characters as input.
- users who wish to enter non-numeric characters first submit a special input, such as a “function” button on their remote, which informs the multimedia device to interpret the input as a non-numeric character.
- a special input such as a “function” button on their remote
- users scroll through the characters associated with a number without also scrolling through the number.
- submitting “1” will automatically be interpreted as “A” with further submissions rotating the input between “A”, “B”, and “C”.
- multimedia device 100 interprets submitting the number as a logical disjunction of the characters and/or the number. For example, when a user submits a “1”, multimedia device 100 when performing tuning or filtering interprets the “1” as the logical disjunction of “1”, “A”, “B”, and “C”. Thus, multimedia device 100 identifies channels with channel numbers (or other features) containing a substring that matches any of “1”, “A”, “B” or “C”.
- multimedia device 100 instead identifies channels with channel names where the first character is any of “1”, “A”, “B”, or “C” and the second character is any of “2”, “D”, “E”, or “F”.
- the number of unintended channels that are identified is still likely limited to a fairly narrow range.
- this technique may result in additional channels being identified, some users may find this technique more convenient due to the fewer times that user input needs to be submitted.
- multimedia device 100 provides a menu option, that when selected by the user, allows the user to set which techniques will be employed by multimedia device 100 to interpret character submissions.
- the techniques described herein are implemented by one or more special-purpose computing devices.
- the special-purpose computing devices may be hard-wired to perform the techniques, or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or may include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination.
- ASICs application-specific integrated circuits
- FPGAs field programmable gate arrays
- Such special-purpose computing devices may also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques.
- the special-purpose computing devices may be desktop computer systems, portable computer systems, handheld devices, networking devices or any other device that incorporates hard-wired and/or program logic to implement the techniques.
- FIG. 8 is a block diagram that illustrates a computer system 800 upon which an embodiment of the invention may be implemented.
- Computer system 800 includes a bus 802 or other communication mechanism for communicating information, and a hardware processor 804 coupled with bus 802 for processing information.
- Hardware processor 804 may be, for example, a general purpose microprocessor.
- Computer system 800 also includes a main memory 806 , such as a random access memory (RAM) or other dynamic storage device, coupled to bus 802 for storing information and instructions to be executed by processor 804 .
- Main memory 806 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 804 .
- Such instructions when stored in non-transitory storage media accessible to processor 804 , render computer system 800 into a special-purpose machine that is customized to perform the operations specified in the instructions.
- Computer system 800 further includes a read only memory (ROM) 808 or other static storage device coupled to bus 802 for storing static information and instructions for processor 804 .
- ROM read only memory
- a storage device 810 such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to bus 802 for storing information and instructions.
- Computer system 800 may be coupled via bus 802 to a display 812 , such as a cathode ray tube (CRT), LCD monitor, LED monitor, etc., for displaying information to a computer user.
- a display 812 such as a cathode ray tube (CRT), LCD monitor, LED monitor, etc.
- An input device 814 is coupled to bus 802 for communicating information and command selections to processor 804 .
- cursor control 816 is Another type of user input device, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 804 and for controlling cursor movement on display 812 .
- This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
- Computer system 800 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 800 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 800 in response to processor 804 executing one or more sequences of one or more instructions contained in main memory 806 . Such instructions may be read into main memory 806 from another storage medium, such as storage device 810 . Execution of the sequences of instructions contained in main memory 806 causes processor 804 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
- Non-volatile media includes, for example, optical disks, magnetic disks, or solid-state drives, such as storage device 810 .
- Volatile media includes dynamic memory, such as main memory 806 .
- storage media include, for example, a floppy disk, a flexible disk, hard disk, solid-state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge.
- Storage media is distinct from but may be used in conjunction with transmission media.
- Transmission media participates in transferring information between storage media.
- transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 802 .
- transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
- Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 804 for execution.
- the instructions may initially be carried on a magnetic disk or solid-state drive of a remote computer.
- the remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem.
- a modem local to computer system 800 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal.
- An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 802 .
- Bus 802 carries the data to main memory 806 , from which processor 804 retrieves and executes the instructions.
- the instructions received by main memory 806 may optionally be stored on storage device 810 either before or after execution by processor 804 .
- Computer system 800 also includes a communication interface 818 coupled to bus 802 .
- Communication interface 818 provides a two-way data communication coupling to a network link 820 that is connected to a local network 822 .
- communication interface 818 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
- ISDN integrated services digital network
- communication interface 818 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
- LAN local area network
- Wireless links may also be implemented.
- communication interface 818 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
- Network link 820 typically provides data communication through one or more networks to other data devices.
- network link 820 may provide a connection through local network 822 to a host computer 824 or to data equipment operated by an Internet Service Provider (ISP) 826 .
- ISP 826 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 828 .
- Internet 828 uses electrical, electromagnetic or optical signals that carry digital data streams.
- the signals through the various networks and the signals on network link 820 and through communication interface 818 which carry the digital data to and from computer system 800 , are example forms of transmission media.
- Computer system 800 can send messages and receive data, including program code, through the network(s), network link 820 and communication interface 818 .
- a server 830 might transmit a requested code for an application program through Internet 828 , ISP 826 , local network 822 and communication interface 818 .
- the received code may be executed by processor 804 as it is received, and/or stored in storage device 810 , or other non-volatile storage for later execution.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims (30)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/651,248 US10123088B2 (en) | 2012-10-12 | 2012-10-12 | Method and system for channel searching and filtering |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/651,248 US10123088B2 (en) | 2012-10-12 | 2012-10-12 | Method and system for channel searching and filtering |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140104495A1 US20140104495A1 (en) | 2014-04-17 |
US10123088B2 true US10123088B2 (en) | 2018-11-06 |
Family
ID=50475033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/651,248 Active US10123088B2 (en) | 2012-10-12 | 2012-10-12 | Method and system for channel searching and filtering |
Country Status (1)
Country | Link |
---|---|
US (1) | US10123088B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200396495A1 (en) * | 2019-06-17 | 2020-12-17 | Accenture Global Solutions Limited | Enabling return path data on a non-hybrid set top box for a television |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9930417B2 (en) * | 2013-07-11 | 2018-03-27 | Time Warner Cable Enterprises Llc | Video browser |
EP3029950A1 (en) * | 2014-12-03 | 2016-06-08 | Advanced Digital Broadcast S.A. | System and method for graphical user interface mosaic |
KR102454746B1 (en) * | 2015-10-01 | 2022-10-17 | 삼성전자주식회사 | Apparatus and method for transmitting and receiving for media resource identification informaitonin a communication system |
CN108702536B (en) * | 2016-02-17 | 2021-11-05 | 三星电子株式会社 | Method and apparatus for providing content-related information for multimedia service |
US10187678B2 (en) * | 2016-11-17 | 2019-01-22 | Rovi Guides, Inc. | Systems and methods for displaying segments of media guidance data |
US10257572B2 (en) | 2017-01-03 | 2019-04-09 | Bliss Point Media, Inc. | Optimization of broadcast event effectiveness |
US11368752B2 (en) | 2017-01-03 | 2022-06-21 | Bliss Point Media, Inc. | Optimization of broadcast event effectiveness |
US10869092B2 (en) * | 2017-03-13 | 2020-12-15 | DISH Technologies L.L.C. | Systems and methods for an adaptive electronic program guide |
US12062080B2 (en) * | 2021-07-14 | 2024-08-13 | Rakuten Group, Inc. | Reducing sample selection bias in a machine learning-based recommender system |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141003A (en) * | 1997-03-18 | 2000-10-31 | Microsoft Corporation | Channel bar user interface for an entertainment system |
US20030137605A1 (en) * | 2002-01-21 | 2003-07-24 | Samsung Electronics Co., Ltd. | Channel tuning method and television using channel name auto completion function |
US6766526B1 (en) * | 1998-12-03 | 2004-07-20 | United Video Properties, Inc. | Smart channel entry system |
US20050155063A1 (en) * | 1999-04-15 | 2005-07-14 | Sedna Patent Services, Llc | Server-centric customized interactive program guide in an interactive television environment |
US20050204387A1 (en) * | 1998-11-30 | 2005-09-15 | Knudson Edward B. | Interactive program guide system and method |
US20050278741A1 (en) * | 1997-03-31 | 2005-12-15 | Microsoft Corporation | Query-based electronic program guide |
US20060174272A1 (en) * | 2005-01-31 | 2006-08-03 | Samsung Electronics Co., Ltd. | Video processing apparatus |
US20070143790A1 (en) * | 2005-12-16 | 2007-06-21 | Sbc Knowledge Ventures, L.P. | System and method for channel selection on a set-top box |
US20070157236A1 (en) * | 2005-12-22 | 2007-07-05 | Samsung Electronics Co., Ltd. | Broadcast receiving apparatus and method |
US20070288987A1 (en) * | 2006-04-18 | 2007-12-13 | Samsung Electronics Co., Ltd. | Device and method for editing channel list of digital broadcasting service |
US20080244643A1 (en) * | 2007-03-30 | 2008-10-02 | Verizon Laboratories Inc. | System and Method for Alphanumeric Channel-Changing |
US20080276277A1 (en) * | 2007-05-03 | 2008-11-06 | Samsung Electronics Co., Ltd. | Method and system for presenting television program guide information based on viewer usage patterns |
US20090284472A1 (en) * | 2008-05-19 | 2009-11-19 | Omega3 Systems, Inc. | System and method for controlling an electronic device |
US20110231878A1 (en) * | 2010-03-22 | 2011-09-22 | Mobitv, Inc. | Tile based media content selection |
US20110292286A1 (en) * | 2009-02-03 | 2011-12-01 | Lg Innotek Co., Ltd. | Broadcasting reception system and method for selecting broadcasting channel using the same |
US20120054803A1 (en) * | 2010-09-01 | 2012-03-01 | Lee Haneul | Image display apparatus and method for operating the same |
US20120110621A1 (en) * | 2010-11-03 | 2012-05-03 | Google Inc. | Social Aspects of Media Guides |
US8191094B2 (en) * | 2007-06-11 | 2012-05-29 | Microsoft Corporation | Channel filter for a content player |
US8225356B2 (en) * | 2008-10-02 | 2012-07-17 | Echostar Technologies L.L.C. | Media channel selection |
US8490198B2 (en) * | 2007-05-18 | 2013-07-16 | Apple Inc. | Techniques for local personalization of content |
US20130216208A1 (en) * | 2011-08-23 | 2013-08-22 | Echostar Technologies L.L.C. | System and method for dynamically adjusting recording parameters |
US8843958B2 (en) * | 2005-12-22 | 2014-09-23 | Samsung Electronics Co., Ltd. | Broadcast receiving apparatus and method for displaying and selecting channel information |
US8869210B2 (en) * | 2006-08-31 | 2014-10-21 | Canon Kabushiki Kaisha | Broadcast receiving apparatus, control method thereof, and storage medium |
US8937687B2 (en) * | 2008-09-30 | 2015-01-20 | Echostar Technologies L.L.C. | Systems and methods for graphical control of symbol-based features in a television receiver |
US9332317B1 (en) * | 2009-06-08 | 2016-05-03 | The Directv Group, Inc. | Method and apparatus to search for program content via a remote control interface |
US9473729B2 (en) * | 2007-10-19 | 2016-10-18 | Sky Uk Limited | Television display |
-
2012
- 2012-10-12 US US13/651,248 patent/US10123088B2/en active Active
Patent Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141003A (en) * | 1997-03-18 | 2000-10-31 | Microsoft Corporation | Channel bar user interface for an entertainment system |
US20050278741A1 (en) * | 1997-03-31 | 2005-12-15 | Microsoft Corporation | Query-based electronic program guide |
US20050204387A1 (en) * | 1998-11-30 | 2005-09-15 | Knudson Edward B. | Interactive program guide system and method |
US6766526B1 (en) * | 1998-12-03 | 2004-07-20 | United Video Properties, Inc. | Smart channel entry system |
US20050155063A1 (en) * | 1999-04-15 | 2005-07-14 | Sedna Patent Services, Llc | Server-centric customized interactive program guide in an interactive television environment |
US7224409B2 (en) * | 2002-01-21 | 2007-05-29 | Samsung Electronics Co., Ltd. | Channel tuning method and television using channel name auto completion function |
US20030137605A1 (en) * | 2002-01-21 | 2003-07-24 | Samsung Electronics Co., Ltd. | Channel tuning method and television using channel name auto completion function |
US20060174272A1 (en) * | 2005-01-31 | 2006-08-03 | Samsung Electronics Co., Ltd. | Video processing apparatus |
US20070143790A1 (en) * | 2005-12-16 | 2007-06-21 | Sbc Knowledge Ventures, L.P. | System and method for channel selection on a set-top box |
US20070157236A1 (en) * | 2005-12-22 | 2007-07-05 | Samsung Electronics Co., Ltd. | Broadcast receiving apparatus and method |
US8843958B2 (en) * | 2005-12-22 | 2014-09-23 | Samsung Electronics Co., Ltd. | Broadcast receiving apparatus and method for displaying and selecting channel information |
US20070288987A1 (en) * | 2006-04-18 | 2007-12-13 | Samsung Electronics Co., Ltd. | Device and method for editing channel list of digital broadcasting service |
US8869210B2 (en) * | 2006-08-31 | 2014-10-21 | Canon Kabushiki Kaisha | Broadcast receiving apparatus, control method thereof, and storage medium |
US20080244643A1 (en) * | 2007-03-30 | 2008-10-02 | Verizon Laboratories Inc. | System and Method for Alphanumeric Channel-Changing |
US20080276277A1 (en) * | 2007-05-03 | 2008-11-06 | Samsung Electronics Co., Ltd. | Method and system for presenting television program guide information based on viewer usage patterns |
US8490198B2 (en) * | 2007-05-18 | 2013-07-16 | Apple Inc. | Techniques for local personalization of content |
US8191094B2 (en) * | 2007-06-11 | 2012-05-29 | Microsoft Corporation | Channel filter for a content player |
US9473729B2 (en) * | 2007-10-19 | 2016-10-18 | Sky Uk Limited | Television display |
US20090284472A1 (en) * | 2008-05-19 | 2009-11-19 | Omega3 Systems, Inc. | System and method for controlling an electronic device |
US8937687B2 (en) * | 2008-09-30 | 2015-01-20 | Echostar Technologies L.L.C. | Systems and methods for graphical control of symbol-based features in a television receiver |
US8225356B2 (en) * | 2008-10-02 | 2012-07-17 | Echostar Technologies L.L.C. | Media channel selection |
US20110292286A1 (en) * | 2009-02-03 | 2011-12-01 | Lg Innotek Co., Ltd. | Broadcasting reception system and method for selecting broadcasting channel using the same |
US9332317B1 (en) * | 2009-06-08 | 2016-05-03 | The Directv Group, Inc. | Method and apparatus to search for program content via a remote control interface |
US20110231878A1 (en) * | 2010-03-22 | 2011-09-22 | Mobitv, Inc. | Tile based media content selection |
US20120054803A1 (en) * | 2010-09-01 | 2012-03-01 | Lee Haneul | Image display apparatus and method for operating the same |
US20120110621A1 (en) * | 2010-11-03 | 2012-05-03 | Google Inc. | Social Aspects of Media Guides |
US20130216208A1 (en) * | 2011-08-23 | 2013-08-22 | Echostar Technologies L.L.C. | System and method for dynamically adjusting recording parameters |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200396495A1 (en) * | 2019-06-17 | 2020-12-17 | Accenture Global Solutions Limited | Enabling return path data on a non-hybrid set top box for a television |
US11146843B2 (en) * | 2019-06-17 | 2021-10-12 | Accenture Global Solutions Limited | Enabling return path data on a non-hybrid set top box for a television |
Also Published As
Publication number | Publication date |
---|---|
US20140104495A1 (en) | 2014-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10123088B2 (en) | Method and system for channel searching and filtering | |
US8321891B2 (en) | Method and system for assigning categories to channels in a subscriber television system | |
US8769572B2 (en) | System and method for providing an interactive program guide having date and time toolbars | |
KR20150130048A (en) | Display apparatus and control method of the same | |
US11671648B2 (en) | Apparatus, systems and methods for electronic program guide information presented on a display | |
US20120180090A1 (en) | Method for displaying video and broadcast receiving apparatus applying the same | |
KR100467622B1 (en) | Apparatus and method for displaying electronic program guide | |
US20090265739A1 (en) | Method and system for channel selection in a digital broadcast reception terminal | |
JP4798184B2 (en) | Program guide display control device, program guide display device, and program guide display control method | |
KR101171872B1 (en) | Receiving device, receiving method and computer readable recording medium storing receiving program | |
WO2009069975A1 (en) | Electronic program guide displaying method | |
US20100205633A1 (en) | Display apparatus, display method, and display program | |
JP2006254407A (en) | Method for displaying electronic program guide | |
JP4498093B2 (en) | Broadcast receiving apparatus, program, and recording medium | |
KR20050094232A (en) | Method for embodying digital epg | |
JP5158894B2 (en) | Broadcast receiving apparatus, program, and recording medium | |
KR101348646B1 (en) | Digital Multimedia Broadcasting Receiver for Effectively Managing Channels and Method thereof | |
JP2011035862A (en) | Content viewing apparatus and content display apparatus | |
KR20010045353A (en) | Folder type electronic program guide | |
KR20090074639A (en) | Method of providing an information of a broadcast program | |
KR101562677B1 (en) | Method and Apparatus for providing program guide service based on tag | |
JP2007096401A (en) | Broadcast receiver | |
JP2009077013A (en) | Digital broadcast receiver and program for achieving function of same | |
JP2008092339A (en) | Electronic program guide display system, and television receiver | |
KR100577153B1 (en) | method for display control of electronic program guide in TV |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TIVO INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PRESTON, JAMES;KRANTZLER, IRVAN J.;SIGNING DATES FROM 20121016 TO 20121017;REEL/FRAME:030992/0990 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:TIVO SOLUTIONS INC.;REEL/FRAME:041076/0051 Effective date: 20160915 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL Free format text: SECURITY INTEREST;ASSIGNOR:TIVO SOLUTIONS INC.;REEL/FRAME:041076/0051 Effective date: 20160915 |
|
AS | Assignment |
Owner name: TIVO SOLUTIONS INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:TIVO INC.;REEL/FRAME:041493/0822 Effective date: 20160908 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT, Free format text: SECURITY INTEREST;ASSIGNORS:ROVI SOLUTIONS CORPORATION;ROVI TECHNOLOGIES CORPORATION;ROVI GUIDES, INC.;AND OTHERS;REEL/FRAME:051143/0468 Effective date: 20191122 Owner name: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:ROVI SOLUTIONS CORPORATION;ROVI TECHNOLOGIES CORPORATION;ROVI GUIDES, INC.;AND OTHERS;REEL/FRAME:051143/0468 Effective date: 20191122 |
|
AS | Assignment |
Owner name: TIVO SOLUTIONS INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:051109/0969 Effective date: 20191122 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:ROVI SOLUTIONS CORPORATION;ROVI TECHNOLOGIES CORPORATION;ROVI GUIDES, INC.;AND OTHERS;REEL/FRAME:051110/0006 Effective date: 20191122 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT, MARYLAND Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:ROVI SOLUTIONS CORPORATION;ROVI TECHNOLOGIES CORPORATION;ROVI GUIDES, INC.;AND OTHERS;REEL/FRAME:051110/0006 Effective date: 20191122 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., NORTH CAROLINA Free format text: SECURITY INTEREST;ASSIGNORS:ROVI SOLUTIONS CORPORATION;ROVI TECHNOLOGIES CORPORATION;ROVI GUIDES, INC.;AND OTHERS;REEL/FRAME:053468/0001 Effective date: 20200601 |
|
AS | Assignment |
Owner name: ROVI TECHNOLOGIES CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HPS INVESTMENT PARTNERS, LLC;REEL/FRAME:053458/0749 Effective date: 20200601 Owner name: VEVEO, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HPS INVESTMENT PARTNERS, LLC;REEL/FRAME:053458/0749 Effective date: 20200601 Owner name: TIVO SOLUTIONS, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HPS INVESTMENT PARTNERS, LLC;REEL/FRAME:053458/0749 Effective date: 20200601 Owner name: ROVI SOLUTIONS CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HPS INVESTMENT PARTNERS, LLC;REEL/FRAME:053458/0749 Effective date: 20200601 Owner name: ROVI GUIDES, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HPS INVESTMENT PARTNERS, LLC;REEL/FRAME:053458/0749 Effective date: 20200601 Owner name: ROVI SOLUTIONS CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:053481/0790 Effective date: 20200601 Owner name: VEVEO, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:053481/0790 Effective date: 20200601 Owner name: TIVO SOLUTIONS, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:053481/0790 Effective date: 20200601 Owner name: ROVI TECHNOLOGIES CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:053481/0790 Effective date: 20200601 Owner name: ROVI GUIDES, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:053481/0790 Effective date: 20200601 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: ADEIA MEDIA SOLUTIONS INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:TIVO SOLUTIONS INC.;REEL/FRAME:061744/0964 Effective date: 20220815 Owner name: ROVI PRODUCT CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ADEIA MEDIA SOLUTIONS INC.;REEL/FRAME:061503/0518 Effective date: 20220913 |
|
AS | Assignment |
Owner name: ROVI PRODUCT CORPORATION (AS SUCCESSOR-IN-INTEREST TO TIVO SOLUTIONS, INC.), CALIFORNIA Free format text: PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:061788/0401 Effective date: 20221025 |