IP Library Granted Patent US 12,033,187
Granted Patent B2
US 12,033,187 · App. 18/239,598 · Granted Jul 9, 2024

Systems and methods for inserting contextual advertisements into a virtual environment

Inventors: Alejandro Sanchez Pulido (Chatsworth, CA); Carla Mack (Los Angeles, CA)
Assignee: Rovi Guides, Inc.
G06Q30/0269G06T3/60G06T11/60G10L25/54
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 12,033,187
App. No.
18/239,598
Granted
Jul 9, 2024
Kind
B2
Abstract

Systems and methods are described herein for inserting contextual advertisements into a virtual environment. While presenting a virtual environment, a media device receives speech input. The media device selects an advertisement from an advertisement database based on the speech. The media device then determines the current environment of the virtual environment and generates a virtual object that is related to the current environment. The media device overlays the selected advertisement over the generated virtual object and displays the generated virtual object in the virtual environment.

Claims (74)

1. A method comprising:

determining a respective surface of a number of surfaces displayed in a virtual environment for placement of a selected advertisement;

determining a currently-displayed viewing angle relative to a fixed reference position in the virtual environment;

determining an orientation of a virtual object relative to the fixed reference position;

calculating a currently-displayed angle of a surface of the virtual object;

calculating an image transformation matrix that matches the currently-displayed angle of the surface of the virtual object;

transforming an image of the selected advertisement using the image transformation matrix; and

displaying the virtual object with the transformed image of the selected advertisement overlaid over the surface of the virtual object at the currently-displayed angle of the surface of the virtual object.

2. The method of claim 1 , wherein the determining the respective surface comprises:

determining, by a processor, whether each respective surface of the number of surfaces displayed in the virtual environment is suitable for placement of the selected advertisement; and

selecting the respective surface for placement of the selected advertisement.

3. The method of claim 2 , wherein the determining whether each respective surface is suitable for placement of the selected advertisement comprises:

analyzing a size, lighting and curvature of the respective surface, as viewed from a perspective of a user from which a user input was received.

4. The method of claim 1 , further comprising:

monitoring a user's speech for keywords; and

detecting a keyword from the user's speech, wherein the selecting the advertisement is based on the detected keyword.

5. The method of claim 4 , wherein the selecting the advertisement based on the keyword further comprises:

identifying a category of advertisement related to a user input;

determining a particular respective advertisement based on a user profile and the identified category; and

selecting the particular respective advertisement.

6. The method of claim 1 , wherein the determining the orientation of the virtual object relative to the fixed reference position comprises:

using content processing circuitry to track a single point, surface edge, or vertex of the virtual object as a reference point from which to display the virtual object; and

comparing the virtual object reference point with the fixed reference position.

7. The method of claim 1 , wherein the determining the orientation of the virtual object relative to the fixed reference position comprises:

identifying a plurality of virtual objects currently being displayed in the virtual environment; and

retrieving metadata of a first virtual object of the plurality of virtual objects.

8. The method of claim 1 , wherein calculating the currently-displayed angle of the surface of the virtual object comprises:

using content processing circuitry to identify the fixed reference position;

analyzing a point in the virtual environment that is identified by a set of coordinates describing a number of degrees from the fixed reference position in a horizontal plane and a number of degrees above or below the fixed reference position in a vertical plane; and

calculating an angle between the point and the fixed reference position.

9. The method of claim 1 , further comprising:

determining whether the virtual object currently displayed in the virtual environment is suitable for displaying the selected advertisement by:

identifying a plurality of virtual objects currently being displayed in the virtual environment;

identifying a respective type of each of the plurality of virtual objects; and

determining whether any virtual object of the plurality of virtual objects is of a type that is suitable for displaying the selected advertisement.

10. The method of claim 1 , wherein the virtual environment is an augmented reality environment.

11. A system comprising:

a memory; and

a control circuitry configured to:

determine a respective surface of a number of surfaces displayed in a virtual environment for placement of a selected advertisement;

determine a currently-displayed viewing angle relative to a fixed reference position in the virtual environment;

determine an orientation of a virtual object relative to the fixed reference position;

calculate a currently-displayed angle of a surface of the virtual object;

calculate an image transformation matrix that matches the currently-displayed angle of the surface of the virtual object;

transform an image of the selected advertisement using the image transformation matrix, wherein the transformed image is stored in the memory; and

display the virtual object with the transformed image of the selected advertisement overlaid over the surface of the virtual object at the currently-displayed angle of the surface of the virtual object.

12. The system of claim 11 , wherein the control circuitry is configured to determine the respective surface by:

determining, by a processor, whether each respective surface of the number of surfaces displayed in the virtual environment is suitable for placement of the selected advertisement; and

selecting the respective surface for placement of the selected advertisement.

13. The system of claim 12 , wherein the control circuitry is configured to determine whether each respective surface is suitable for placement of the selected advertisement by:

analyzing a size, lighting and curvature of the respective surface, as viewed from a perspective of a user from which a user input was received.

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

monitor a user's speech for keywords; and

detect a keyword from the user's speech, wherein the selecting the advertisement is based on the detected keyword.

15. The system of claim 14 , wherein the control circuitry is further configured to select the advertisement based on the keyword by:

identifying a category of advertisement related to a user input;

determining a particular respective advertisement based on a user profile and the identified category; and

selecting the particular respective advertisement.

16. The system of claim 11 , wherein the control circuitry is configured to determine the orientation of the virtual object relative to the fixed reference position by:

using content processing circuitry to track a single point, surface edge, or vertex of the virtual object as a reference point from which to display the virtual object; and

comparing the virtual object reference point with the fixed reference position.

17. The system of claim 11 , wherein the control circuitry is configured to determine the orientation of the virtual object relative to the fixed reference position by:

identifying a plurality of virtual objects currently being displayed in the virtual environment; and

retrieving metadata of a first virtual object of the plurality of virtual objects.

18. The system of claim 11 , wherein the control circuitry is configured to calculate the currently-displayed angle of the surface of the virtual object by:

using content processing circuitry to identify the fixed reference position;

analyzing a point in the virtual environment that is identified by a set of coordinates describing a number of degrees from the fixed reference position in a horizontal plane and a number of degrees above or below the fixed reference position in a vertical plane; and

calculating an angle between the point and the fixed reference position.

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

determine whether the virtual object currently displayed in the virtual environment is suitable for displaying the selected advertisement by:

identifying a plurality of virtual objects currently being displayed in the virtual environment;

identifying a respective type of each of the plurality of virtual objects; and

determining whether any virtual object of the plurality of virtual objects is of a type that is suitable for displaying the selected advertisement.

20. The system of claim 11 , wherein the virtual environment is an augmented reality environment.

Assignments (2)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2023
From: PULIDO, ALEJANDRO SANCHEZ; MACK, CARLA
To: ROVI GUIDES, INC.
Reel/Frame 064749/0979 →
Continuity (4)
Continuation 17739434 · May 9, 2022
Continuation 17218846 · Mar 31, 2021
Continuation 16226955 · Dec 20, 2018
Related Publication 20230410154A1 · Dec 21, 2023
Cited By (1)
US 12,393,964