IP Library Granted Patent US 10,154,320
Granted Patent B2
US 10,154,320 · App. 14/665,412 · Granted Dec 11, 2018

Dynamic time synchronization

Inventors: Scott C. Labrozzi (Cary, NC); Mark D. McBride (Cary, NC); Kevin Scott Kirkup (Raleigh, NC)
Assignee: Cisco Technology, Inc.
H04N21/8547H04N19/177H04N21/23439H04N21/234354H04N21/242H04N21/8456
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 10,154,320
App. No.
14/665,412
Granted
Dec 11, 2018
Kind
B2
Abstract

A method is provided in certain example embodiments and may include evaluating a first video stream being encoded by a first encoding element, where the first video stream is provided at a first bit rate. The method may also include evaluating a second video stream being encoded by a second encoding element, where the second video stream is provided at a second bit rate. The method may further include providing an output that is reflective of a time synchronization and a frame alignment for a plurality of frames within the first video stream and the second video stream.

Claims (44)

1. A method, comprising:

receiving a source video stream, the source video stream comprising frames at a specified frame timestamp;

processing the received source video stream to provide a first video stream of a first bit rate, wherein processing the source video stream comprises:

computing a frame count of an instant frame of the source video stream, based on a time code of the instant frame and a base time of the source video stream, and

beginning an encoding of the instant frame, upon a determination that a mod n is zero, where a is the frame count of the instant frame, and n is a size of a Group of Pictures of the source video stream; and

providing, based on the encoding of the first source video stream on the instant frame, an output that is reflective of a time synchronization and a frame alignment for a plurality of frames within the first video stream and a second video stream, wherein the second video stream comprises the source video stream encoded at a second bit rate, and wherein the second bit rate is different from the first bit rate.

2. The method of claim 1 , further comprising:

calculating a frame count for a next captured frame, if a mod n is not zero;

determining a base timestamp, based on the frame count for the next captured frame; and

determining an encode frame timestamp, based on the base timestamp.

3. The method of claim 1 , wherein the frame count of the instant frame is based on a capture time of the source video stream, the capture time associated with an initiation time of an encoding element.

4. The method of claim 1 , further comprising:

applying an adaptive bit rate protocol that synchronizes timestamps associated with the first video stream to the second video stream.

5. The method of claim 1 , wherein the time code is inclusive of a date and a time of day associated with the instant frame.

6. The method of claim 1 , further comprising:

modifying the frame count of the instant frame, if the time code is a drop frame time code.

7. A non-transitory computer readable media that stores a set of instructions which when executed perform a method comprising:

receiving a source video stream, the source video stream comprising frames at a specified frame timestamp;

processing the received source video stream to provide a first video stream of a first bit rate, wherein processing the source video stream comprises:

computing a frame count of an instant frame of the source video stream, based on a time code of the instant frame and a base time of the source video stream, and

beginning an encoding of the instant frame, upon a determination that a mod n is zero, where a is the frame count of the instant frame, and n is a size of a Group of Pictures of the source video stream; and

providing, based on the encoding of the source video stream on the instant frame, an output that is reflective of a time synchronization and a frame alignment for a plurality of frames within the first video stream and a second video stream, wherein the second video stream comprises the source video stream encoded at a second bit rate, and wherein the second bit rate is different from the first bit rate.

8. The non-transitory computer readable media of claim 7 , wherein the instructions further comprising:

calculating a frame count for a next captured frame, if a mod n is not zero;

determining a base timestamp, based on the frame count for the next captured frame; and

determining an encode frame timestamp, based on the base timestamp.

9. The non-transitory computer readable media of claim 7 , wherein the frame count of the instant frame is based on a capture time of the source video stream, the capture time associated with an initiation time of an encoding element.

10. The non-transitory computer readable media of claim 7 , wherein the instructions further comprising:

applying an adaptive bit rate protocol that synchronizes timestamps associated with the first video stream to the second video stream.

11. The non-transitory computer readable media of claim 7 , wherein the time code is inclusive of a date and a time of day associated with the instant frame.

12. The non-transitory computer readable media of claim 7 , wherein the instructions further comprising:

modifying the frame count of the instant frame, if the time code is a drop frame time code.

13. An apparatus, comprising:

a memory; and

a processor coupled to the memory, wherein the processor is operative to:

receive a source video stream, the source video stream comprising frames at a specified frame timestamp;

process the received source video stream to provide a first video stream of a first bit rate, wherein the processor operative to process the source video stream comprises the processor operative to:

compute a frame count of an instant frame of the source video stream, based on a time code of the instant frame and a base time of the source video stream, and

begin an encoding of the instant frame, upon a determination that a mod n is zero, where a is the frame count of the instant frame, and n is a size of a Group of Pictures of the source video stream; and

provide, based on the encoding of the source video stream on the instant frame, an output that is reflective of a time synchronization and a frame alignment for a plurality of frames within the first video stream and a second video stream, wherein the second video stream comprises the source video stream encoded at a second bit rate, and wherein the second bit rate is different from the first bit rate.

14. The apparatus of claim 13 , wherein the processor is further operative to calculate a frame count for a next captured frame, if a mod n is not zero, to determine a base timestamp, based on the frame count for the next captured frame, and to determine an encode frame timestamp, based on the base timestamp.

15. The apparatus of claim 13 , wherein the frame count of the instant frame is based on a capture time of the source video stream, the capture time associated with an initiation time of an encoding element.

16. The apparatus of claim 13 , wherein the processor is operative to apply an adaptive bit rate protocol that synchronizes timestamps associated with the first video stream to the second video stream.

17. The apparatus of claim 13 , wherein the time code is inclusive of a date and a time of day associated with the instant frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2018
From: LABROZZI, SCOTT C.; MCBRIDE, MARK D.; KIRKUP, KEVIN SCOTT
To: CISCO TECHNOLOGY, INC.
Reel/Frame 047315/0335 →
Continuity (3)
Continuation 13301348 · Nov 21, 2011
Provisional Application 61415961 · Nov 22, 2010
Related Publication 20150201254A1 · Jul 16, 2015