IP Library Granted Patent US 12,242,768
Granted Patent B2
US 12,242,768 · App. 16/987,815 · Granted Mar 4, 2025

Systems and methods for collaborating physical-virtual interfaces

Inventors: Arjun Nagendran (San Mateo, CA); Brian D. Kelly (Orlando, FL)
Assignee: Mursion, Inc.
G06F3/1454G06F3/0346G06T11/60G06T13/40G06T13/80G09B5/02
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,242,768
App. No.
16/987,815
Granted
Mar 4, 2025
Kind
B2
Abstract

Aspects of systems and methods for collaborating physical-virtual interfaces are disclosed. In an example, a method may include transmitting digital content to display in a virtual environment that includes one or more human inhabited characters, the digital content corresponding to content displayed on one or more interactive devices. The method may also include receiving first input data representing content markup of the digital content from a first user of the first interactive device. The method may also include determining an action state or an appearance state for a human inhabited character in response to the first data. The method may also include transmitting the first input data to display in the virtual environment and transmitting the human inhabited character to display in the virtual environment according to the action state or the appearance state.

Claims (87)

1. A method for collaborating physical-virtual interfaces, comprising:

transmitting, to one or more immersive devices being used by one or more immersive device users, digital content to display in a virtual environment that includes one or more human inhabited characters and a virtual device;

receiving, from a first interactive device of one or more interactive devices, first input data representing content markup of the digital content from a first interactive device user of the first interactive device, wherein the first input data includes a first markup stroke and a second markup stroke, wherein the first markup stroke includes a first starting point, a first stopping point and a first time value, wherein the second markup stroke includes a second starting point, a second stopping point and a second time value, wherein at least one of the one or more immersive device users is different than the first interactive device user, wherein the first interactive device is physically connected to a controller, wherein the controller has a corresponding position, orientation, or rotation;

determining an action state or an appearance state for a human inhabited character of the one or more human inhabited characters in response to the first input data;

transmitting, to the one or more immersive devices, the human inhabited character and the virtual device to display in the virtual environment according to the action state or the appearance state, wherein the action state or the appearance state for the human inhabited character is displayed via the one or more immersive devices, wherein the corresponding position, orientation, or rotation of the controller is inherited by the virtual device in the virtual environment; and

synchronizing the first input data across the one or more interactive devices and the one or more immersive devices, comprising:

comparing the first time value with the second time value;

determining that the second time value is more recent than the first time value; and

in the event that the second time value is more recent than the first time value:

drawing the first markup stroke on a new texture; and

drawing the second markup stroke on the new texture, comprising:

identifying pixels where the first markup stroke overlaps the second markup stroke to obtain an overlapping area;

drawing the second markup stroke in the overlapping area; and

discarding pixels relating to the first markup stroke in the overlapping area.

2. The method of claim 1 , further comprising:

transmitting, to the one or more immersive devices, the first input data to display in the virtual environment.

3. The method of claim 1 , further comprising:

transmitting, to the one or more interactive devices, the first input data to display.

4. The method of claim 1 , wherein the content markup comprises input based on one or more digital editing tools.

5. The method of claim 1 , wherein the determining the action state or the appearance state for the human inhabited character comprises:

detecting first user information in the first input data; and

transitioning the human inhabited character from a current action state or a current appearance state to a next action state or a next appearance state in response to the detecting the first user information.

6. The method of claim 5 , wherein the first user information includes one or more behaviors associated with the first input data.

7. The method of claim 1 , further comprising:

transmitting, to the one or more immersive devices, a virtual device to display in the virtual environment, the virtual device representing a virtual rendering of the first interactive device;

obtaining one or more of a position or an orientation of a controller physically connected to and communicatively coupled with the first interactive device; and

transmitting, to the one or more immersive devices, the virtual device to display according to the one or more of the position or the orientation of the controller.

8. The method of claim 7 , further comprising:

determining the action state or the appearance state for the human inhabited character further in response to the one or more of the position or the orientation of the controller.

9. The method of claim 1 , wherein:

determining the action state or the appearance state comprises determining the appearance state; and

transmitting the human inhabited character comprises transmitting the human inhabited character according to the appearance state.

10. A method for collaborating physical-virtual interfaces, comprising:

receiving, from a first interactive device of one or more interactive devices, first input data representing content markup of digital content from a first interactive device user of the first interactive device, the digital content to be display in a virtual environment that includes one or more human inhabited characters and a virtual device, wherein the first interactive device is physically connected to a controller, wherein the controller has a corresponding position, orientation, or rotation;

determining a plurality of points corresponding to the content markup and a time value of the content markup, wherein the content markup includes a first markup stroke and a second markup stroke, wherein the first markup stroke includes a first starting point, a first stopping point and a first time value, wherein the second markup stroke includes a second starting point, a second stopping point and a second time value; and

synchronizing display of the first input data in the virtual device in the virtual environment across the one or more interactive devices based on the plurality of points and the time value, wherein the content markup of the digital content is displayed via one or more immersive devices being used by one or more immersive device users, wherein at least one of the one or more immersive device users is different than the first interactive device user, wherein the corresponding position, orientation, or rotation of the controller is inherited by the virtual device in the virtual environment, wherein the synchronizing of the display comprises:

comparing the first time value with the second time value;

determining that the second time value is more recent than the first time value; and

in the event that the second time value is more recent than the first time value:

drawing the first markup stroke on a new texture; and

drawing the second markup stroke on the new texture, comprising:

identifying pixels where the first markup stroke overlaps the second markup stroke to obtain an overlapping area;

drawing the second markup stroke in the overlapping area; and

discarding pixels relating to the first markup stroke in the overlapping area.

11. The method of claim 10 , wherein the content markup comprises input based on one or more digital editing tools.

