# US 8,786,670 B2 · Network synchronization video for composite video streams

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,786,670 B2
- Document ID: US8786670B2
- Status: Granted
- Kind: B2
- Application number: 12/904,493
- Filed: 2010-10-14
- Published: 2012-04-19
- Granted: 2014-07-22
- Earliest claimed: 2010-10-14
- Assignees: Cisco Technology, Inc.
- Applicants: J. William Mauchly
- Inventors: J. William Mauchly
- Web page: https://patentgrep.com/patent/US8786670B2

## CPC

- H04N 7/15: Conference systems
- H04N 21/242: Synchronisation processes, e.g. processing of PCR [Programme Clock References] {(arrangements for synchronising broadcast or distribution via plural systems in broadcast distribution systems H04H20/18)}
- H04N 21/2665: Gathering content from different sources, e.g. Internet and satellite
- H04N 21/4223: Cameras (H04N23/00 takes precedence)
- H04N 21/43072: {of multiple content streams on the same device}
- H04N 21/4788: communicating with other users, e.g. chatting {(arrangements for providing for computer conferences, e.g. chat rooms, to substation in data switching networks H04L12/1813; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N 21/64753: {directed to the client}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Techniques are provided for upstream video sources to be synchronized in vertical sync time and in frame rate, so that a downstream device can create a composite image with low latency. At a video compositor device, a plurality of video streams are received that include at least first and second video streams. First and second vertical synchronization points associated with the first and second video streams points are determined. A difference in time between the first and second vertical synchronization points is determined. At least one control signal or message is generated that is configured to change a video capture frame rate associated with one or both of the first and second video streams to reduce the difference in time and the control message is sent to video capture devices for one or both of the first and second video streams. Techniques are also provided for upstream video sources, e.g., cameras, to receive the control message and respond accordingly.

## Claims

### Claim 1

A method comprising:
receiving at a video compositor device a plurality of video streams comprising at least first and second video streams;
determining first and second vertical synchronization points associated with the first and second video streams, respectively;
determining a difference in time between the first and second vertical synchronization points;
generating at least one control message configured to change a video capture frame rate of an image sensor used for generating one of the first and second video streams to reduce the difference in time; and
sending the control message to a video capture device comprising the image sensor used for generating one of the first and second video streams, wherein the control message is configured to control the image sensor of the video capture device.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating comprises generating the at least one control message configured to adjust the video capture frame rate for one or both of the first and second video streams based on the difference in time between the first and second vertical synchronization points.

### Claim 3 (depends on 1)

The method of claim 1, wherein generating comprises generating the at least one control message configured to adjust the video capture frame rate for one or both of the first and second video streams based on a rate of convergence between the first and second vertical synchronization points.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating comprises generating video capture frame rate control messages configured to change the video capture frame rate for one or both of the first and second video streams using one of a percentage basis, video capture frequency basis, or on an incremental time basis.

### Claim 5 (depends on 1)

The method of claim 1, further comprising generating a vertical synchronization reference, and wherein generating comprises generating control messages configured to cause the first and second vertical synchronization points to converge to the vertical synchronization reference.

### Claim 6 (depends on 5)

The method of claim 5, wherein generating comprises generating control messages configured to adjust a video capture frame rate for one or both of the first and second video streams based on the difference in time between the first vertical synchronization point and the vertical synchronization reference, and the difference in time between the second vertical synchronization point and the vertical synchronization reference.

### Claim 7 (depends on 5)

The method of claim 5, wherein generating comprises generating control messages configured to adjust the video capture frame rate for one or both of the first and second video streams based on a rate of convergence between the first and second vertical synchronization points and the vertical synchronization reference.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving the control message at the video capture device; and
adjusting the video capture frame rate in response to the control message to advance or retard a vertical synchronization point associated with the video stream produced by the video capture device.

### Claim 9

A method comprising:
receiving at a video capture device a control signal configured to indicate an adjustment to a video capture frame rate of an image sensor during capture of a video stream; and
adjusting the video capture frame rate in response to the control signal to advance or retard a first vertical synchronization point associated with a first video stream by controlling the image sensor of the video capture device,
wherein the control signal provides control information based in part on a difference in time between the first synchronization point and a second vertical synchronization point associated with a second video stream.

### Claim 10

An apparatus comprising:
a network interface unit configured to receive a plurality of video streams comprising at least first and second video streams;
a processor configured to be coupled to the network interface unit and configured to:
determine first and second vertical synchronization points associated with the first and second video streams, respectively;
compute a difference in time between the first and second vertical synchronization points;
generate at least one control signal configured to change a video capture frame rate of an image sensor used to generate one of the first and second video streams to reduce the difference in time; and
send the control signal via the network interface unit to a video capture device comprising the image sensor used to generate one of the first and second video streams, wherein the control message is configured to control the image sensor of the video capture device.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the processor is configured to generate the at least one control signal to adjust the video capture frame rate for one or both of the first and second video streams based on the difference in time between the first and second vertical synchronization points.

### Claim 12 (depends on 10)

The apparatus of claim 10, wherein the processor is configured to generate the at least one control signal configured to adjust the video capture frame rate for one or both of the first and second video streams based on a rate of convergence between the first and second vertical synchronization points.

### Claim 13 (depends on 10)

The apparatus of claim 10, wherein the processor is further configured to generate a vertical synchronization reference, and wherein the processor is configured generate control signals configured to cause the first and second vertical synchronization points to converge to the synchronization reference.

### Claim 14 (depends on 10)

A system comprising the apparatus of claim 10, further comprising a video capture device configured to:
receive the control signal; and
adjust the video capture frame rate in response to the control signal to advance, retard, or maintain a vertical synchronization point.

### Claim 15

A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to:
receive a plurality of video streams comprising at least first and second video streams;
determine first and second vertical synchronization points associated with the first and second video streams, respectively;
compute a difference in time between the first and second vertical synchronization points;
generate least one control signal configured to change a video capture frame rate of an image sensor used to generate one of the first and second video streams to reduce the difference in time; and
send the control signal to a video capture device comprising the image sensor used to generate one of the first and second video streams, wherein the control message is configured to control the image sensor of the video capture device.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the instructions that generate comprise instructions that cause the processor to generate the at least one control signal configured to adjust the video capture frame rate for one or both of the first and second video streams based on the difference in time between the first and second vertical synchronization points.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the instructions that generate comprise instructions that cause the processor to generate the at least one control signal configured to adjust the video capture frame rate for one or both of the first and second video streams based on a rate of convergence between the first and second vertical synchronization points.

### Claim 18 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions that, when executed by a processor, cause the processor to generate a vertical synchronization reference, and wherein the instructions that generate comprise instructions that cause the processor to generate control signals configured to cause the first and second vertical synchronization points to converge to the synchronization reference.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the instructions that generate comprise instructions that cause the processor to generate control signals configured to adjust a video capture frame rate for one or both of the first and second video streams based on the difference in time between the first vertical synchronization point and the vertical synchronization reference, and the difference in time between the second vertical synchronization point and the vertical synchronization reference.

### Claim 20 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the instructions that generate comprise instructions that cause the processor to generate control signals configured to adjust the video capture frame rate for one or both of the first and second video streams based on a rate of convergence between the first and second vertical synchronization points and the vertical synchronization reference.
