# US 2019/0356947 A1 · Predictive tuning system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0356947 A1
- Document ID: US20190356947A1
- Status: Published application
- Kind: A1
- Application number: 16/478,017
- Filed: 2017-02-24
- Published: 2019-11-21
- Earliest claimed: 2016-02-24
- Assignees: Nos Inovacao, S.A.
- Applicants: Nos Inovacao, S.A.
- Inventors: Nelson FERNANDES FEITICEIRO SOARES DELICADO; Catarina Alexandra MARQUES VITAL; Barbara Maria GARBACZ; Sonia Sofia SANTOS RODRIGUES; Mario MAGALHAES SARAIVA; Andre RAMALHO DOS SANTOS ROSADO; Ana Raquel DOS REIS FERNANDES GAMA; Bruno DE SOUSA ROSA DA CRUZ FERNANDES
- Web page: https://patentgrep.com/patent/US20190356947A1

## CPC

- H04N 21/4384: {involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency}
- H04N 21/44204: {Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched (monitoring of user activities for profile generation for accessing a video database G06F16/739; protecting generic digital content where the protection is independent of the precise nature of the content G06F21/10; arrangements for monitoring the use made of the broadcast services in broadcast systems H04H60/31)}
- H04N 5/50: Tuning indicators; Automatic tuning control
- H04N 21/4263: {involving specific tuning arrangements, e.g. two tuners}
- H04N 21/44224: {Monitoring of user activity on external systems, e.g. Internet browsing}
- H04N 21/6118: {involving cable transmission, e.g. using a cable modem}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A predictive tuning system is disclosed in order to reduce the tuning channel delay time in a cable TV architecture. The system comprises a set-top box (STB) configured to instantiate a given number of video decoding pipelines allowing for start broadcasting a particular set of channels which include a sub-set of pre-define channels, such as the antecessor and predecessor channels which are normally pre-tuned, and other sub-set of channels chosen using a predictive algorithm. This algorithm runs locally at the user interface level of the STB suggesting the more likely channels to be watched by the user according to his past behavior according to a specific time slot of a day.

## Claims

### Claim at position 1

1-14. (canceled)

### Claim 15

A predictive tuning algorithm configured to be implemented in a set-top box architecture comprising pre-tuning a pre-defined number of channels, c, according to the following steps:
set-top box, in every channel changed event, transmitting the following input variables to the predictive tuning algorithm:
a user identification;
the channel inputted by the user, ce;
respective time of watch, h;
a pre-define number of channels, c;
a watched channels memory array corresponding to the time slot xxyy of h;
updating and analyzing the watched channels memory array according to the channel inputted by the user;
outputting a number of c channels according to the watched channels memory array in that time slot and the fixed β channels that are always primed.

### Claim 16 (depends on 15)

The predictive tuning algorithm according to claim 15, wherein the time slot has a configurable time period.

### Claim 17 (depends on 15)

The predictive tuning algorithm according to claim 15, wherein the watched channels memory array for each time slot is comprised by a matrix of channels, channels_matrix_xxyy and a vector of channels, memory_channels_list_xxyy.

### Claim 18 (depends on 17)

The predictive tuning algorithm according to claim 17, wherein the channels_matrix_xxyy is a matrix with two rows and as many columns as the sum of the number of visualizations of the last x channels.

### Claim 19 (depends on 17)

The predictive tuning algorithm according to claim 17, wherein the memory_channels_list_xxyy is a vector with a FIFO behavior and configurable number of columns, x, recording the channel's flow transition.

### Claim 20 (depends on 17)

The predictive tuning algorithm according to claim 17, wherein the update of the watched channels array comprise the following steps:
in the channels_matrix_xxyy decrement in one unit the number of visualizations of the channel that leaves the memory_channels_list_xxyy; and
if it became zero the channel is removed from the channels_matrix_xxyy by eliminating its column;
in the channels_matrix_xxyy increment in one unit the number of visualizations of the channel ce and record the channel in the memory_channels_list_xxyy;
in case of first time watch in the last x watch channels, the ce will be added to the channels_matrix_xxyy and its visualization number will be incremented in one unit.

