System and method for synchronized streaming of a video-wall
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
exact text as granted — not AI-modifiedWhat is claimed is:
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.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.