IP Library Granted Patent US 11,483,630
Granted Patent B1
US 11,483,630 · App. 17/404,385 · Granted Oct 25, 2022

Systems and methods to generate metadata for content

Inventors: Vishwas Sharadanagar Panchaksharaiah (Karnataka, IN); Vikram Makam Gupta (Karnataka, IN)
Assignee: Rovi Guides, Inc.
H04N21/8405G06F16/735G06F16/783H04N21/44226H04N21/8456
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,483,630
App. No.
17/404,385
Granted
Oct 25, 2022
Kind
B1
Abstract

Systems and methods are described herein for generating metadata for content. Upon detecting a request for a stored media asset from a first device, a server determines that metadata is needed for the media asset based on determining that (a) the server has access to insufficient metadata associated with the media asset and (b) the popularity of the media asset is sufficiently high. The server then assigns at least a time segment of the media asset to the first device for analysis. After assignment, the first device gathers frame analysis and user input data while the user is viewing the media asset, and transmits the gathered data to the server. The server then uses the frame analysis data and the user input data to generate metadata, and makes the generated metadata available to all devices requesting the media asset.

Claims (98)

1. A method comprising:

storing, by a server, a media asset, wherein the media asset is available to be requested by a plurality of devices;

in response to determining, by the server, (a) that the server has access to insufficient metadata associated with the media asset, and (b) that a popularity score of the media asset is sufficiently high:

in response to detecting a request for the media asset from a first device:

assigning a time segment of the media asset to the first device for analysis;

causing the first device to analyze frames of the time segment of the media asset during playing of the media asset to generate frame analysis data;

causing the first device to capture user input during the playing of the assigned time segment of the media to generate user input data; and

causing the first device to transmit the generated frame analysis data and the generated user input data to the server;

generating, by the server, metadata for the media asset based on the generated frame analysis data and the generated user input data; and

making, by the server, the generated metadata for the media asset available to the plurality of devices.

2. The method of claim 1 , wherein the media asset is a first media asset, and the determining that the server has access to insufficient metadata associated with the media asset comprises:

storing, by the server, a plurality of media assets, wherein the plurality of media assets is available to be requested by the plurality of devices;

identifying, by the server, a second media asset of the plurality of media assets, wherein the second media asset has received a similar number of requests as the first media asset;

determining, by the server, a current number of metadata items associated with the second media asset;

setting, by the server, a threshold value based on the current number of metadata items associated with the second media asset;

determining a current number of metadata items associated with the first media asset stored by the server; and

determining that the current number of metadata items associated with the first media asset is below the threshold value set by the server.

3. The method of claim 1 , wherein the media asset is a first media asset, and the determining that the popularity score of the media asset is sufficiently high comprises:

storing, by the server, a plurality of media assets, wherein the plurality of media assets is available to be requested by the plurality of devices;

identifying, by the server, a second media asset of the plurality of media assets, wherein the second media asset has received a similar number of requests as the first media asset;

determining, by the server, a popularity score for the second media asset based on a current number of one or more factors associated with the second media asset, wherein the factors comprise one or more of: forwards, views, likes, comments, references, or trending topics;

setting, by the server, a threshold popularity value based on the popularity score associated with the second media asset;

determining, by the server, a popularity score for the first media asset based on a current number of one or more factors associated with the first media asset; and

determining that the popularity score associated with the first media asset is above the threshold popularity value set by the server.

4. The method of claim 1 , further comprising:

dividing the media asset into a plurality of time segments;

receiving a first plurality of requests to view the media asset from a first plurality of devices; and

assigning each time segment of the plurality of time segments to at least one device of the first plurality of devices for analysis.

5. The method of claim 4 , wherein the assigning comprises:

calculating a complexity analysis score for each time segment of the plurality of time segments;

calculating a strength capability score for each device of the first plurality of devices wherein the strength capability scores are based on one or more of: processor speed, number of installed applications, amount of RAM present, device heat, stored user preferences for processing content, or processing history;

assigning a second segment to a second device and assigning a third segment to a third device, based on: (a) a third complexity analysis score being higher than the second complexity analysis score, and (b) a third device having a higher strength capability score than the second device.

6. The method of claim 5 , wherein the calculating the complexity analysis score for each time segment of the plurality of time segments comprises:

calculating the complexity analysis score for each time segment of the plurality of time segments based on length of each time segment.

7. The method of claim 1 , wherein analyzing frames of the time segment of the media asset comprises one or more of object recognition analysis, edge detection analysis, or artificial intelligence analysis.

8. The method of claim 7 , wherein the voice expressions are captured by a smart speaker connected to the same network as the first device.

9. The method of claim 1 , wherein user input comprises one or more of voice expressions, browser searches, social media posts, text messages, or emails.

10. The method of claim 1 , wherein generating, by the server, metadata for the media asset based on the generated frame analysis data and the generated user input data comprises:

identifying, by the server, one or more keywords collected from the generated user input data or the generated frame analysis data;

tagging the one or more keywords to the media asset as metadata items.

11. A system comprising:

storage circuitry of a server configured to:

store a media asset, wherein the media asset is available to be requested by a plurality of devices;

 control circuitry configured to:

