IP Library Granted Patent US 11,481,933
Granted Patent B1
US 11,481,933 · App. 17/675,946 · Granted Oct 25, 2022

Determining a change in position of displayed digital content in subsequent frames via graphics processing circuitry

Inventors: Dharmendra Etwaru (Sparta, NJ); Michael R. Sutcliff (Inlet Beach, FL)
Assignee: MOBEUS INDUSTRIES, INC.
G06T11/00G06T1/60
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,481,933
App. No.
17/675,946
Granted
Oct 25, 2022
Kind
B1
Abstract

An apparatus, method, and computer readable medium that include accessing a frame buffer of a graphics processing unit (GPU), analyzing, in the frame buffer of the GPU, a first frame representing a first section of a stream of displayed data that is being displayed by the apparatus, the first frame including secondary digital content, analyzing, in the frame buffer of the GPU, a second frame, the second frame including the secondary digital content, determining a change in a position of the secondary digital content from the first frame to the second frame based on a comparison between the first frame and the second frame of the displayed data, and overlaying the secondary digital content in the second frame of the displayed data based on the determined change in the position of the secondary digital content.

Claims (66)

1. An apparatus, comprising:

processing circuitry, including a graphics processing unit (GPU), configured to access a frame buffer of the GPU,

analyze, in the frame buffer of the GPU, a first frame representing a first section of a stream of displayed data that is being displayed by the apparatus, the first frame including secondary digital content,

analyze, in the frame buffer of the GPU, a second frame representing a second section of the stream of the displayed data that is being displayed by the apparatus, the second frame including the secondary digital content,

determine a change in a position of the secondary digital content from the first frame to the second frame based on a comparison between the first frame and the second frame of the displayed data, and

overlay the secondary digital content in the second frame of the displayed data based on the determined change in the position of the secondary digital content, wherein

the processing circuitry is configured to determine the change in the position by being configured to

identify, in the frame buffer of the GPU, a reference patch that includes a unique identifier associated with an available area in which the secondary digital content is insertable in the displayed data that is being displayed by the apparatus, the unique identifier including encoded data that identifies the secondary digital content, a location address of the secondary digital content at a remote device, a screen position within the available area at which the secondary digital content is insertable in the displayed data, and a size of the secondary digital content when inserted in the displayed data,

store a first location of the reference patch in the first frame and a second location of the reference patch in the second frame,

obtain the first location of the reference patch in the first frame and the second location of the reference patch in the second frame, and

determine an updated location of the reference patch in the displayed data based on a change of the first location to the second location.

2. The apparatus of claim 1 , wherein the processing circuitry is configured to

store the determined change in position of the secondary digital content in the first frame of the displayed data,

analyze, in the frame buffer of the GPU, a third frame representing a third section of the stream of the displayed data that is being displayed by the apparatus, the third frame including the secondary digital content,

re-determine an updated change in the position of the secondary digital content from the first frame to the third frame based on a calculated overlap between the first frame, the second frame, and the third frame of the displayed data,

construct a stream of the determined changes in position of the secondary digital content, and

store the stream of the determined changes in position of the secondary digital content as a virtual display.

3. The apparatus of claim 1 , wherein the processing circuitry overlays the secondary digital content in the second frame of the displayed data relative to the updated location of the reference patch.

4. The apparatus of claim 1 , wherein the processing circuitry is further configured to determine the change in the position of the secondary digital content from the first frame to the second frame of the displayed data by calculating an overlap between the first frame and the second frame.

5. The apparatus of claim 1 , wherein the processing circuitry is further configured to determine the change in the position of the secondary digital content from the first frame to the second frame of the displayed data by calculating a difference between the first frame and the second frame.

6. The apparatus of claim 1 , wherein the processing circuitry is further configured to

determine a change in a size of the secondary digital content from the first frame to the second frame based on a comparison between the first frame and the second frame of the displayed data, and

determine a visibility of the secondary digital content based on the change in the location and the size of the secondary digital content from the first frame to the second frame.

7. A method, comprising:

accessing a frame buffer of a graphics processing unit (GPU),

analyzing, in the frame buffer of the GPU, a first frame representing a first section of a stream of displayed data that is being displayed by an apparatus, the first frame including secondary digital content;

analyzing, in the frame buffer of the GPU, a second frame representing a second section of the stream of the displayed data that is being displayed by the apparatus, the second frame including the secondary digital content;

determining a change in a position of the secondary digital content from the first frame to the second frame based on a comparison between the first frame and the second frame of the displayed data; and

overlaying the secondary digital content in the second frame of the displayed data based on the determined change in the position of the secondary digital content, wherein

the determining determines the change in the position by

identifying, in the frame buffer of the GPU, a reference patch that includes a unique identifier associated with an available area in which the secondary digital content is insertable in the displayed data that is being displayed by the apparatus, the unique identifier including encoded data that identifies the secondary digital content, a location address of the secondary digital content at a remote device, a screen position within the available area at which the secondary digital content is insertable in the displayed data, and a size of the secondary digital content when inserted in the displayed data,

