IP Library Granted Patent US 11,295,511
Granted Patent B1
US 11,295,511 · App. 17/171,424 · Granted Apr 5, 2022

Multi-user data presentation in AR/VR

Inventors: Deyan Petrov Yosifov (Sofia, BG); Panayot Conev Cankov (Sofia, BG)
Assignee: Progress Software Corporation
G06T15/20G06F3/04815G06T11/206G06T19/20G06T2200/24G06T2219/024G06T2219/2016
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,295,511
App. No.
17/171,424
Granted
Apr 5, 2022
Kind
B1
Abstract

A system and method for generating a multi-user presentation including receiving a graphic, anchoring a first instance of the graphic in a collaboration environment with a first position, first scale, and first orientation relative to an initial position of a presenting user in the collaboration environment; applying a first anchor transform to a second instance of the graphic, the first anchor transform anchoring the second instance of the graphic in the collaboration environment with the first position, the first scale, and the first orientation relative to an initial position of a first attendee in the collaboration environment; sending the first instance of the graphic for presentation to the presenter, and the second instance of the graphic for presentation to the first attendee; receiving a first presenter interaction modifying the first instance, where the modified first instance includes a first modification to one or more of the first position, the first scale, and the first orientation relative to the presenter; applying a first local transform to the first anchor transform associated with the second instance, where application of the first local transform modifies the second instance, where the modified second instance includes the first modification to one or more of the first position, the first scale, and the first orientation relative to the first attendee; and sending the modified first instance of the graphic for presentation to the presenter, and the modified second instance of the graphic for presentation to the first attendee.

Claims (46)

1. A method comprising:

receiving, using one or more processors, a graphic,

anchoring, using the one or more processors, a first instance of the graphic in a collaboration environment with a first position, first scale, and first orientation relative to an initial position of a presenting user in the collaboration environment;

applying, using the one or more processors, a first anchor transform to a second instance of the graphic, the first anchor transform anchoring the second instance of the graphic in the collaboration environment with the first position, the first scale, and the first orientation relative to an initial position of a first attendee in the collaboration environment;

sending, using the one or more processors, the first instance of the graphic for presentation to the presenter, and the second instance of the graphic for presentation to the first attendee;

receiving, using the one or more processors, a first presenter interaction modifying the first instance, wherein the modified first instance includes a first modification to one or more of the first position, the first scale, and the first orientation relative to the presenter;

applying, using the one or more processors, a first local transform to the first anchor transform associated with the second instance, wherein applying the first local transform to the first anchor transform associated with the second instance includes concatenating the first local transform to the first anchor transform using matrix multiplication, wherein application of the first local transform modifies the second instance, wherein the modified second instance includes the first modification to one or more of the first position, the first scale, and the first orientation relative to the first attendee; and

sending, using the one or more processors, the modified first instance of the graphic for presentation to the presenter, and the modified second instance of the graphic for presentation to the first attendee.

2. The method of claim 1 , further comprising:

receiving a second presenter interaction including a second modification to the first instance relative to the presenting user;

applying a second local transform to a result of the first local transform and the first anchor transform, wherein the application of the second local transform modifies the second instance to include the second modification relative to the first attendee; and

sending the modified first instance of the graphic for presentation to the presenter, and the modified second instance of the graphic for presentation to the first attendee.

3. The method of claim 2 , wherein applying the second local transform to the result of the first local transform and the first anchor transform includes concatenating the second local transform to a product of the first anchor transform and first local transform using matrix multiplication.

4. The method of claim 1 , further comprising:

applying a second anchor transform to a third instance of the graphic, the second anchor transform anchoring the third instance of the graphic in the collaboration environment with the first position, the first scale, and the first orientation relative to an initial position of a second attendee in the collaboration environment;

sending the third instance of the graphic for presentation to the second attendee;

applying a second local transform to the second anchor transform associated with the third instance, wherein application of the second local transform modifies the third instance, wherein the modified third instance includes the first modification to one or more of the first position, the first scale, and the first orientation relative to the second attendee; and

