IP Library Granted Patent US 9,251,852
Granted Patent B2
US 9,251,852 · App. 14/075,134 · Granted Feb 2, 2016

Systems and methods for generation of composite video

Inventor: Eric Burns (Seattle, WA)
Assignee: Panopto, Inc.
G11B27/036G11B27/10H04N7/15
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 9,251,852
App. No.
14/075,134
Granted
Feb 2, 2016
Kind
B2
Abstract

Systems and methods for generating a composite video based on a plurality of input streams are provided. A first video stream is received from a first device. A second video stream and coordination information are received from a second device. The coordination information includes instructions for combining the first video stream and the second video stream in a composite video. The first video stream and the second video stream are time aligned, and the instructions of the coordination information and the time-aligned first video stream and second video stream are used to generate the composite video.

Claims (46)

1. A computer-implemented method of generating a composite video based on a plurality of input video streams, comprising:

receiving, at a compositing engine, a first video stream from a first device;

receiving, at the compositing engine, a second video stream from a second device;

receiving, at the compositing engine, coordination information from a coordinating device distinct from the compositing engine, wherein the coordination information is generated at the coordinating device based on the coordinating device receiving the first video stream and the second video stream, and further wherein the coordination information includes instructions for combining, at the compositing engine, the first video stream and the second video stream in a composite video;

time aligning the first video stream and the second video stream; and

using, at the compositing engine, the instructions of the coordination information and the time-aligned first video stream and second video stream to generate the composite video.

2. The method of claim 1 , wherein the second video stream or the coordination information is generated after or during a playback of at least a portion of the received first video stream.

3. The method of claim 2 , wherein a user views the playback and generates the second video stream or the coordination information.

4. The method of claim 1 , further comprising:

transmitting the first video stream to the second device.

5. The method of claim 1 , wherein time aligning a particular video stream includes:

determining a clock skew between a time measurement associated with the particular video stream and a master time measurement; and

aligning the particular video stream with a master timeline based on the clock skew.

6. The method of claim 1 , wherein time aligning the first video stream and the second video stream includes:

determining a clock skew between a time measurement associated with the first video stream and a time measurement associated with the second video stream; and

aligning the first video stream with the second video stream based on the clock skew.

7. The method of claim 1 , wherein the first device or second device is a cellular phone, smartphone, videophone, digital camera, video camera, desktop computer, laptop computer, tablet computer, video game console, or server.

8. The method of claim 1 , wherein the first video stream or the second video stream is video data, audio data represented as a video stream, a still image represented as a video stream, a screen capture represented as a video stream, an annotation event stream, a virtual ink event stream, a slide presentation, a virtual whiteboard event stream, or text represented as a video stream.

9. The method of claim 1 , wherein the composite video is configured to display the first video stream and the second video stream in sub-regions of a composite video display, and wherein a size and a position of the sub-regions are determined based on the instructions in the coordination information.

10. The method of claim 1 , wherein the instructions of the coordination information are configured to overlay the first video stream on the second video stream in the composite video, or to overlay the second video stream on the first video stream in the composite video.

11. The method of claim 1 , wherein the first video stream or the second video stream is paused, stopped, rewound, fast-forwarded, opened, closed, slowed down, or sped up in the composite video based on the instructions in the coordination information.

12. The method of claim 1 , wherein time aligning the first video stream and the second video stream is based on the instructions of the coordination information.

13. The method of claim 1 , wherein the second video stream does not include portions of the first video stream.

14. The method of claim 1 , wherein the coordination information is generated on the coordinating device using a software program.

15. The method of claim 14 , wherein a user of the software program generates the coordination information by combining the first video stream and the second video stream on a virtual presentation canvas.

16. The method of claim 1 , wherein the compositing engine is hosted by a remote server distinct from the first device and the second device.

17. The method of claim 1 , wherein second device comprises the coordinating device.

18. The method of claim 1 , wherein the coordinating device is used only for generating the coordination information and does not generate a video stream.