storing a first location of the reference patch in the first frame and a second location of the reference patch in the second frame,

obtaining the first location of the reference patch in the first frame and the second location of the reference patch in the second frame, and

determining an updated location of the reference patch in the displayed data based on a change of the first location to the second location.

8. The method of claim 7 , further comprising:

storing the determined change in position of the secondary digital content in the first frame of the displayed data;

analyzing, in the frame buffer of the GPU, a third frame representing a third section of the stream of the displayed data that is being displayed by the apparatus, the third frame including the secondary digital content;

re-determining an updated change in the position of the secondary digital content from the first frame to the third frame based on a calculated overlap between the first frame, the second frame, and the third frame of the displayed data;

constructing a stream of the determined changes in position of the secondary digital content; and

storing the stream of the determined changes in position of the secondary digital content as a virtual display.

9. The method of claim 7 , wherein the overlaying overlays the secondary digital content in the second frame of the displayed data relative to the updated location of the reference patch.

10. The method of claim 7 , the determining determines the change in the position of the secondary digital content from the first frame to the second frame of the displayed data by calculating an overlap between the first frame and the second frame.

11. The method of claim 7 , the determining determines the change in the position of the secondary digital content from the first frame to the second frame of the displayed data by calculating a difference between the first frame and the second frame.

12. The method of claim 7 , further comprising:

determining a change in a size of the secondary digital content from the first frame to the second frame based on a comparison between the first frame and the second frame of the displayed data, and

determining a visibility of the secondary digital content based on the change in the location and the size of the secondary digital content from the first frame to the second frame.

13. A non-transitory computer-readable storage medium for storing computer-readable instructions that, when executed by a computer, cause the computer to perform a method, the method comprising:

accessing a frame buffer of a graphics processing unit (GPU);

analyzing, in the frame buffer of the GPU, a first frame representing a first section of a stream of displayed data that is being displayed by an apparatus, the first frame including secondary digital content;

analyzing, in the frame buffer of the GPU, a second frame representing a second section of the stream of the displayed data that is being displayed by the apparatus, the second frame including the secondary digital content;

determining a change in a position of the secondary digital content from the first frame to the second frame based on a comparison between the first frame and the second frame of the displayed data; and

overlaying the secondary digital content in the second frame of the displayed data based on the determined change in the position of the secondary digital content, wherein

the determining determines the change in the position by

identifying, in the frame buffer of the GPU, a reference patch that includes a unique identifier associated with an available area in which the secondary digital content is insertable in the displayed data that is being displayed by the apparatus, the unique identifier including encoded data that identifies the secondary digital content, a location address of the secondary digital content at a remote device, a screen position within the available area at which the secondary digital content is insertable in the displayed data, and a size of the secondary digital content when inserted in the displayed data,

storing a first location of the reference patch in the first frame and a second location of the reference patch in the second frame,

obtaining the first location of the reference patch in the first frame and the second location of the reference patch in the second frame, and

determining an updated location of the reference patch in the displayed data based on a change of the first location to the second location.

14. The non-transitory computer-readable storage medium according to claim 13 , wherein the method further comprises:

storing the determined change in position of the secondary digital content in the first frame of the displayed data;

analyzing, in the frame buffer of the GPU, a third frame representing a third section of the stream of the displayed data that is being displayed by the apparatus, the third frame including the secondary digital content;

re-determining an updated change in the position of the secondary digital content from the first frame to the third frame based on a calculated overlap between the first frame, the second frame, and the third frame of the displayed data;

constructing a stream of the determined changes in position of the secondary digital content; and

storing the stream of the determined changes in position of the secondary digital content as a virtual display.

15. The non-transitory computer-readable storage medium according to claim 13 , wherein the overlaying overlays the secondary digital content in the second frame of the displayed data relative to the updated location of the reference patch.

16. The non-transitory computer-readable storage medium according to claim 13 , wherein the determining determines the change in the position of the secondary digital content from the first frame to the second frame of the displayed data by calculating an overlap between the first frame and the second frame.

17. The non-transitory computer-readable storage medium according to claim 13 , wherein the determining determines the change in the position of the secondary digital content from the first frame to the second frame of the displayed data by calculating a difference between the first frame and the second frame.

Assignments (2)
CHANGE OF NAME Recorded Jul 15, 2022
From: BEAM, INC.
To: MOBEUS INDUSTRIES, INC.
Reel/Frame 060678/0149 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2022
From: ETWARU, DHARMENDRA; SUTCLIFF, MICHAEL R.
To: BEAM, INC.
Reel/Frame 059113/0607 →
Continuity (2)
Provisional Application 63172640 · Apr 8, 2021
Provisional Application 63182391 · Apr 30, 2021
Cited By (1)
US 12,277,381