IP Library Granted Patent US 12713081
Granted Patent B2
US 12713081 · App. 18/746,016 · Granted Aug 18, 2026

Cloud-based video splitter

Inventors: Gil Gonen (Jerusalem, IL); Einav Rivini (Beit-Shemesh, IL); Mordechai Regev (Lod, IL); Amotz Terem (Jerusalem, IL); Uziel Joseph Harband (Jerusalem, IL); Avi Fruchter (Neve Daniel, IL)
Assignee: Synamedia Limited
H04N21/242H04N21/2343H04N21/4312H04N21/4331H04N21/8547
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 12713081
App. No.
18/746,016
Granted
Aug 18, 2026
Kind
B2
Abstract

Techniques for cloud-based video splitting are described herein. In various embodiments, at least one server hosting a cloud-based video splitter renders one or more user interfaces for a plurality of client devices connected to a plurality of displays. The cloud-based video splitter divides each frame of a video corresponding to the one or more user interfaces into a plurality of portions and encodes the plurality of portions into a plurality of videos according to properties of the plurality of displays and characteristics of the plurality of client devices. The cloud-based video splitter also streams the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays.

Claims (69)

1 . A method comprising:

at a server including one or more processors and non-transitory memory:

rendering one or more user interfaces for a plurality of client devices connected to a plurality of displays;

dividing each frame of a video corresponding to the one or more user interfaces into a plurality of portions and encoding the plurality of portions into a plurality of videos according to properties of the plurality of displays and characteristics of the plurality of client devices;

streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays; and

facilitating modification of presentation timestamps of frames subsequent the frames being presented based on deltas of frames being presented at the plurality of client devices.

2 . The method of claim 1 , wherein streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays includes:

configuring the plurality of client devices to same amount of buffering; and

causing the plurality of client devices to send a respective frame of the plurality of videos to the plurality of displays at same time.

3 . The method of claim 1 , wherein the synchronized presentation on the plurality of displays includes synchronized presentation timestamps of the plurality of portions, and the method further includes:

causing the plurality of client devices to synchronize presentation timestamps for the plurality of videos according to a global time correlating to a respective frame of the plurality of videos.

4 . The method of claim 1 , wherein streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays includes:

synchronizing timestamps of corresponding frames in the plurality of videos; and

sending the plurality of videos to the plurality of client devices at same time.

5 . The method of claim 1 , wherein streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays includes:

buffering corresponding frames in the plurality of videos prior to transmitting the plurality of videos to the plurality of client devices; and

transmitting the buffered corresponding frames at same time.

6 . The method of claim 1 , wherein streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays includes:

synchronizing a plurality of audio streams corresponding to the plurality of videos; and

instructing the plurality of client devices to align decoding of the plurality of videos based on corresponding audio timestamps in the plurality of audio streams.

7 . The method of claim 1 , wherein dividing each frame of the video into the plurality of portions and encoding the plurality of portions into the plurality of videos according to the properties of the plurality of displays and the characteristics of the plurality of client devices includes:

obtaining buffer conditions from the characteristics, including bitrates associated with the plurality of client devices;

deriving a least common denominator from the bitrates; and

encoding a respective frame of the plurality of videos according to the least common denominator.

8 . The method of claim 1 , wherein encoding the plurality of portions into the plurality of videos includes:

encoding a first portion of the plurality of portions according to a first resolution; and

encoding a second portion of the plurality of portions at a second resolution, different from the first resolution.

9 . The method of claim 1 , further comprising:

sending messages to the plurality of client devices to align to a particular frame in the plurality of videos, wherein the messages instruct the plurality of client devices to freeze or skip; and

instructing the plurality of client devices to resume presenting the plurality of videos upon the plurality of client devices completing downloading of the particular frame.

10 . The method of claim 1 , further comprising:

establishing a plurality of sessions for streaming of the plurality of videos to the plurality of client devices; and

assigning a plurality of applications to the plurality of sessions, wherein the synchronizing is performed across the plurality of sessions.

11 . The method of claim 1 , wherein:

encoding each frame of the video into the plurality of portions includes duplicating each frame into the plurality of portions; and

the method further includes distributing the plurality of videos to the plurality of client devices at different locations.

12 . The method of claim 1 , further comprising:

configuring the plurality of client devices to wait for a respective display signaling completion of drawing a current frame before sending a next frame.

13 . A non-transitory memory storing one or more programs, which, when executed by a server with one or more processors, cause the server to:

render one or more user interfaces for a plurality of client devices connected to a plurality of displays;

divide each frame of a video corresponding to the one or more user interfaces into a plurality of portions and encode the plurality of portions into a plurality of videos according to the properties of the plurality of displays and characteristics of the plurality of client devices;

stream the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays;

send messages to the plurality of client devices to align to a particular frame in the plurality of videos, wherein the messages instruct the plurality of client devices to freeze or skip; and

instruct the plurality of client devices to resume presenting the plurality of videos upon the plurality of client devices completing downloading of the particular frame.

14 . The non-transitory memory of claim 13 , wherein streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays includes:

configuring the plurality of client devices to same amount of buffering; and

causing the plurality of client devices to send a respective frame of the video to the plurality of displays at same time.

15 . The non-transitory memory of claim 13 , wherein the synchronized presentation on the plurality of displays includes synchronized presentation timestamps of the plurality of portions, and the one or more programs, which, when executed by the server with the one or more processors, further cause the server to:

cause the plurality of client devices to synchronize presentation timestamps for the plurality of videos according to a global time correlating to a respective frame of the plurality of videos.

16 . The non-transitory memory of claim 13 , wherein streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays includes:

configuring the plurality of client devices to synchronize to a global time; and

sending the plurality of videos to the plurality of client devices at same time according to the global time.

17 . The non-transitory memory of claim 13 , wherein streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays includes:

buffering corresponding frames in the plurality of videos prior to transmitting the plurality of videos to the plurality of client devices; and

transmitting the buffered corresponding frames at same time.

18 . The non-transitory memory of claim 13 , wherein dividing each frame of the video into the plurality of portions and encoding the plurality of portions into the plurality of videos according to the properties of the plurality of displays and the characteristics of the plurality of client devices includes:

obtaining buffer conditions from the characteristics, including bitrates associated with the plurality of client devices;

deriving a least common denominator from the bitrates; and

encoding a respective frame of the plurality of videos according to the least common denominator.

19 . A server comprising:

one or more processors;

a non-transitory memory;

a network interface; and

one or more programs, stored in the non-transitory memory, which, when executed by the one or more processors, cause the server to:

render one or more user interfaces for a plurality of client devices connected to a plurality of displays;

divide each frame of a video corresponding to the one or more user interfaces into a plurality of portions and encode the plurality of portions into a plurality of videos according to the properties of the plurality of displays and characteristics of the plurality of client devices;

streaming the plurality of videos to the plurality of client devices for synchronized presentation on the plurality of displays;

establishing a plurality of sessions for streaming of the plurality of videos to the plurality of client devices; and

assigning one or more instances of an application to the plurality of sessions, wherein the synchronizing is performed across the plurality of sessions.