IP Library Granted Patent US 10,375,430
Granted Patent B2
US 10,375,430 · App. 15/685,110 · Granted Aug 6, 2019

Method for synchronizing GOPs and IDR-frames on multiple encoders without communication

Inventors: Mark Sauer (Bragg Creek, CA); Robert Saunders (Alpharetta, GA)
Assignee: Skitter, Inc.
H04N21/242H04L65/607H04L65/608H04N21/2343H04N21/23439H04N21/23608H04N21/4305H04N21/4402H04N21/6437H04N21/854
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,375,430
App. No.
15/685,110
Granted
Aug 6, 2019
Kind
B2
Abstract

A video distribution system synchronizes video output streams on multiple encoders without communication therebetween. Each of the encoders is configured to decode a source video content stream into a sequence of uncompressed frames, where each frame in the sequence is marked with an associated presentation time stamp (PTS) clock value. The encoders calculate a number of clock cycles between instantaneous decoder refresh (IDR)-frames. For each frame in the sequence, the encoders calculate a remainder after a division of an associated PTS clock value of a given frame by the number of clock cycles between IDR-frames. The encoders mark each frame in the sequence as an IDR-frame where the corresponding remainder is strictly less than the number of PTS clock cycles per frame and mark a remainder of the frames in the sequence as an internal frame within a group of pictures (GOP) to produce a marked set of video frames. The encoders pass the marked set video frames through a video codec to produce the synchronized video output streams.

Claims (43)

1. A content distribution system, comprising:

an encoder at a headend comprising a processor and computer instructions stored in a non-transitory computer readable storage medium, wherein the processor is configured to execute the instructions to cause the encoder to:

decode a source video content stream into a sequence of uncompressed frames, where each frame in the sequence is marked with an associated presentation time stamp (PTS) clock value;

calculate a number of clock cycles between instantaneous decoder refresh (IDR)-frames;

for each frame in the sequence, calculate a remainder after a division of an associated PTS clock value of a given frame by the number of clock cycles between IDR-frames;

mark each frame in the sequence as an IDR-frame where the corresponding remainder is strictly less than a number of PTS clock cycles per frame and mark a remainder of the frames in the sequence as an internal frame within a group of pictures (GOP) to produce a marked set of video frames;

discard frames in the sequence prior to a first IDR-frame in the marked set of video frames; and

pass the marked set video frames through a video codec to output an output video content stream, wherein the output video content stream has IDR-frames at the same locations as a second output video content stream of a second encoder.

2. The content distribution system of claim 1 , further comprising:

the second encoder comprising a second processor and second computer instructions stored in a non-transitory computer readable storage medium, wherein the second processor is configured to execute the second instructions to cause the second encoder to:

decode the source video content stream into a second sequence of uncompressed frames, where each frame in the second sequence is marked with an associated PTS clock value;

calculate the number of clock cycles between IDR-frames;

for each frame in the second sequence, calculate a remainder after a division of an associated PTS clock value of a given frame by the number of clock cycles between IDR-frames;

mark each frame in the second sequence as an IDR-frame where the corresponding remainder is strictly less than the number of PTS clock cycles per frame and mark a remainder of the frames in the second sequence as an internal frame within a GOP to produce a second marked set of video frames; and

pass the second marked set video frames through a second video codec to output the second output video content stream.

3. The content distribution system of claim 2 , wherein the second output video content stream is identical to the output video content stream.

4. The content distribution system of claim 3 , wherein the encoder and the second encoder are not in communication with one another.

5. The content distribution system of claim 3 , wherein the second encoder is at the headend.

6. The content distribution system of claim 3 , wherein the second encoder is at a location remote from the headend.

7. The content distribution system of claim 1 , further comprising:

a segmentation server configured to receive the output video content streams and generate segments and a playlist for the output video content stream.

8. The content distribution system of claim 1 , further comprising:

a video distribution network between the headend and one or more customer premise equipment, the video distribution network configured to receive the output video content stream and provide the output video content stream to the customer premise equipment.

9. The content distribution system of claim 1 , further comprising:

a receiver at the headend configured to receive the source video content stream.

10. The content distribution system of claim 1 , wherein the source video content stream is an MPEG-2 transport stream, a real time streaming protocol (RTSP) stream, a real time messaging protocol (RTMP) stream, an HTTP Live Streaming (HLS) stream, or a moving picture experts group—dynamic adaptive streaming over HTTP (MPEG-DASH) stream.

11. A method of synchronizing video output streams on multiple encoders without communication therebetween, the method comprising:

decoding, at each of the encoders, a source video content stream into a sequence of uncompressed frames, where each frame in the sequence is marked with an associated presentation time stamp (PTS) clock value;

calculating, at each of the encoders, a number of clock cycles between instantaneous decoder refresh (IDR)-frames;

for each frame in the sequence, calculating, at each of the encoders, a remainder after a division of an associated PTS clock value of a given frame by the number of clock cycles between IDR-frames;

marking, at each of the encoders, each frame in the sequence as an IDR-frame where the corresponding remainder is strictly less than the number of PTS clock cycles per frame and marking a remainder of the frames in the sequence as an internal frame within a group of pictures (GOP) to produce a marked set of video frames;

discarding, by each of the encoders, frames in the sequence prior to a first IDR-frame in the marked set of video frames; and

passing the marked set video frames through a video codec to produce the synchronized video output streams.

12. The method of claim 11 , wherein the synchronized video output streams from each of the encoders is identical.

13. The method of claim 11 , wherein the encoders are located at the same headend.

14. The method of claim 11 , wherein the encoders are located at different headends.

15. The method of claim 11 , further comprising:

generating, by a segmentation server in communication with one of the encoders, segments and a playlist for the video output stream by the one of the encoders.

16. The method of claim 11 , further comprising:

distributing, via a video distribution network between the encoders and a plurality of customer premise equipment, the synchronized video output streams from the encoders to the plurality of customer premise equipment.

17. The method of claim 11 , further comprising:

receiving, by receivers in communication with the encoders, the source video content stream.

18. The method of claim 11 , wherein the source video content stream is an MPEG-2 transport stream, a real time streaming protocol (RTSP) stream, a real time messaging protocol (RTMP) stream, an HTTP Live Streaming (HLS) stream, or a moving picture experts group—dynamic adaptive streaming over HTTP (MPEG-DASH) stream.

Assignments (3)
SECURITY INTEREST Recorded Jan 3, 2020
From: SKITTER, INC.
To: BOARMAN, JAMES
Reel/Frame 052892/0872 →
SECURITY INTEREST Recorded Jan 3, 2020
From: SKITTER, INC.
To: ALHAMBRA-GRANTFORK COMMUNICATIONS, INC.
Reel/Frame 052893/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: SAUER, MARK; SAUNDERS, ROBERT
To: SKITTER, INC.
Reel/Frame 043987/0347 →
Continuity (1)
Related Publication 20190069008A1 · Feb 28, 2019