### Claim 21 (depends on 17)

The predictive tuning algorithm according to claim 17, wherein the output of c channels is comprised by the following steps:
selecting the (c+β) channels with the higher number of visualizations in the channels_matrix_xxyy and save them in a favorite_channel_list;
if either the actual channel ce, or any of the β channels that are always primed, aren't in the favorite_channel_list, the c first channels in the favorite_channel_list are chosen; or
if one of the actual channel ce, or any of the β channels that are always primed, are in the favorite_channel_list, the c first channels of the list other than ce or any of β channels are chosen.

### Claim 22 (depends on 15)

A set-top box application framework implemented at middleware level configured to interconnect a set-top box software layer running the predictive tuning algorithm of claim 15 and a set-top box hardware implementation layer; said application framework being configured to instantiate a set of video decoding pipelines for pre-tuning a predefined number of channels, (c+β), wherein c is the number of channels outputted from a predictive tuning algorithm, and β is the number of channels that are always primed.

### Claim 23 (depends on 22)

The set-top box application framework, according to claim 22, wherein the application framework is configured to pre-tune a predefined number of channels, β, in addition to the channels outputted from the predictive algorithm, c, representing the antecessor and the predecessor channels of the currently tuned channel.

### Claim 24 (depends on 22)

A predictive tuning system characterized by a Set-top box architecture comprising:
θ number of tuners at the physical level;
a software layer configured to execute the predictive tuning algorithm comprising pre-tuning a pre-defined number of channels, c, according to the following steps:
set-top box, in every channel changed event, transmitting the following input variables to the predictive tuning algorithm:
a user identification;
the channel inputted by the user, ce;
respective time of watch, h;
a pre-define number of channels, c;
a watched channels memory array corresponding to the time slot xxyy of h;
updating and analyzing the watched channels memory array according to the channel inputted by the user;
outputting a number of c channels according to the watched channels memory array in that time slot and the fixed β channels that are always primed;
a middleware layer comprising:
the application framework of claim 22;
a client module configured to find β number of fixed channels that are always primed.

### Claim 25 (depends on 24)

The predictive tuning system according to claim 24, wherein the application framework is configured to instantiate a (c+β) number of video decoding pipelines for θ Transport Stream, wherein c is a predefined number of channels to be predicted.

### Claim 26 (depends on 24)

The predictive tuning system according to claim 24 wherein the Client module is configured to find the predecessor channel, ce(k)+1, and the antecessor channel, ce (k−1), of the currently tuned channel, ce.

### Claim 27 (depends on 24)

The predictive tuning system according to claim 24 wherein each of the θ tuners are configure to tuning a specific Transport Stream carrier.

### Claim 28 (depends on 26)

The predictive tuning system according to claim 26 wherein each of the (c+β) video decoding pipelines, wherein β=2, are configured to:
pre-tune the predecessor channel, ce (k)+1, of the channel ce;
pre-tune the antecessor channel, ce (k−1), of the channel ce;
pre-tune c channels.

### Claim 29 (depends on 23)

A predictive tuning system characterized by a Set-top box architecture comprising:
θ number of tuners at the physical level;
a software layer configured to execute the predictive tuning algorithm comprising pre-tuning a pre-defined number of channels, c, according to the following steps:
set-top box, in every channel changed event, transmitting the following input variables to the predictive tuning algorithm:
a user identification;
the channel inputted by the user, ce;
respective time of watch, h;
a pre-define number of channels, c;
a watched channels memory array corresponding to the time slot xxyy of h;
updating and analyzing the watched channels memory array according to the channel inputted by the user;
outputting a number of c channels according to the watched channels memory array in that time slot and the fixed β channels that are always primed;
a middleware layer comprising:
the application framework of claim 23;
a client module configured to find β number of fixed channels that are always primed.