12. The method of claim 10 , further comprising:

combining the first input data with previously received input data to render the content markup.

13. The method of claim 10 , wherein synchronizing the display of the first input data comprises synchronizing without the use of a collaboration controller.

14. A computing device, comprising:

a non-transitory computer readable memory storing instructions; and

a processor communicatively coupled with the non-transitory computer readable memory and configured to:

transmit, to one or more immersive devices being used by one or more immersive device users, digital content to display in a virtual environment that includes one or more human inhabited characters and a virtual device, the digital content corresponding to content displayed on one or more interactive devices;

receive, from a first interactive device of the one or more interactive devices, first input data representing content markup of the digital content from a first interactive device user of the first interactive device, wherein the first input data includes a first markup stroke and a second markup stroke, wherein the first markup stroke includes a first starting point, a first stopping point and a first time value, wherein the second markup stroke includes a second starting point, a second stopping point and a second time value, wherein at least one of the one or more immersive device users is different than the first interactive device user, wherein the first interactive device is physically connected to a controller, wherein the controller has a corresponding position, orientation, or rotation;

determine an action state or an appearance state for a human inhabited character of the one or more human inhabited characters in response to the first input data;

transmit, to the one or more immersive devices, the human inhabited character and the virtual device to display in the virtual environment according to the action state or the appearance state, wherein the action state or the appearance state for the human inhabited character is displayed via the one or more immersive devices, wherein the corresponding position, orientation, or rotation of the controller is inherited by the virtual device in the virtual environment; and

synchronize the first input data across the one or more interactive devices and the one or more immersive devices, comprising to:

compare the first time value with the second time value;

determine that the second time value is more recent than the first time value; and

in the event that the second time value is more recent than the first time value:

draw the first markup stroke on a new texture; and

draw the second markup stroke on the new texture, comprising to:

identify pixels where the first markup stroke overlaps the second markup stroke to obtain an overlapping area;

draw the second markup stroke in the overlapping area; and

discard pixels relating to the first markup stroke in the overlapping area.

15. The computing device of claim 14 , wherein the processor is further configured to:

transmit, to the one or more immersive devices, the first input data to display in the virtual environment.

16. The computing device of claim 14 , wherein the processor is further configured to:

transmit, to the one or more interactive devices, the first input data to display.

17. The computing device of claim 14 , wherein the content markup comprises input based on one or more digital editing tools.

18. The computing device of claim 14 , wherein the processor is further configured to:

detect first user information in the first input data; and

transition the human inhabited character from a current action state or a current appearance state to a next action state or a next appearance state in response to the first user information being detected.

19. A computing device, comprising:

a non-transitory computer readable memory storing instructions; and

a processor communicatively coupled with the non-transitory computer readable memory and configured to:

receive, from a first interactive device of one or more interactive devices, first input data representing content markup of digital content from a first interactive device user of the first interactive device, the digital content to be displayed in a virtual environment that includes one or more human inhabited characters and a virtual device, wherein the first interactive device is physically connected to a controller, wherein the controller has a corresponding position, orientation, or rotation;

determine a plurality of points corresponding to the content markup and a time value of the content markup, wherein the content markup includes a first markup stroke and a second markup stroke, wherein the first markup stroke includes a first starting point, a first stopping point and a first time value, wherein the second markup stroke includes a second starting point, a second stopping point and a second time value; and

synchronize display of the first input data in the virtual device in the virtual environment across the one or more interactive devices based on the plurality of points and the time value, wherein the content markup of the digital content is displayed via one or more immersive devices being used by one or more immersive device users, wherein at least one of the one or more immersive device users is different than the first interactive device user, wherein the corresponding position, orientation, or rotation of the controller is inherited by the virtual device in the virtual environment, wherein the synchronizing of the display comprises to:

compare the first time value with the second time value;

determine that the second time value is more recent than the first time value; and

in the event that the second time value is more recent than the first time value:

draw the first markup stroke on a new texture; and

draw the second markup stroke on the new texture, comprising to:

identify pixels where the first markup stroke overlaps the second markup stroke to obtain an overlapping area;

draw the second markup stroke in the overlapping area; and

discard pixels relating to the first markup stroke in the overlapping area.

20. The computing device of claim 19 , wherein the content markup comprises input based on one or more digital editing tools.

Assignments (6)
SECURITY INTEREST Recorded Jun 5, 2025
From: MURSION, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 071331/0959 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NO. 16987915 SHOULD BE RELEASED AND REPLACED WITH APPLICATION NO. 16987815 PREVIOUSLY RECORDED ON REEL 70687 FRAME 16. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Apr 1, 2025
From: MURSION, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 071335/0290 →
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2025
From: TOP CORNER CAPITAL LP
To: MURSION, INC.
Reel/Frame 070694/0043 →
SECURITY INTEREST Recorded Mar 31, 2025
From: MURSION, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 070687/0016 →
SECURITY INTEREST Recorded Aug 23, 2024
From: MURSION, INC.
To: TOP CORNER CAPITAL LP
Reel/Frame 068390/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2020
From: NAGENDRAN, ARJUN; KELLY, BRIAN D.
To: MURSION, INC.
Reel/Frame 053432/0688 →
Continuity (1)
Related Publication 20220043622A1 · Feb 10, 2022
References Cited (7)
US 10373342B1 · Perez, III · 2019 [cited by examiner]
US 20150097812A1 · Huang · 2015 [cited by examiner]
US 20180098059A1 · Valdivia · 2018 [cited by examiner]
US 20180165887A1 · Iwai · 2018 [cited by examiner]
US 20180181199A1 · Harvey · 2018 [cited by examiner]
US 20180203502A1 · Kobayashi · 2018 [cited by examiner]
US 20200066049A1 · Sun · 2020 [cited by examiner]