IP Library › Granted Patent US 12,143,559
Granted Patent B2
US 12,143,559 · App. 17/201,949 · Granted Nov 12, 2024

Providing a contiguous virtual space for a plurality of display devices

Inventors: Matthew Ragan (New York, NY); Kurt Kaminski (Oakland, CA)
Assignee: Sphere Entertainment Group, LLC
H04N13/243H04N13/25H04N13/275H04N13/282
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,143,559
App. No.
17/201,949
Granted
Nov 12, 2024
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for rendering a contiguous virtual space for a plurality of display devices. An embodiment operates by identifying a projection of a virtual camera onto a virtual plane and determining a display plane area based on an intersection of the projection of the virtual camera onto the virtual plane. Thereafter, a position for a plurality of virtual windows correlating to a plurality of real-world display devices on the display plane area is calculated based on (i) properties of the display devices and (ii) a focal length of the virtual camera. After placing the virtual windows their respective display plane area positions, content behind a virtual window is identified and provided to the corresponding real-world display device.

Claims (79)

1. A method for presenting a video across a plurality of display devices within a real-world environment, the method comprising:

replicating, by at least one processor, a spatial configuration of the plurality of display devices within the real-world environment onto a virtual plane in a virtual environment;

placing, by the at least one processor, a master virtual camera within the virtual environment to project the video onto the virtual plane to define a display plane area in the virtual plane;

placing, by the at least one processor, a plurality of virtual windows within the display plane area in the virtual environment that correspond to the spatial configuration of the plurality of display devices;

placing, by the at least one processor, a plurality of child virtual cameras within the virtual environment that correspond to the plurality of virtual windows to capture a plurality of portions of the video that is projected onto the plurality of virtual windows by the master virtual camera;

generating, by the at least one processor, a plurality of data streams that correspond to the plurality of portions of the video captured by the plurality of child virtual cameras; and

providing, by the at least one processor, the plurality of data streams to the plurality of display devices to be displayed by the plurality of display devices in the real-world environment.

2. The method of claim 1 , wherein the replicating comprises:

replicating the spatial configuration of the plurality of display devices within the real-world environment based upon one or more properties of the plurality of display devices.

3. The method of claim 2 , wherein the one or more properties of the plurality of display devices comprise:

a plurality of geographical positions of the plurality of display devices on a real-world plane in the real-world environment;

a plurality of spatial distances between the plurality of display devices in the real-world environment;

a plurality of display resolutions of the plurality of display devices;

a plurality of physical sizes of the plurality of display devices;

a plurality of technology types of the plurality of display devices; or

a plurality of display types of display devices.

4. The method of claim 1 , wherein the placing comprises:

spatially placing the plurality of virtual windows onto the display plane area in the virtual environment that correspond to the spatial configuration of the plurality of display devices within the real-world environment.

5. The method of claim 4 , wherein the spatially placing comprises:

calculating a plurality of spatial positions for the plurality of virtual windows based on one or more properties of the plurality of display devices and a focal length of the master virtual camera.

6. The method of claim 1 , wherein the placing comprises:

placing the plurality of child virtual cameras within the virtual environment to crop the video into the plurality of portions.

7. The method of claim 1 , wherein the projecting comprises:

defining the display plane area in the virtual plane to be an intersection of between the projected video and the virtual plane.

8. The method of claim 1 , wherein adjacent display devices from among the plurality of display devices within the real-world environment are separated from one another to provide a noncontiguous viewing area between the adjacent display devices, and

wherein the replicating comprises:

replicating the noncontiguous viewing area between the adjacent display devices onto the virtual plane to provide a contiguous virtual plane in the virtual environment for projecting the video.

9. The method of claim 1 , wherein the generating comprises:

generating the plurality of data streams to include timing data to synchronize the plurality of display devices, and

wherein the providing comprises:

providing the timing data to the plurality of display devices to synchronize display of the plurality of portions among the plurality of display devices in the real-world environment.

10. A server for presenting a video across a plurality of display devices within a real-world environment, the server comprising:

a memory that stores instructions; and

a processor configured to execute the instructions, the instructions, when executed by the processor, configuring the processor to:

replicate a spatial configuration of the plurality of display devices within the real-world environment onto a virtual plane in a virtual environment,

place a master virtual camera within the virtual environment to project the video onto the virtual plane to define a display plane area in the virtual plane,

place a plurality of virtual windows within the display plane area in the virtual environment that correspond to the spatial configuration of the plurality of display devices,

place a plurality of child virtual cameras within the virtual environment that correspond to the plurality of virtual windows to capture a plurality of portions of the video that is projected onto the plurality of virtual windows b the master virtual camera,

generate a plurality of data streams that correspond to the plurality of portions of the video captured by the plurality of child virtual cameras; and

