# US 10,313,756 B2 · System and methods for recommending a media asset relating to a character unknown to a user

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

- Number: US 10,313,756 B2
- Document ID: US10313756B2
- Status: Granted
- Kind: B2
- Application number: 15/449,179
- Filed: 2017-03-03
- Published: 2018-09-06
- Granted: 2019-06-04
- Earliest claimed: 2017-03-03
- Assignees: Rovi Guides, Inc.
- Applicants: Rovi Guides, Inc.
- Inventors: Vishwas Sharadanagar Panchaksharaiah; Ashwini Dharwa; Gaurav Gupta; Harsha Neerakani
- Web page: https://patentgrep.com/patent/US10313756B2

## CPC

- H04N 21/4668: {for recommending content, e.g. movies}
- G06F 16/735: Filtering based on additional data, e.g. user or group profiles
- H04N 21/23418: {involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/4532: {involving end-user characteristics, e.g. viewer profile, preferences (monitoring of user activities for profile generation for accessing a video database G06F16/739; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/4667: {Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections}
- H04N 21/4821: {using a grid, e.g. sorted out by channel and broadcast time}
- H04N 21/8133: {specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video programme}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N 21/8547: involving timestamps for synchronizing content
- H04N 21/4316: {for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for recommending a media asset relating to a character unknown to a user are provided herein. The systems and methods may receive a first media asset viewed by a user, determine a first character in the first media asset, and include the first character in the character viewing profile for the user. Further, the systems and methods may receive a second media asset, including the first character, determine that a second character appears in the second media asset, and determine that the second character is not in the character viewing profile. The systems and methods may recommend a third media asset to the user for the second character.

## Claims

### Claim 1

A method for recommending audio/video relating to a character unknown to a user, comprising:
receiving, at a remote server, a first audio/video viewed by a user;
splitting, by the remote server, the first audio/video into a first plurality of segments;
determining, by the remote server, that a first character appears in a threshold number of the first plurality of segments;
determining, by the remote server, whether the first character has a corresponding first data structure in a character viewing profile for the user;
in response to determining that the first character does not have the corresponding first data structure in the character viewing profile, inserting, by the remote server, the first data structure in the character viewing profile;
in response to determining that the first character has the corresponding first data structure in the character viewing profile, updating, by the remote server, the first data structure in the character viewing profile;
receiving, at the remote server, a second audio/video, including the first character, to be viewed by the user;
splitting, by the remote server, the second audio/video into a second plurality of segments;
determining, by the remote server, that a second character appears in the threshold number of the second plurality of segments;
determining, by the remote server, whether the second character has a corresponding second data structure in the character viewing profile; and
in response to determining that the second character does not have the corresponding second data structure in the character viewing profile, recommending, by the remote server, a third audio/video to the user for the second character.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving a sensor input;
determining that the user consumed the threshold number of the first plurality of segments, based on the sensor input; and
in response to determining that the user consumed the threshold number of the first plurality of segments, receiving the first audio/video viewed by the user.

### Claim 3 (depends on 1)

The method of claim 1, wherein splitting the first audio/video into a first plurality of segments, comprises:
receiving a data structure associated with the first audio/video; and
splitting the data structure into a third plurality of segments, wherein each segment contains an equal portion of the data structure.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining that the first character appears in the threshold number of the first plurality of segments comprises:
receiving video characteristics of the first character; receiving a segment from the first plurality of segments; extracting a set of frames from the segment; selecting a frame from the set of frames;
determining whether the first character is in the frame based on the video characteristics of the first character;
in response to determining that the first character is in the frame, increasing a counter associated with the first character;
determining whether there are segments remaining to be analyzed; in response to determining that there are no segments remaining to be analyzed, determining that the counter is greater than the threshold number; and
in response to determining that the counter is greater than the threshold number, determining that the first character appears in the threshold number of the first plurality of segments.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining that the first character appears in the threshold number of the first plurality of segments, comprises:
receiving audio characteristics of the first character; receiving a segment from the first plurality of segments; extracting a set of words relating to the segment; selecting a word from the set of words;
determining whether the first character said the word, based on the audio characteristics of the first character;
in response to determining that the first character said the word, increasing a counter associated with the first character;
determining whether there are segments remaining to be analyzed; in response to determining that there are no segments remaining to be analyzed, determining that the counter is greater than the threshold number; and
in response to determining that the counter is greater than the threshold number, determining that the first character appears in the threshold number of the first plurality of segments.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining that the first character appears in the threshold number of the first plurality of segments, comprises:
receiving a name for the first character; receiving a segment from the first plurality of segments; extracting a set of words relating to the segment; selecting a word from the set of words;
determining whether the name of the first character is the word; in response to determining that the name of the first character is the word, increasing a counter associated with the first character;
determining whether there are segments remaining to be analyzed; in response to determining that there are no segments remaining to be analyzed, determining that the counter is greater than the threshold number; and
in response to determining that the counter is greater than the threshold number, determining that the first character appears in the threshold number of the first plurality of segments.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
storing a time stamp in the first data structure corresponding to when the user viewed the first audio/video.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
in response to determining that the second character has the corresponding second data structure in the character viewing profile:
receiving a threshold period relating to a user retention of the second character;
determining a current period between the time stamp and a current time; and
determining that the current period exceeds the threshold period; and
in response to determining that the current period exceeds the threshold period, recommending a third audio/video to the user for the second character.

### Claim 9 (depends on 7)

The method of claim 7, further comprising:
receiving an expiration period associated with the first character;
determining a current period between the time stamp and a current time;
determining that the current period exceeds the expiration period; and
in response to determining that the current period exceeds the expiration period, recommending the first audio/video to the user for the first character.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving a second character viewing profile of a second user;
determining that the second character has the corresponding second data structure in the second character viewing profile; and
in response to determining that the second character has the second data structure in the character viewing profile, recommending to the user to refer to the second user.

### Claim 11

A system for recommending audio/video relating to a character unknown to a user, the system comprising:
a remote server having control circuitry configured to:
receive a first audio/video viewed by a user;
split the first audio/video into a first plurality of segments;
determine that a first character appears in a threshold number of the first plurality of segments;
determine whether the first character has a corresponding first data structure in a character viewing profile for the user;
in response to determining that the first character does not have the corresponding first data structure in the character viewing profile, inserting the first data structure in the character viewing profile;
in response to determining that the first character has the corresponding first data structure in the character viewing profile, update the first data structure in the character viewing profile;
receive a second audio/video, including the first character, to be viewed by the user;
split the second audio/video into a second plurality of segments; determine that a second character appears in the threshold number of the second plurality of segments;
determine whether the second character has a corresponding second data structure in the character viewing profile; and
in response to determining that the second character does not have the corresponding second data structure in the character viewing profile, recommend a third audio/video to the user for the second character.

### Claim 12 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
receive a sensor input;
determine that the user consumed the threshold number of the first plurality of segments, based on the sensor input; and
in response to determining that the user consumed the threshold number of the first plurality of segments, receive the first audio/video viewed by the user.

### Claim 13 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured, when splitting the first audio/video into a first plurality of segments, to:
receive a data structure associated with the first audio/video; and
split the data structure into a third plurality of segments, wherein each segment contains an equal portion of the data structure.

### Claim 14 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured, when determining that the first character appears in the threshold number of the first plurality of segments, to:
receive video characteristics of the first character; receive a segment from the first plurality of segments; extract a set of frames from the segment; select a frame from the set of frames;
determine whether the first character is in the frame based on the video characteristics of the first character;
in response to determining that the first character is in the frame, increase a counter associated with the first character;
determine whether there are segments remaining to be analyzed; in response to determining that there are no segments remaining to be analyzed, determine that the counter is greater than the threshold number; and
in response to determining that the counter is greater than the threshold number, determine that the first character appears in a threshold number of the first plurality of segments.

### Claim 15 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured, when determining that the first character appears in the threshold number of the first plurality of segments, to:
receive audio characteristics of the first character;
receive a segment from the first plurality of segments;
extract a set of words relating to the segment;
select a word from the set of words;
determine whether the first character said the word, based on the audio characteristics of the first character;
in response to determining that the first character said the word, increase a counter associated with the first character;
determine whether there are segments remaining to be analyzed;
in response to determining that there are no segments remaining to be analyzed, determine that the counter is greater than the threshold number; and
in response to determining that the counter is greater than the threshold number, determine that the first character appears in a threshold number of the first plurality of segments.

### Claim 16 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured, when determining that the first character appears in the threshold number of the first plurality of segments, to:
receive a name for the first character;
receive a segment from the first plurality of segments;
extract a set of words relating to the segment;
select a word from the set of words;
determine whether the name of the first character is the word;
in response to determining that the name of the first character is the word, increase a counter associated with the first character;
determine whether there are segments remaining to be analyzed;
in response to determining that there are no segments remaining to be analyzed, determine that the counter is greater than the threshold number; and
in response to determining that the counter is greater than the threshold number, determine that the first character appears in a threshold number of the first plurality of segments.

### Claim 17 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
store a time stamp in the first data structure corresponding to when the user viewed the first audio/video.

### Claim 18 (depends on 17)

The system of claim 17, wherein the control circuitry is further configured to:
in response to determining that the second character has the corresponding second data structure in the character viewing profile:
receive a threshold period relating to a user retention of the second character;
determine a current period between the time stamp and a current time; and
determine that the current period exceeds the threshold period; and
in response to determining that the current period exceeds the threshold period, recommend a third audio/video to the user for the second character.

### Claim 19 (depends on 17)

The system of claim 17, wherein the control circuitry is further configured to:
receive an expiration period associated with the first character;
determine a current period between the time stamp and a current time;
determine that the current period exceeds the expiration period; and
in response to determining that the current period exceeds the expiration period, recommend the first audio/video to the user for the first character.

### Claim 20 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
receive a second character viewing profile of a second user;
determine that the second character has the corresponding second data structure in the second character viewing profile; and
in response to determining that the second character has the second data structure in the character viewing profile, recommend to the user to refer to the second user.
