IP Library Granted Patent US 10,701,453
Granted Patent B2
US 10,701,453 · App. 16/002,666 · Granted Jun 30, 2020

Systems and methods for performing an action based on context of a feature in a media asset

Inventors: Glen E. Roe (Simi Valley, CA); Michael K. McCarty (Agoura Hills, CA)
Assignee: Rovi Guides, Inc.
H04N21/4882H04N21/435H04N21/482H04N21/4826
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 10,701,453
App. No.
16/002,666
Granted
Jun 30, 2020
Kind
B2
Abstract

Systems and methods are provided herein for performing an action based on a feature in a media asset. In many media assets, specific features appear at portions of a program that users find interesting. These features can be compared with a database of stored objects that commonly appear in media assets to determine the object corresponding to the feature. The context of the object in the media asset then may be determined so that an appropriate action is selected for the system to take.

Claims (133)

1. A method for performing an action based on context of a feature in a media asset, the method comprising:

receiving at least one frame of a media asset, wherein the media asset comprises live programming;

determining a feature in the at least one frame of the media asset, wherein the feature is defined by a feature table comprising a first plurality of pixels having first positions within the media asset;

storing a plurality of objects, wherein each of the plurality of objects corresponds to an object table comprising a second plurality of pixels having second positions within a media asset;

comparing, for each object of the plurality of objects, the second positions of the object table to the first positions of the feature table;

identifying a first object of the stored plurality of objects that corresponds to the feature based on the comparing;

retrieving, from a context field of a data structure associated with the first object, a context indicator associated with the first object;

retrieving, from a database of actions corresponding to context indicators, an action corresponding to the context indicator associated with the first object; and

performing the action during the live programming;

wherein comparing the second positions of the object table to the first positions of the feature table comprises:

storing a tolerance factor;

accessing one of the first positions stored in the feature table;

computing an upper limit based on the accessed first position and the tolerance factor;

computing a lower limit based on the accessed first position and the tolerance factor;

retrieving one of the second positions stored in the object table for the first object;

comparing coordinates of the retrieved second position to a range of coordinates of the accessed first position defined by the lower limit to the upper limit;

determining the retrieved second position matches the accessed first position when the coordinates of the retrieved second position are within the range of coordinates of the accessed first position; and

in response to determining a predetermined number of the retrieved second positions of the object table match a corresponding accessed first position in the feature table, determining the first object corresponds to the feature.

2. The method of claim 1 , wherein storing the plurality of objects comprises:

creating the feature;

associating the created feature with a plurality of media assets, wherein the plurality of media assets contain similar content;

storing the created feature as the first object in a library of objects associated with the plurality of media assets; and

generating an overlay with the first object on the media asset.

3. The method of claim 1 , wherein determining the feature comprises:

analyzing a pixel map associated with the at least one frame of the media asset;

analyzing a group of pixels in the pixel map;

determining shared properties of a subset of pixels in the group of pixels; and

generating the feature table for the feature containing positions of pixels in the subset of pixels.

4. The method of claim 1 , wherein retrieving, from the context field of the data structure associated with the first object, the context indicator associated with the first object comprises:

determining, from data associated with the feature, a characteristic of the first object;

comparing the characteristic to characteristics of a plurality of context indicators stored in the data structure associated with the first object to identify a first context indicator that corresponds to the characteristic; and

retrieving the first context indicator from the context field of the data structure associated with the first object.

5. The method of claim 1 , wherein the action associated with the context indicator relates to moving a current playback position to another playback position that includes the object, and wherein performing the action comprises:

determining the another playback position based on the at least one frame containing the object;

moving the current playback position to the another playback position; and

playing the media asset from the another playback position.

6. The method of claim 1 , wherein the action associated with the context indicator relates to alerting a user to a media asset listing with subject matter that corresponds to the first object, and wherein performing the action comprises:

retrieving subject matter of the first object from a subject matter field of the data structure associated with the first object;

searching for a first media asset listing associated with the retrieved subject matter; and

promoting the first media asset listing among a plurality of displayed media asset listings.

7. The method of claim 1 , wherein the action associated with the context indicator relates to presenting supplemental information related to the object, and wherein performing the action comprises:

retrieving a pointer to a location of the supplemental information related to the object from a supplemental information field of the data structure associated with the object;

