IP Library Granted Patent US 12,293,124
Granted Patent B2
US 12,293,124 · App. 17/984,972 · Granted May 6, 2025

System and method for synchronized streaming of a video-wall

Inventors: Timothy Elwood Griffin (Calgary, CA); Reza Razavi (Calgary, CA)
Assignee: Userful Corporation
G06F3/1446G06F3/1431H04L69/28H04N21/4307
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,293,124
App. No.
17/984,972
Granted
May 6, 2025
Kind
B2
Abstract

A system is disclosed for processing and streaming real-time graphics by a video-server for synchronized output via secondary-network connected display adapters to multiple displays arranged as a video-wall. This system enables the video-server to leverage performance advantages afforded by advanced GPUs, combined with low-cost Smart displays or System-on-Chip devices to deliver advanced realtime video-wall capabilities over the network while offering flexibility in the selection of network display adapters and still achieving synchronized output of multiple sub-image streams to selected end-point displays. This has applications generally in the field of real-time multiple-display graphics distribution as well as specific applications in the field of network video-walls. A method and computer readable medium are also disclosed that operate in accordance with the system.

Claims (40)

1. A system, comprising:

a processor configured to:

divide a first frame of a sequence of frames into a plurality of sub-frames based on information associated with a plurality of displays to which the plurality of sub-frames are to be provided;

re-encode the plurality of sub-frames to obtain a plurality of re-encoded subframes; and

provide to a plurality of network display adapters a corresponding re-encoded sub-frame of the plurality of re-encoded sub-frames, comprising to:

receive, via a network display adapter of the plurality of network display adapters, the corresponding re-encoded sub-frame;

decode, via the network display adapter, the corresponding re-encoded sub-frame to obtain a decoded sub-frame; and

crop, via the network display adapter, the decoded sub-frame to obtain a cropped sub-frame, wherein the cropped sub-frame is smaller than the decoded sub-frame; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the information associated with plurality of displays include a position, a resolution, a configuration, and settings for each display of the plurality of displays.

3. The system of claim 1 , wherein dividing the first frame of a sequence of frames into the plurality of sub-frames includes decoding the first frame based on the information associated with the plurality of displays.

4. The system of claim 1 , wherein each of the plurality of sub-frames is associated with a corresponding timestamp.

5. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

dividing a first frame of a sequence of frames into a plurality of sub-frames based on information associated with a plurality of displays to which the plurality of sub-frames are to be provided;

re-encoding the plurality of sub-frames to obtain a plurality of re-encoded subframes; and

providing to a plurality of network display adapters a corresponding re-encoded sub-frame of the plurality of re-encoded sub-frames, comprising:

receiving, via a network display adapter of the plurality of network display adapters, the corresponding re-encoded sub-frame;

decoding, via the network display adapter, the corresponding re-encoded sub-frame to obtain a decoded sub-frame; and

cropping, via the network display adapter, the decoded sub-frame to obtain a cropped sub-frame, wherein the cropped sub-frame is smaller than the decoded sub-frame.

6. A method, comprising:

dividing a first frame of a sequence of frames into a plurality of sub-frames based on information associated with a plurality of displays to which the plurality of sub-frames are to be provided;

re-encoding the plurality of sub-frames to obtain a plurality of re-encoded subframes; and

providing to a plurality of network display adapters a corresponding re-encoded sub-frame of the plurality of re-encoded sub-frames, comprising:

receiving, via a network display adapter of the plurality of network display adapters, the corresponding re-encoded sub-frame;

decoding, via the network display adapter, the corresponding re-encoded sub-frame to obtain a decoded sub-frame; and

cropping, via the network display adapter, the decoded sub-frame to obtain a cropped sub-frame, wherein the cropped sub-frame is smaller than the decoded sub-frame.

7. The method of claim 6 , wherein the information associated with the plurality of displays include a position, a resolution, a configuration, and settings for each display of the plurality of displays.

8. The method of claim 6 , wherein dividing the first frame of a sequence of frames into the plurality of sub-frames includes decoding the first frame based on the information associated with the plurality of displays.

9. The method of claim 8 , wherein dividing the first frame of a sequence of frames into the plurality of sub-frames includes processing the decoded first frame.

10. The method of claim 9 , wherein processing the decoded first frame includes one or more of rendering, adding borders, adjusting aspect ratios, splitting, warping, and/or rotating.

11. The method of claim 9 , wherein the decoded first frame is processed using a graphics processing unit.

12. The method of claim 11 , wherein plurality of sub-frames are re-encoded using the graphics processing unit.

13. The method of claim 6 , wherein the plurality of sub-frames are re-encoded into a compressed video frame.

14. The method of claim 13 , wherein the plurality of sub-frames are re-encoded into the compressed video frame using a H.264 or Motion JPEG.

15. The method of claim 6 , wherein the plurality of network display adapters receive and synchronously output the plurality of sub-frames to the plurality of displays.

16. The method of claim 6 , wherein each of the plurality of sub-frames is associated with a corresponding timestamp.

17. The method of claim 6 , wherein corresponding timestamp is relative to a start time for the sequence of frames.

18. The method of claim 6 , wherein each of the plurality of sub-frames is associated with a corresponding latency offset.

19. The method of claim 18 , wherein the corresponding latency offset is pre-calculated.

20. The method of claim 18 , wherein the corresponding latency offset is dynamically calculated based on timing feedback.

Continuity (3)
Continuation 17181569 · Feb 22, 2021
Provisional Application 62980026 · Feb 21, 2020
Related Publication 20230147706A1 · May 11, 2023
References Cited (9)
US 10614764B2 · Peng · 2020 [cited by examiner]
US 10638022B2 · Hundemer · 2020 [cited by examiner]
US 11169760B1 · Qi · 2021 [cited by applicant]
US 20150286456A1 · Griffin · 2015 [cited by examiner]
US 20160203579A1 · Griffin · 2016 [cited by examiner]
US 20180060014A1 · Son · 2018 [cited by applicant]
US 20180068638A1 · Ellis · 2018 [cited by applicant]
US 20200081678A1 · Hundemer · 2020 [cited by examiner]
US 20200084341A1 · Hundemer · 2020 [cited by examiner]