IP Library Granted Patent US 11,350,176
Granted Patent B2
US 11,350,176 · App. 16/427,674 · Granted May 31, 2022

Adaptive on-screen guide based on channel or content transition commands

Inventors: Michael James Brehm (Allen, TX); Benjamin Harden (Coronado, CA)
Assignee: ROVI GUIDES, INC.
H04N21/4825H04N21/4383H04N21/454H04N21/4821H04N21/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,350,176
App. No.
16/427,674
Granted
May 31, 2022
Kind
B2
Abstract

Systems and methods for generating a channel sequence for display via an abbreviated on-screen guide are disclosed herein. Channel tuning commands are entered via a user interface of a computing device. Channel tuning data, which describes channel transitions caused by the channel tuning commands, is stored in a buffer. Based on the channel tuning data, a channel family comprising a plurality of channels is generated. A determination is made as to whether a currently tuned channel is included in the channel family. In response to determining that the currently tuned channel is included in the channel family, an on-screen guide, which comprises an abbreviated channel listing of the plurality of channels of the channel family, is generated for display.

Claims (61)

1. A method for generating a channel sequence for display via an abbreviated on-screen guide, the method comprising:

receiving channel tuning commands entered via a user interface;

storing, in a buffer, channel tuning data describing channel transitions caused by the channel tuning commands, wherein the channel tuning data comprises, for each respective channel transition caused by a corresponding channel tuning command, an indication that a first channel was switched to a second channel in response to receiving the channel tuning command;

generating a baseline channel transition matrix based on the channel tuning data, each entry of the baseline channel transition matrix indicating a respective number of channel transitions from the first channel to the second channel caused by the channel tuning commands;

determining at least one of a current day or a current time;

filtering the channel tuning data to include only channel tuning data for channel tuning commands received at a day or time within a degree of proximity to the current day or current time;

generating a filtered channel transition matrix based on the filtered channel tuning data, each entry of the filtered channel transition matrix indicating a respective number of channel transitions from the first channel to the second channel caused by the channel tuning commands for the filtered channel tuning data;

generating, based on the channel tuning data, a channel family comprising a plurality of channels;

determining whether a currently tuned channel is included in the channel family; and

in response to determining that the currently tuned channel is included in the channel family, generating for display an on-screen guide comprising an abbreviated channel listing of the plurality of channels of the channel family.

2. The method of claim 1 , the channel tuning data comprising, for each of the channel tuning commands, a tune-from channel identifier, a tune-to channel identifier, and at least one of a transition date identifier or a transition time identifier.

3. The method of claim 1 , wherein the determining whether the currently tuned channel is included in the channel family comprises:

obtaining an identifier of the currently tuned channel;

retrieving, from a memory, identifiers of the plurality of channels; and

determining whether the identifiers of the plurality of channels of the channel family include the currently tuned channel identifier.

4. The method of claim 1 ,

wherein the generating of the channel family is further based on the baseline channel transition matrix.

5. The method of claim 1 ,

wherein the generating of the channel family is further based on the filtered channel transition matrix.

6. The method of claim 1 , further comprising:

generating an augmented channel transition matrix based on a weighted combination of the baseline channel transition matrix and the filtered channel transition matrix, wherein the generating of the channel family is further based on the augmented channel transition matrix.

7. The method of claim 6 , further comprising:

generating, based on the augmented channel transition matrix, an undirected graph comprising channel vertices and channel transition edges; and

computing a local clustering coefficient for a channel vertex from among the channel vertices, wherein the generating of the channel family is performed for the channel vertex based on the local clustering coefficient.

8. The method of claim 7 , wherein the channel vertices correspond to channels in a channel lineup and the channel transition edges correspond to the channel transitions caused by the channel tuning commands.

9. The method of claim 7 , further comprising:

comparing the local clustering coefficient to a threshold to determine whether the local clustering coefficient exceeds the threshold;

wherein the channel family is generated in response to a determination that the local clustering coefficient exceeds the threshold.

10. The method of claim 1 , further comprising:

adding a channel to the channel family based on collaborative filtering of a plurality of additional channel families generated based on channel tuning data from other devices.

11. A system for generating a channel sequence for display via an abbreviated onscreen guide, the system comprising:

a communication port configured to receive channel tuning commands entered via a user interface;

a memory configured to store, in a buffer, channel tuning data describing channel transitions caused by the channel tuning commands, wherein the channel tuning data comprises, for each respective channel transition caused by a corresponding channel tuning command, an indication that a first channel was switched to a second channel in response to receiving the channel tuning command; and

control circuitry configured to:

generate a baseline channel transition matrix based on the channel tuning data, each entry of the baseline channel transition matrix indicating a respective number of channel transitions from the first channel to the second channel caused by the channel tuning commands;

determine at least one of a current day or a current time;

filter the channel tuning data to include only channel tuning data for channel tuning commands received at a day or time within a degree of proximity to the current day or current time;

generate a filtered channel transition matrix based on the filtered channel tuning data, each entry of the filtered channel transition matrix indicating a respective number of channel transitions from the first channel to the second channel caused by the channel tuning commands for the filtered channel tuning;

generate, based on the channel tuning data, a channel family comprising a plurality of channels;

determine whether a currently tuned channel is included in the channel family; and

in response to determining that the currently tuned channel is included in the channel family, generate for display an on-screen guide comprising an abbreviated channel listing of the plurality of channels of the channel family.

12. The system of claim 11 , wherein the channel tuning data comprises, for each of the channel tuning commands, a tune-from channel identifier, a tune-to channel identifier, and at least one of a transition date identifier or a transition time identifier.

13. The system of claim 11 , wherein the control circuitry is further configured to determine whether the currently tuned channel is included in the channel family by:

obtaining an identifier of the currently tuned channel;

retrieving, from the memory, identifiers of the plurality of channels; and

determining whether the identifiers of the plurality of channels of the channel family include the currently tuned channel identifier.

14. The system of claim 11 , wherein the control circuitry is further configured to

generate the channel family further based on the channel transition matrix.

15. The system of claim 11 , wherein the control circuitry is further configured to

generate the channel family further based on the filtered channel transition matrix.

16. The system of claim 11 , wherein the control circuitry is further configured to:

generate an augmented channel transition matrix based on a weighted combination of the baseline channel transition matrix and the filtered channel transition matrix, and generate the channel family further based on the augmented channel transition matrix.

17. The system of claim 16 , wherein the control circuitry is further configured to:

generate, based on the augmented channel transition matrix, an undirected graph comprising channel vertices and channel transition edges; and

compute a local clustering coefficient for a channel vertex from among the channel vertices, and generate the channel family for the channel vertex based on the local clustering coefficient.

18. The system of claim 17 , wherein the channel vertices correspond to channels in a channel lineup and the channel transition edges correspond to the channel transitions caused by the channel tuning commands.

19. The system of claim 17 , wherein the control circuitry is further configured to:

compare the local clustering coefficient to a threshold to determine whether the local clustering coefficient exceeds the threshold, and

generate the channel family in response to a determination that the local clustering coefficient exceeds the threshold.

20. The system of claim 11 , wherein the control circuitry is further configured to:

add a channel to the channel family based on collaborative filtering of a plurality of additional channel families generated based on channel tuning data from other devices.

Assignments (7)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0231 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2019
From: BREHM, MICHAEL JAMES; HARDEN, BENJAMIN
To: ROVI GUIDES, INC.
Reel/Frame 049943/0943 →
Continuity (1)
Related Publication 20200382843A1 · Dec 3, 2020