- Number
- 10764473
- Published
- 2020-09-01
- Filed
- 2016-01-14
- Assignee
- Disney Enterprises, Inc.
- Inventors
- Stankoski; David A., Imbriale; Frank J., Strein; Michael J.
- CPC
- H04N5/0736
- Verdict
- Set aside video source synchronization, broadcast plumbing
- Source
- Google Patents · FreePatentsOnline
Abstract
Systems, methods and computer program products to perform an operation comprising receiving a first video frame specifying a first timestamp from a first video source, receiving a second video frame specifying a second timestamp from a second video source, wherein the first and second timestamps are based on a remote time source, determining, based on a local time source, that the first timestamp is later in time than the second timestamp, and storing the first video frame in a buffer for alignment with a third video frame from the second video source.
Background
BACKGROUND(1) Field of the Disclosure(2) Embodiments disclosed herein relate to video production. More specifically, embodiments disclosed herein automatically synchronize multiple real-time video sources.(3) Description of the Related Art(4) Multiple video cameras are often used to film a single event, such as a movie, television show, or sporting event. Conventionally, the production (e.g., consolidation, combination, and creative manipulation) of these events is completed where the filming occurred. In the production process, the camera, graphics, and replay feeds are combined together to create a single produced signal that is then sent to a single point for distribution (e.g., a broadcast site). Recent advancements have made it possible to bring all the remote signals back to the distribution point individually, allowing the creative production to happen at the distribution point. These different remote signals may be transmitted via a plurality of different travel paths, such as satellite, dedicated fiber, dedicated or shared internet protocol (IP) mediums. Furthermore, the remote signals may be uncompressed or compressed in a variety of ways. The different communications media and compression techniques may introduce varying latencies between the feeds. Therefore, if the feeds are not aligned properly, the resulting production may seem unprofessional.SUMMARY(5) In one embodiment, a method comprises receiving a first video frame specifying a first timestamp from a first
Claims
1. A computer-implemented method of synchronizing multiple real-time video sources, the computer-implemented method comprising: receiving a first video frame as part of a first video feed from a first video source, the first video frame having an associated data space specifying a first timestamp generated by a first one of a plurality of timestamp insertion devices collectively referenced to a remote time source; receiving, as part of a second video feed from a second video source, an Internet Protocol (IP) frame that encapsulates (i) at least part of a second video frame and (ii) a second timestamp generated by a second one of the plurality of timestamp insertion devices, wherein the first and second video sources are configured to concurrently film a common scene from distinct viewing perspectives, wherein the first and second video frames are received with distinct measures of latency introduced by distinct types of transmissions media, respectively; determining that the first timestamp is later in time than the second timestamp by operation of one or more computer processors and based on comparing (i) a first difference between the first timestamp and a current time provided by a local time source and (ii) a second difference between the second timestamp and the current time provided by the local time source; queuing the first video frame in a variable-length buffer until a third video frame, specifying a third timestamp equal to the first timestamp, is received from the second video source, the variable-length buffer having a length that varies over time based on a count of frames by which the first and second video feeds are currently offset relative to one another; and aligning the first and second video feeds in time relative to one another, based on the variable-length buffer, whereafter the first and second video feeds are concurrently output via a single transmissions medium.
10. A computer program product to synchronize multiple real-time video sources, the computer program product comprising: a non-transitory computer-readable medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to perform an operation comprising: receiving a first video frame as part of a first video feed from a first video source, the first video frame having an associated data space specifying a first timestamp generated by a first one of a plurality of timestamp insertion devices collectively referenced to a remote time source; receiving, as part of a second video feed from a second video source, an Internet Protocol (IP) frame that encapsulates (i) at least part of a second video frame and (ii) a second timestamp generated by a second one of the plurality of timestamp insertion devices, wherein the first and second video sources are configured to concurrently film a common scene from distinct viewing perspectives, wherein the first and second video frames are received with distinct measures of latency introduced by distinct types of transmissions media, respectively; determining that the first timestamp is later in time than the second timestamp, based on comparing (i) a first difference between the first timestamp and a current time provided by a local time source and (ii) a second difference between the second timestamp and the current time provided by the local time source; queuing the first video frame in a variable-length buffer until a third video frame, specifying a third timestamp equal to the first timestamp, is received from the second video source, the variable-length buffer having a length that varies over time based on a count of frames by which the first and second video feeds are currently offset relative to one another; and aligning the first and second video feeds in time relative to one another, based on the variable-length buffer, whereafter the first and second video feeds are concurrently output via a single transmissions medium.
19. A system of synchronizing multiple real-time video sources, the system comprising: one or more computer processors; and a memory containing a program which, when executed by the one or more computer processors, performs an operation comprising: receiving a first video frame as part of a first video feed from a first video source, the first video frame having an associated data space specifying a first timestamp generated by a first one of a plurality of timestamp insertion devices collectively referenced to a remote time source; receiving, as part of a second video feed from a second video source, an Internet Protocol (IP) frame that encapsulates (i) at least part of a second video frame and (ii) a second timestamp generated by a second one of the plurality of timestamp insertion devices, wherein the first and second video sources are configured to concurrently film a common scene from distinct viewing perspectives, wherein the first and second video frames are received with distinct measures of latency introduced by distinct types of transmissions media, respectively; determining that the first timestamp is later in time than the second timestamp based on comparing (i) a first difference between the first timestamp and a current time provided by a local time source and (ii) a second difference between the second timestamp and the current time provided by the local time source; queuing the first video frame in a variable-length buffer until a third video frame, specifying a third timestamp equal to the first timestamp, is received from the second video source, the variable-length buffer having a length that varies over time based on a count of frames by which the first and second video feeds are currently offset relative to one another; and aligning the first and second video feeds in time relative to one another, based on the variable-length buffer, whereafter the first and second video feeds are concurrently output via a single transmissions medium.