accessing the location of the supplemental information;

retrieving the supplemental information; and

generating a simultaneous display of the media asset and the supplemental information.

8. The method of claim 1 , wherein the media asset is a first media asset, wherein the action is associated with presenting the first media asset to the user simultaneously with a second media asset currently being accessed by the user, and wherein performing the action comprises:

determining the user is not accessing the first media asset;

retrieving the first media asset; and

generating a simultaneous display of the first media asset and the second media asset currently being accessed by the user.

9. The method of claim 1 , wherein computing the upper limit comprises coordinates of the accessed first position by the tolerance factor and wherein computing the lower limit comprises dividing the coordinates of the accessed first position by the tolerance factor.

10. A method for performing an action based on context of a feature in a media asset, the method comprising:

receiving at least one frame of a media asset, wherein the media asset comprises live programming;

determining a feature in the at least one frame of the media asset, wherein the feature is defined by a feature table comprising a first plurality of pixels having first positions within the media asset;

storing a plurality of objects, wherein each of the plurality of objects corresponds to an object table comprising a second plurality of pixels having second positions within a media asset;

comparing, for each object of the plurality of objects, the second positions of the object table to the first positions of the feature table;

identifying a first object of the stored plurality of objects that corresponds to the feature based on the comparing;

retrieving, from a context field of a data structure associated with the first object, a context indicator associated with the first object, the retrieving further comprising:

determining, from data associated with the feature, a characteristic of the first object;

comparing the characteristic to characteristics of a plurality of context indicators stored in the data structure associated with the first object to identify a first context indicator that corresponds to the characteristic; and

retrieving the first context indicator from the context field of the data structure associated with the first object;

retrieving, from a database of actions corresponding to context indicators, an action corresponding to the context indicator associated with the first object; and

performing the action during the live programming;

storing the first context indicator, wherein progress towards a goal in a sporting event being close to the goal is stored as a characteristic of the first context indicator; and

storing a second context indicator, wherein progress towards the goal in the sporting event being far from the goal is stored as a characteristic of the second context indicator.

11. A system for performing an action based on context of a feature in a media asset, the system comprising:

storage circuitry configured to store a plurality of objects; and

control circuitry configured to:

receive at least one frame of a media asset, wherein the media asset comprises live programming;

determine a feature in the at least one frame of the media asset, wherein the feature is defined by a feature table comprising a first plurality of pixels having first positions within the media asset, and wherein each of the plurality of objects corresponds to an object table comprising a second plurality of pixels having second positions within the media asset;

compare, for each object of the plurality of objects, the second positions of the object table to the first positions of the feature table;

identify a first object of the stored plurality of objects that corresponds to the feature based on the comparing;

retrieve, from a context field of a data structure associated with the first object, a context indicator associated with the first object;

retrieve, from a database of actions corresponding to context indicators, an action corresponding to the context indicator associated with the first object; and

perform the action during the live programming;

wherein the control circuitry is further configured, when comparing the second positions of the object table to the first positions of the feature table, to:

store a tolerance factor;

access one of the first positions stored in the feature table;

compute an upper limit based on the accessed first position and the tolerance factor;

compute a lower limit based on the accessed first position and the tolerance factor;

retrieve one of the second positions stored in the object table for the first object;

compare coordinates of the retrieved second position to a range of coordinates of the accessed first position defined by the lower limit to the upper limit;

determine the retrieved second position matches the accessed first position when the coordinates of the retrieved second position are within the range of coordinates of the accessed first position; and

in response to determining a predetermined number of the retrieved second positions match a corresponding accessed first position in the feature table, determine the first object corresponds to the feature.

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

create the feature;

associate the created feature with a plurality of media assets, wherein the plurality of media assets contain similar content;

store the created feature as the first object in a library of objects associated with the plurality of media assets; and

generate an overlay with the first object on the media asset.

13. The system of claim 11 , wherein the control circuitry is further configured, when determining the feature, to:

analyze a pixel map associated with the at least one frame of the media asset;

analyze a group of pixels in the pixel map;

determine shared properties of a subset of pixels in the group of pixels; and

generate the feature table for the feature containing positions of pixels in the subset of pixels.

14. The system of claim 11 , wherein the control circuitry is further configured, when retrieving, from the context field of the data structure associated with the first object, the context indicator associated with the first object, to:

determine, from data associated with the feature, a characteristic of the first object;

compare the characteristic to characteristics of a plurality of context indicators stored in the data structure associated with the first object to identify a first context indicator that corresponds to the characteristic; and

retrieve the first context indicator from the context field of the data structure associated with the first object.

15. The system of claim 11 , wherein the control circuitry is further configured, when comparing the second positions of the object table to the first positions of the feature table, to

compute the upper limit based on multiplying coordinates of the accessed first position by the tolerance factor; and

compute the lower limit based on dividing the coordinates of the accessed first position by the tolerance factor.

16. A system for performing an action based on context of a feature in a media asset, the system comprising:

storage circuitry configured to store a plurality of objects; and

control circuitry configured to:

receive at least one frame of a media asset, wherein the media asset comprises live programming;

determine a feature in the at least one frame of the media asset, wherein the feature is defined by a feature table comprising a first plurality of pixels having first positions within the media asset, and wherein each of the plurality of objects corresponds to an object table comprising a second plurality of pixels having second positions within the media asset;

compare, for each object of the plurality of objects, the second positions of the object table to the first positions of the feature table;

identify a first object of the stored plurality of objects that corresponds to the feature based on the comparing;

retrieve, from a context field of a data structure associated with the first object, a context indicator associated with the first object, by:

determining, from data associated with the feature, a characteristic of the first object;

comparing the characteristic to characteristics of a plurality of context indicators stored in the data structure associated with the first object to identify a first context indicator that corresponds to the characteristic; and

retrieving the first context indicator from the context field of the data structure associated with the first object;

retrieve, from a database of actions corresponding to context indicators, an action corresponding to the context indicator associated with the first object; and

perform the action during the live programming;

wherein the storage circuitry is further configured to:

store the first context indicator, wherein progress towards a goal in a sporting event being close to the goal is stored as a characteristic of the first context indicator; and

store a second context indicator, wherein progress towards the goal in the sporting event being far from the goal is stored as a characteristic of the second context indicator.

17. The system of claim 11 , wherein the action associated with the context indicator relates to moving a current playback position to another playback position that includes the object, and wherein the control circuitry is further configured, when performing the action, to:

determine the another playback position based on the at least one frame containing the object;

move the current playback position to the another playback position; and

play the media asset from the another playback position.

18. The system of claim 11 , wherein the action associated with the context indicator relates to alerting a user to a media asset listing with subject matter that corresponds to the first object, and wherein the control circuitry is further configured, when performing the action, to:

retrieve subject matter of the first object from a subject matter field of the data structure associated with the first object;

search for a first media asset listing associated with the retrieved subject matter; and

promote the first media asset listing among a plurality of displayed media asset listings.

19. The system of claim 11 , wherein the action associated with the context indicator relates to presenting supplemental information related to the object, and wherein the control circuitry is further configured, when performing the action, to:

retrieve a pointer to a location of the supplemental information related to the object from a supplemental information field of the data structure associated with the object;

access the location of the supplemental information;

retrieve the supplemental information; and

generate a simultaneous display of the media asset and the supplemental information.

20. The system of claim 11 , wherein the media asset is a first media asset, wherein the action is associated with presenting the first media asset to the user simultaneously with a second media asset currently being accessed by the user, and wherein the control circuitry is further configured, when performing the action, to:

determine the user is not accessing the first media asset;

retrieve the first media asset; and

generate a simultaneous display of the first media asset and the second media asset currently being accessed by the user.

Assignments (9)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 27, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ROVI PRODUCT CORPORATION (AS SUCCESSOR-IN-INTEREST TO ROVI GUIDES, INC.)
Reel/Frame 061786/0768 →
CHANGE OF NAME Recorded Oct 23, 2022
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 061746/0981 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2022
From: ADEIA GUIDES INC.
To: ROVI PRODUCT CORPORATION
Reel/Frame 061747/0001 →
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 Jun 26, 2018
From: ROE, GLEN E.; MCCARTY, MICHAEL K.
To: ROVI GUIDES, INC.
Reel/Frame 046204/0563 →
Continuity (2)
Continuation 15056733 · Feb 29, 2016
Related Publication 20180295425A1 · Oct 11, 2018