19. A computer-implemented method of generating a composite video based on a plurality of input video streams, comprising:

receiving, at a compositing engine, a first video stream from a first device;

receiving, at the compositing engine, a second video stream from a second device, wherein the second video stream is generated based on a display, at the second device, of the first video stream;

receiving, at the compositing engine, a second video stream from a second device, wherein the second video stream is generated based on a display at the second device of the first video stream;

receiving, at the compositing engine, a coordination information from a coordinating device distinct from the compositing engine, wherein the coordination information is generated at the coordinating device based on the coordinating device receiving the first video stream and the second video stream, and wherein the coordination information includes instructions for combining, at the compositing engine, the first video stream and the second video stream in a composite video; and

combining, at the compositing engine, the first video stream and the second video stream in the composite video based on the coordination information.

20. The method of claim 19 , wherein a user views the playback and generates the second video stream or the coordination information.

21. The method of claim 19 , wherein the first video stream or the second video stream is video data, audio data represented as a video stream, a still image represented as a video stream, a screen capture represented as a video stream, an annotation event stream, a virtual ink event stream, a slide presentation, a virtual whiteboard event stream, or text represented as a video stream.

22. The method of claim 19 , wherein the composite video is configured to display the first video stream and the second video stream in sub-regions of a composite video display, and wherein a size and a position of the sub-regions are determined based on the instructions in the coordination information.

23. The method of claim 19 , wherein the instructions of the coordination information are configured to overlay the first video stream on the second video stream in the composite video, or to overlay the second video stream on the first video stream in the composite video.

24. The method of claim 19 , wherein the first video stream or the second video stream is paused, stopped, rewound, fast-forwarded, opened, closed, slowed down, or sped up in the composite video based on the instructions in the coordination information.

25. The method of claim 19 , wherein the instructions of the coordination information are configured to time align the first video stream and the second video stream in the composite video.

26. The method of claim 19 , wherein the second video stream does not include portions of the first video stream.

27. The method of claim 19 , wherein the coordination information is generated using a software program.

28. The method of claim 27 , wherein the software program generates the coordination information by combining the first video stream and the second video stream on a virtual presentation canvas.

29. The method of claim 19 , wherein the compositing engine is hosted by a remote server distinct from the first device and the second device.

30. The method of claim 19 , wherein the second device comprises the coordinating device.

31. The method of claim 19 , wherein the coordinating device is used only for generating the coordination information and does not generate a video stream.

Assignments (10)
SECURITY INTEREST Recorded Jun 5, 2022
From: PANOPTO, INC.; SYMPHONY VIDEO, INC.
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 060103/0682 →
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: PANOPTO, INC.; SYMPHONY VIDEO, INC.
Reel/Frame 060098/0724 →
SECURITY INTEREST Recorded Mar 31, 2021
From: PANOPTO, INC.; SYMPHONY VIDEO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 055786/0301 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: PANOPTO, INC.
Reel/Frame 055842/0068 →
RELEASE OF SECURITY INTEREST Recorded Mar 13, 2018
From: PACIFIC WESTERN BANK
To: PANOPTO, INC.
Reel/Frame 045190/0370 →
SECURITY INTEREST Recorded Mar 12, 2018
From: PANOPTO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 045176/0850 →
SECURITY INTEREST Recorded Aug 29, 2016
From: PANOPTO, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 039567/0594 →
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2016
From: SAAS CAPITAL FUNDING, LLC
To: PANOPTO, INC.
Reel/Frame 039478/0908 →
SECURITY INTEREST Recorded Mar 26, 2014
From: PANOPTO, INC.
To: SAAS CAPITAL FUNDING, LLC
Reel/Frame 032524/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2013
From: BURNS, ERIC
To: PANOPTO, INC.
Reel/Frame 031840/0420 →
Continuity (2)
Provisional Application 61726851 · Nov 15, 2012
Related Publication 20140133836A1 · May 15, 2014