IP Library Granted Patent US 11,250,634
Granted Patent B1
US 11,250,634 · App. 16/940,982 · Granted Feb 15, 2022

Systems and methods for automated insertion of supplemental content into a virtual environment using a machine learning model

Inventors: Aashish Goyal (Bengaluru, IN); Ajay Kumar Mishra (Karnataka, IN); Jeffry Copps Robert Jose (Tamil Nadu, IN)
Assignee: ROVI GUIDES, INC.
G06T19/006G06K9/6256G06N20/00G06Q30/0271G06Q30/0277
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,250,634
App. No.
16/940,982
Granted
Feb 15, 2022
Kind
B1
Abstract

Insertion of supplemental content into a virtual environment is automated using a machine learning model. The machine learning model is trained to calculate a confidence value that a candidate virtual object fits into a virtual environment based on an input that includes a candidate virtual object, a list of persistent virtual objects, and a list of temporary virtual objects. The machine learning model is trained using the persistent and temporary objects displayed in the current virtual environment until it predicts that a selected virtual object fits into the current virtual environment. The trained machine learning model is then used to select a virtual object comprising supplemental content to be inserted as a new virtual object in the virtual environment.

Claims (62)

1. A method for inserting supplemental content into a three-dimensional virtual environment, the method comprising:

identifying a first plurality of persistent virtual objects displayed in a plurality of consecutive virtual environment frames;

identifying a second plurality of temporary virtual objects displayed in the plurality of consecutive virtual environment frames;

selecting a first virtual object from a first virtual environment frame of the plurality of consecutive virtual environment frames;

training a machine learning model to calculate a confidence value that a candidate virtual object fits into a given virtual environment based on an input that includes (a) the candidate virtual object, (b) a list of persistent virtual objects in the virtual environment, and (c) a list of temporary virtual objects in the virtual environment, wherein the machine learning model is trained using a training example that predicts that the first virtual object fits into a virtual environment that comprises the first plurality of persistent virtual objects and the second plurality of temporary virtual objects;

retrieving a candidate object comprising supplemental content for insertion into the virtual environment;

determining, using the machine learning model, whether the candidate object fits into the virtual environment; and

in response to determining that the candidate object fits in the virtual environment, inserting the candidate object into the virtual environment.

2. The method of claim 1 , wherein identifying the first plurality of persistent virtual objects displayed in a plurality of consecutive virtual environment frames and identifying a second plurality of temporary virtual objects displayed in the plurality of consecutive virtual environment frames comprises:

identifying as the first plurality of persistent virtual objects all virtual objects displayed in a first virtual environment frame of the plurality of consecutive virtual environment frames; and

for each other virtual environment frame of the plurality of consecutive virtual environment frames:

comparing the first plurality of persistent virtual objects with a third plurality of virtual objects displayed in the respective virtual environment frame;

in response to determining, based on the comparing, that the first plurality of persistent virtual objects does not include a virtual object of the third plurality of virtual objects, identifying the respective virtual object of the third plurality of virtual objects as a temporary virtual object; and

in response to determining that the third plurality of virtual objects does not include a persistent virtual object of the plurality of persistent virtual objects, reidentifying the respective persistent virtual object as a temporary virtual object.

3. The method of claim 1 , wherein a virtual environment frame comprises all virtual objects in a field of view on a display on which the virtual environment in generated.

4. The method of claim 1 , wherein each persistent virtual object of the first plurality of persistent virtual objects comprises object attributes that describe the respective persistent virtual object, and wherein each temporary virtual object of the second plurality of temporary virtual objects comprises object attributes that describe the respective temporary virtual object.

5. The method of claim 4 , wherein retrieving a candidate object comprising supplemental content for insertion into the virtual environment comprises:

accessing a database of supplemental content items, each supplemental content item having at least one content attribute;

identifying a plurality of object attributes of each persistent virtual object of the first plurality of persistent virtual objections and each temporary virtual object of the second plurality of temporary virtual objects;

determining whether the at least one content attribute of a supplemental content item matches at least one object attribute of the plurality of object attributes; and

in response to determining that the at least one content attribute of the supplemental content item matches at least one object attribute of the plurality of object attributes, selecting the supplemental content item as a candidate for insertion.

6. The method of claim 4 , further comprising:

maintaining a list of virtual objects displayed from a first time to a current time;

wherein retrieving a candidate object comprising supplemental content for insertion into the virtual environment comprises retrieving a candidate object having a content attribute that matches at least one object attribute of a virtual object in the list.

7. The method of claim 1 , wherein retrieving a candidate object comprising supplemental content for insertion into the virtual environment comprises:

identifying a plurality of available virtual objects;