provide the plurality of data streams to the plurality of display devices to be displayed by the plurality of display devices in the real-world environment.

11. The server of claim 10 , wherein the instructions, when executed by the processor, configure the processor to:

replicate the spatial configuration of the plurality of display devices within the real-world environment based upon one or more properties of the plurality of display devices.

12. The server of claim 11 , wherein the one or more properties of the plurality of display devices comprise:

a plurality of geographical positions of the plurality of display devices on a real-world plane in the real-world environment;

a plurality of spatial distances between the plurality of display devices in the real-world environment;

a plurality of display resolutions of the plurality of display devices;

a plurality of physical sizes of the plurality of display devices;

a plurality of technology types of the plurality of display devices; or

a plurality of display types of display devices.

13. The server of claim 10 , wherein the instructions, when executed by the processor, configure the processor to:

spatially place the plurality of virtual windows onto the display plane area in the virtual environment that correspond to the spatial configuration of the plurality of display devices within the real-world environment.

14. The server of claim 13 , wherein the instructions, when executed by the processor, configure the processor to:

calculate a plurality of spatial positions for the plurality of virtual windows based on one or more properties of the plurality of display devices and a focal length of the master virtual camera.

15. The server of claim 10 , wherein the wherein the instructions, when executed by the processor, configure the processor to:

place the plurality of child virtual cameras within the virtual environment to crop the video into the plurality of portions.

16. The server of claim 10 , wherein the instructions, when executed by the processor, configure the processor to:

define the display plane area in the virtual plane to be an intersection of between the projected video and the virtual plane.

17. The server of claim 10 , wherein adjacent display devices from among the plurality of display devices within the real-world environment are separated from one another to provide a noncontiguous viewing area between the adjacent display devices, and

wherein the instructions, when executed by the processor, configure the processor to:

replicate the noncontiguous viewing area between the adjacent display devices onto the virtual plane to provide a contiguous virtual plane in the virtual environment for projecting the video.

18. A server for presenting a video across a plurality of display devices within a real-world environment, the server comprising:

a memory that stores instructions; and

a processor configured to execute the instructions, the instructions, when executed by the processor, configuring the processor to:

replicate a spatial configuration of the plurality of display devices within the real-world environment onto a plurality of virtual planes in a virtual environment, each virtual plane from among the plurality of virtual planes corresponding to a set of display devices from among a plurality of sets of display devices,

place a plurality of master virtual cameras within the virtual environment to project the video onto the plurality of virtual planes to define a plurality of display plane areas in the virtual plane,

place a plurality of virtual windows within the plurality of display plane areas in the virtual environment that correspond to the spatial configuration of the plurality of display devices,

place a plurality of child virtual cameras within the virtual environment that correspond to the plurality of virtual windows to capture a plurality of portions of the video that is projected onto the plurality of virtual windows by the plurality of master virtual cameras,

generate a plurality of data streams that correspond to the plurality of portions of the video captured by the plurality of child virtual cameras; and

provide the plurality of data streams to the plurality of display devices to be displayed by the plurality of display devices in the real-world environment.

19. The server of claim 18 , wherein the instructions, when executed by the processor, configure the processor to:

replicate the spatial configuration of the plurality of display devices within the real-world environment based upon one or more properties of the plurality of display devices.

20. The server of claim 18 , wherein the instructions, when executed by the processor, configure the processor to:

spatially place the plurality of virtual windows onto the plurality of display plane areas in the virtual environment that correspond to the spatial configuration of the plurality of display devices within the real-world environment.

21. The server of claim 20 , wherein the instructions, when executed by the processor, configure the processor to:

calculate a plurality of spatial positions for the plurality of virtual windows based on one or more properties of the plurality of display devices and a plurality of focal lengths of the plurality of master virtual cameras.

22. The server of claim 18 , wherein the wherein the instructions, when executed by the processor, configure the processor to:

place the plurality of child virtual cameras within the virtual environment to crop the video into the plurality of portions.

23. The server of claim 18 , wherein the instructions, when executed by the processor, configure the processor to:

define the plurality of display plane areas in the virtual plane to be a plurality of intersections of between the projected video and the plurality of virtual planes.

Assignments (2)
CHANGE OF NAME Recorded Apr 29, 2024
From: MSG ENTERTAINMENT GROUP, LLC
To: SPHERE ENTERTAINMENT GROUP, LLC
Reel/Frame 067260/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2021
From: RAGAN, MATTHEW; KAMINSKI, KURT
To: MSG ENTERTAINMENT GROUP, LLC
Reel/Frame 055596/0782 →
Continuity (2)
Continuation 16512214 · Jul 15, 2019
Related Publication 20210203908A1 · Jul 1, 2021
Cited By (1)
US 12,665,995