determine (a) that the server has access to insufficient metadata associated with the media asset, and (b) that a popularity score of the media asset is sufficiently high; and

 input/output circuitry of the server configured to:

receive a request for the media asset from a first device;

 wherein the control circuitry is further configured to:

in response to the determining (a) that the server has access to insufficient metadata associated with the media asset, and (b) that the popularity score of the media asset is sufficiently high:

in response to detecting the request for the media asset from the first device:

assign a time segment of the media asset to the first device for analysis;

cause the first device to analyze frames of the time segment of the media asset during playing of the media asset to generate frame analysis data;

cause the first device to capture user input during the playing of the assigned time segment of the media to generate user input data; and

cause the first device to transmit the generated frame analysis data and the generated user input data to the server;

generate metadata for the media asset based on the generated frame analysis data and the generated user input data; and

make the generated metadata for the media asset available to the plurality of devices.

12. The system of claim 11 , wherein the media asset is a first media asset, and the control circuitry is configured to determine that the server has access to insufficient metadata associated with the media asset by:

storing, by the server, a plurality of media assets, wherein the plurality of media assets is available to be requested by the plurality of devices;

identifying, by the server, a second media asset of the plurality of media assets, wherein the second media asset has received a similar number of requests as the first media asset;

determining, by the server, a current number of metadata items associated with the second media asset;

setting, by the server, a threshold value based on the current number of metadata items associated with the second media asset;

determining a current number of metadata items associated with the first media asset stored by the server; and

determining that the current number of metadata items associated with the first media asset is below the threshold value set by the server.

13. The system of claim 11 , wherein the media asset is a first media asset, and the control circuitry is configured to determine that the popularity score of the media asset is sufficiently high by:

storing, by the server, a plurality of media assets, wherein the plurality of media assets is available to be requested by the plurality of devices;

identifying, by the server, a second media asset of the plurality of media assets, wherein the second media asset has received a similar number of requests as the first media asset;

determining, by the server, a popularity score for the second media asset based on a current number of one or more factors associated with the second media asset, wherein the factors comprise one or more of: forwards, views, likes, comments, references, or trending topics;

setting, by the server, a threshold popularity value based on the popularity score associated with the second media asset;

determining, by the server, a popularity score for the first media asset based on a current number of one or more factors associated with the first media asset; and

determining that the popularity score associated with the first media asset is above the threshold popularity value set by the server.

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

divide the media asset into a plurality of time segments;

receive a first plurality of requests to view the media asset from a first plurality of devices; and

assign each time segment of the plurality of time segments to at least one device of the first plurality of devices for analysis.

15. The system of claim 14 , wherein the control circuitry is further configured to assign each time segment of the plurality of time segments by:

calculating a complexity analysis score for each time segment of the plurality of time segments;

calculating a strength capability score for each device of the first plurality of devices wherein the strength capability scores are based on one or more of: processor speed, number of installed applications, amount of RAM present, device heat, stored user preferences for processing content, or processing history;

assigning a second segment to a second device and assigning a third segment to a third device, based on: (a) a third complexity analysis score being higher than the second complexity analysis score, and (b) a third device having a higher strength capability score than the second device.

16. The system of claim 15 , wherein the calculating the complexity analysis score for each time segment of the plurality of time segments comprises:

calculating the complexity analysis score for each time segment of the plurality of time segments based on length of each time segment.

17. The system of claim 11 , wherein analyzing frames of the time segment of the media asset comprises one or more of object recognition analysis, edge detection analysis, or artificial intelligence analysis.

18. The system of claim 11 , wherein user input comprises one or more of voice expressions, browser searches, social media posts, text messages or emails.

19. The system of claim 11 , wherein the control circuitry is further configured to generate, by the server, metadata for the media asset based on the generated frame analysis data and the generated user input data by:

identifying, by the server, one or more keywords collected from the generated user input data or the generated frame analysis data;

tagging the one or more keywords to the media asset as metadata items.

20. A system comprising:

means for storing, by a server, a media asset, wherein the media asset is available to be requested by a plurality of devices;

means for determining, by the server, (a) that the server has access to insufficient metadata associated with the media asset; and (b) that a popularity score of the media asset is sufficiently high;

means for detecting a request for the media asset from a first device;

means for:

in response to determining, by the server, (a) that the server has access to insufficient metadata associated with the media asset, and (b) that a popularity score of the media asset is sufficiently high:

in response to detecting a request for the media asset from a first device:

assigning a time segment of the media asset to the first device for analysis;

causing the first device to analyze frames of the time segment of the media asset during playing of the media asset to generate frame analysis data;

causing the first device to capture user input during the playing of the assigned time segment of the media to generate user input data; and

causing the first device to transmit the generated frame analysis data and the generated user input data to the server;

means for generating, by the server, metadata for the media asset based on the generated frame analysis data and the generated user input data; and

means for making, by the server, the generated metadata for the media asset available to the plurality of devices.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0399 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2021
From: PANCHAKSHARAIAH, VISHWAS SHARADANAGAR; GUPTA, VIKRAM MAKAM
To: ROVI GUIDES, INC.
Reel/Frame 057487/0382 →
Cited By (1)
US 12,206,960