determining, for each available virtual object of the plurality of virtual objects, a time at which the respective available virtual object was previously displayed in the virtual environment;

determining, for each available virtual object of the plurality of available virtual objects, a weight for the respective available virtual object based on the time at which the respective available virtual object was previously displayed; and

selecting a candidate object having at least one content attribute matching the available virtual object having a highest weight.

8. The method of claim 1 , wherein the candidate object comprises a three-dimensional object.

9. A system for inserting supplemental content into a three-dimensional virtual environment, the system comprising:

output circuitry configured to drive display of a virtual environment; and

control circuitry configured to:

identify a first plurality of persistent virtual objects displayed in a plurality of consecutive virtual environment frames;

identify a second plurality of temporary virtual objects displayed in the plurality of consecutive virtual environment frames;

select a first virtual object from a first virtual environment frame of the plurality of consecutive virtual environment frames;

train a machine learning model to calculate a confidence value that a candidate virtual object fits into a given virtual environment based on an input that includes (a) the candidate virtual object, (b) a list of persistent virtual objects in the virtual environment, and (c) a list of temporary virtual objects in the virtual environment, wherein the machine learning model is trained using a training example that predicts that the first virtual object fits into a virtual environment that comprises the first plurality of persistent virtual objects and the second plurality of temporary virtual objects;

retrieve a candidate object comprising supplemental content for insertion into the virtual environment;

determine, using the machine learning model, whether the candidate object fits into the virtual environment; and

in response to determining that the candidate object fits in the virtual environment, insert the candidate object into the virtual environment.

10. The system of claim 9 , wherein the control circuitry configured to identify the first plurality of persistent virtual objects displayed in a plurality of consecutive virtual environment frames and to identify a second plurality of temporary virtual objects displayed in the plurality of consecutive virtual environment frames is further configured to:

identify as the first plurality of persistent virtual objects all virtual objects displayed in a first virtual environment frame of the plurality of consecutive virtual environment frames; and

for each other virtual environment frame of the plurality of consecutive virtual environment frames:

compare the first plurality of persistent virtual objects with a third plurality of virtual objects displayed in the respective virtual environment frame;

in response to determining, based on the comparing, that the first plurality of persistent virtual objects does not include a virtual object of the third plurality of virtual objects, identify the respective virtual object of the third plurality of virtual objects as a temporary virtual object; and

in response to determining that the third plurality of virtual objects does not include a persistent virtual object of the plurality of persistent virtual objects, reidentify the respective persistent virtual object as a temporary virtual object.

11. The system of claim 9 , wherein a virtual environment frame comprises all virtual objects in a field of view on a display on which the virtual environment in generated.

12. The system of claim 9 , wherein each persistent virtual object of the first plurality of persistent virtual objects comprises object attributes that describe the respective persistent virtual object, and wherein each temporary virtual object of the second plurality of temporary virtual objects comprises object attributes that describe the respective temporary virtual object.

13. The system of claim 12 , wherein the control circuitry configured to retrieve a candidate object comprising supplemental content for insertion into the virtual environment is further configured to:

access a database of supplemental content items, each supplemental content item having at least one content attribute;

identify a plurality of object attributes of each persistent virtual object of the first plurality of persistent virtual objections and each temporary virtual object of the second plurality of temporary virtual objects;

determine whether the at least one content attribute of a supplemental content item matches at least one object attribute of the plurality of object attributes; and

in response to determining that the at least one content attribute of the supplemental content item matches at least one object attribute of the plurality of object attributes, select the supplemental content item as a candidate for insertion.

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

maintain a list of virtual objects displayed from a first time to a current time;

wherein the control circuitry configured to retrieve a candidate object comprising supplemental content for insertion into the virtual environment is further configured to retrieve a candidate object having a content attribute that matches at least one object attribute of a virtual object in the list.

15. The system of claim 9 , wherein the control circuitry configured to retrieve a candidate object comprising supplemental content for insertion into the virtual environment is further configured to:

identify a plurality of available virtual objects;

determine, for each available virtual object of the plurality of virtual objects, a time at which the respective available virtual object was previously displayed in the virtual environment;

determine, for each available virtual object of the plurality of available virtual objects, a weight for the respective available virtual object based on the time at which the respective available virtual object was previously displayed; and

select a candidate object having at least one content attribute matching the available virtual object having a highest weight.

16. The system of claim 9 , wherein the candidate object comprises a three-dimensional object.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0392 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2020
From: GOYAL, AASHISH; MISHRA, AJAY KUMAR; ROBERT JOSE, JEFFRY COPPS
To: ROVI GUIDES, INC.
Reel/Frame 053671/0117 →
Cited By (2)
US 12,223,855 US 12,494,140