sending the modified third instance of the graphic for presentation to the second attendee.

5. The method of claim 1 , wherein the first presenter interaction is an interaction with the first instance of the graphic.

6. The method of claim 1 , wherein the first presenter interaction is an interaction with the collaboration environment.

7. The method of claim 1 , wherein the first presenter interaction is an interaction with a head mounted display.

8. The method of claim 1 , wherein presenter interactions include a first subset of presenter interactions responsive to which a local transform is applied to attendee instances of the graphic, and a second subset of presenter interactions ignored for purposes of local transformation application.

9. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to:

receive a graphic,

anchor a first instance of the graphic in a collaboration environment with a first position, first scale, and first orientation relative to an initial position of a presenting user in the collaboration environment;

apply a first anchor transform to a second instance of the graphic, the first anchor transform anchoring the second instance of the graphic in the collaboration environment with the first position, the first scale, and the first orientation relative to an initial position of a first attendee in the collaboration environment;

send the first instance of the graphic for presentation to the presenter, and the second instance of the graphic for presentation to the first attendee;

receive a first presenter interaction modifying the first instance, wherein the modified first instance includes a first modification to one or more of the first position, the first scale, and the first orientation relative to the presenter;

apply a first local transform to the first anchor transform associated with the second instance, wherein applying the first local transform to the first anchor transform associated with the second instance includes concatenating the first local transform to the first anchor transform using matrix multiplication, wherein application of the first local transform modifies the second instance, wherein the modified second instance includes the first modification to one or more of the first position, the first scale, and the first orientation relative to the first attendee; and

send the modified first instance of the graphic for presentation to the presenter, and the modified second instance of the graphic for presentation to the first attendee.

10. The system of claim 9 , wherein the system is further configured to:

receive a second presenter interaction including a second modification to the first instance relative to the presenting user;

apply a second local transform to a result of the first local transform and the first anchor transform, wherein the application of the second local transform modifies the second instance to include the second modification relative to the first attendee; and

send the modified first instance of the graphic for presentation to the presenter, and the modified second instance of the graphic for presentation to the first attendee.

11. The system of claim 10 , wherein applying the second local transform to the result of the first local transform and the first anchor transform includes concatenating the second local transform to a product of the first anchor transform and first local transform using matrix multiplication.

12. The system of claim 9 , wherein the system is further configured to:

apply a second anchor transform to a third instance of the graphic, the second anchor transform anchoring the third instance of the graphic in the collaboration environment with the first position, the first scale, and the first orientation relative to an initial position of a second attendee in the collaboration environment;

send the third instance of the graphic for presentation to the second attendee;

apply a second local transform to the second anchor transform associated with the third instance, wherein application of the second local transform modifies the third instance, wherein the modified third instance includes the first modification to one or more of the first position, the first scale, and the first orientation relative to the second attendee; and

send the modified third instance of the graphic for presentation to the second attendee.

13. The system of claim 9 , wherein the first presenter interaction is an interaction with the first instance of the graphic.

14. The system of claim 9 , wherein the first presenter interaction is an interaction with the collaboration environment.

15. The system of claim 9 , wherein the first presenter interaction is an interaction with a head mounted display.

16. The system of claim 9 , wherein presenter interactions include a first subset of presenter interactions responsive to which a local transform is applied to attendee instances of the graphic, and a second subset of presenter interactions ignored for purposes of local transformation application.

Assignments (4)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072094/0790 →
SECURITY INTEREST Recorded Mar 7, 2024
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066762/0833 →
SECURITY INTEREST Recorded Jan 25, 2022
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058840/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2021
From: YOSIFOV, DEYAN PETROV; CANKOV, PANAYOT CONEV
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 055201/0173 →
Continuity (1)
Provisional Application 62975173 · Feb 11, 2020
Cited By (5)
US 12,333,065 US 12,425,543 US 12,555,326 US 12,578,786 US 12,585,691