# US 10,873,775 B2 · Staggered key frame video encoding

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

- Number: US 10,873,775 B2
- Document ID: US10873775B2
- Status: Granted
- Kind: B2
- Application number: 15/620,673
- Filed: 2017-06-12
- Published: 2018-12-13
- Granted: 2020-12-22
- Earliest claimed: 2017-06-12
- Assignees: Netflix, Inc.
- Applicants: NETFLIX, Inc.
- Inventors: Aditya Mavlankar; Loannis Katsavounidis; Mark Watson
- Web page: https://patentgrep.com/patent/US10873775B2

## CPC

- H04N 21/2387: Stream processing in response to a playback request from an end-user, e.g. for trick-play
- H04N 19/114: Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames (H04N19/107 takes precedence)
- H04N 19/172: the region being a picture, frame or field
- H04N 21/233: Processing of audio elementary streams {(monitoring, identification or recognition of audio in broadcast systems H04H60/58)}
- H04N 21/234: Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N 21/23439: {for generating different versions}
- H04N 21/2365: Multiplexing of several video streams
- H04N 21/26275: {for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system}
- H04N 21/4383: {Accessing a communication channel}
- H04N 21/4384: {involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

One embodiment of the invention sets forth a mechanism for encoding video streams associated with the same digital content such that switch points staggered across two video streams occur at every offset temporal distance. The offset temporal distance is less than the distance between two consecutive key frames in a given video stream. This enables a content player to switch to a video stream having a playback quality up or down one level from a current video stream at the offset temporal distance from the most recently played key frame. In effect, the content player does not wait the entire key frame temporal distance before switching.

## Claims

### Claim 1

A method, comprising:
generating a first video stream for storing digital content encoded at a first playback quality, wherein the first video stream includes a first plurality of key frames, wherein each key frame in the plurality of key frames is associated with a different encoded sequence of the digital content, and wherein a first key frame in the plurality of key frames is located within the first video stream at a first temporal distance from a first immediately preceding key frame also included in the plurality of key frames;
generating a second video stream for storing the digital content encoded at a second playback quality that is higher than the first playback quality, wherein the second video stream includes a second plurality of key frames, wherein the second plurality of key frames includes a same number of key frames as the first plurality of key frames, wherein a second key frame in the second plurality of key frames is located within the second video stream at the first temporal distance from a second immediately preceding key frame also included in the second plurality of key frames and at an offset temporal distance from where the first key frame is located within the first video stream, wherein the offset temporal distance is less than a temporal distance between any two consecutive key frames in the first plurality of key frames included in the first video stream, and wherein the second key frame comprises a first switch point for switching download of the digital content from the first video stream to the second video stream or from the second video stream to the first video stream; and
generating a third video stream for storing the digital content encoded at a third playback quality that is higher than the second playback quality, wherein the third video stream includes a third plurality of key frames, wherein a third key frame in the third plurality of key frames is located within the third video stream at the first temporal distance from a third immediately preceding key frame also included in the third plurality of key frames, at the first temporal distance from where the first key frame is located within the first video stream, and at the offset temporal distance from where the second key frame is located within the second video stream, and wherein the third key frame comprises a second switch point for switching download of the digital content from the first video stream to the third video stream or from the third video stream to the first video stream.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first key frame is associated with first encoded sequence, and download of the digital content is switched from the first video stream to the second video stream after a segment of the first encoded sequence has been played, and wherein the offset distance comprises half of the first temporal distance, and a length of the segment is half of the first temporal distance.

### Claim 3 (depends on 1)

The method of claim 1, further comprising generating a fourth video stream for storing the digital content encoded at the second playback quality, wherein the fourth video stream includes a fourth plurality of key frames, wherein a fourth key frame in fourth plurality of key frames is located within the second video stream at the first temporal distance from an immediately preceding key frame also included in the fourth plurality of key frames at a multiplier first temporal distance from where the first key frame is located within the first video stream.

### Claim 4 (depends on 1)

The method of claim 1, further comprising, when switching from the first video stream to the second video stream, determining that a next segment of the first encoded sequence to be played directly following the segment is associated with the second key frame.

### Claim 5 (depends on 4)

The method of claim 4, further comprising causing the download of the digital content to switch from the first video stream to the second video stream only when the second key frame can be downloaded from the second video stream prior to downloading a second segment of encoded data associated with the second key frame and corresponding to the next segment.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first video stream includes a plurality of downloadable units that are each individually downloaded for playback, and wherein a first downloadable unit in the plurality of downloadable units includes the first key frame and a second downloadable unit in the plurality of downloadable units includes content frames associated with the first key frame.

### Claim 7

A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to:
generate a first video stream for storing digital content encoded at a first playback quality, wherein the first video stream includes a first plurality of key frames, wherein each key frame in the first plurality of key frames is associated with a different encoded sequence of the digital content, and wherein a first key frame in the plurality of key frames is located within the first video stream at a first temporal distance from a first immediately preceding key frame also included in the plurality of key frames;
generating a second video stream for storing the digital content encoded at a second playback quality that is higher than the first playback quality, wherein the second video stream includes a second plurality of key frames, wherein the second plurality of key frames includes a same number of key frames as the first plurality of key frames, wherein a second key frame in the second plurality of key frames is located within the second video stream at the first temporal distance from a second immediately preceding key frame also included in the second plurality of key frames and at an offset temporal distance from where the first key frame is located within the first video stream, wherein the offset temporal distance is less than a temporal distance between any two consecutive key frames in the first plurality of key frames included in the first video stream, and wherein the second key frame comprises a first switch point for switching download of the digital content from the first video stream to the second video stream or from the second video stream to the first video stream; and
generating a third video stream for storing the digital content encoded at a third playback quality that is higher than the second playback quality, wherein the third video stream includes a third plurality of key frames, wherein a third key frame in the third plurality of key frames is located within the third video stream at the first temporal distance from a third immediately preceding key frame also included in the third plurality of key frames, at the first temporal distance from where the first key frame is located within the first video stream, and at the offset temporal distance from where the second key frame is located within the second video stream, and wherein the third key frame comprises a second switch point for switching download of the digital content from the first video stream to the third video stream or from the third video stream to the first video stream.

### Claim 8 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the first key frame is associated with first encoded sequence, and download the digital content is switched from the first video stream to the second video stream after a segment of the first encoded sequence has been played, and wherein the offset distance comprises half of the first temporal distance, and a length of the segment is half of the first temporal distance.

### Claim 9 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the instructions further cause the processor to generate a fourth video stream for storing the digital content encoded at the second playback quality, wherein the fourth video stream includes a fourth plurality of key frames, wherein a fourth key frame in fourth plurality of key frames is located within the second video stream at the first temporal distance from an immediately preceding key frame also included in the fourth plurality of key frames at a multiplier first temporal distance from where the first key frame is located within the first video stream.

### Claim 10 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the third key frame comprises a second switch point for switching the download of the digital content from the first video stream to the third video stream at the third key frame after the first encoded sequence has been played.

### Claim 11 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the instructions further cause the processor to determine, when switching from the first video stream to the second video stream, that a next segment of the first encoded sequence to be played directly following the segment is associated with the second key frame.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the instructions further cause the processor to cause the download of the digital content to switch from the first video stream to the second video stream only when the second key frame can be downloaded from the second video stream prior to downloading a second segment of encoded data associated with the second key frame and corresponding to the next segment.

### Claim 13 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the first video stream includes a plurality of downloadable units that are each individually downloaded for playback, and wherein a first downloadable unit in the plurality of downloadable units includes the first key frame and a second downloadable unit in the plurality of downloadable units includes content frames associated with the first key frame.

### Claim 14

A computing environment, comprising:
an encoding server that processes digital content to:
generate a first video stream for storing digital content encoded at a first playback quality, wherein the first video stream includes a plurality of key frames, wherein each key frame in the plurality of key frames is associated with a different encoded sequence of the digital content, and a first key frame in the plurality of key frames is located within the first video stream at a first temporal distance from a first immediately preceding key frame also included in the plurality of key frames,
generate a second video stream for storing the digital content encoded at a second playback quality that is higher than the first playback quality, wherein the second video stream includes a second plurality of key frames, wherein the second plurality of key frames includes a same number of key frames as the first plurality of key frames, wherein a second key frame in the second plurality of key frames is located within the second video stream at the first temporal distance from a second immediately preceding key frame also included in the second plurality of key frames and at an offset temporal distance from where the first key frame is located within the first video stream, and wherein the offset temporal distance is less than a temporal distance between any two consecutive key frames in the first plurality of key frames included in the first video stream, and
generate a third video stream for storing the digital content encoded at a third playback quality that is higher than the second playback quality, wherein the third video stream includes a third plurality of key frames, wherein a third key frame in the third plurality of key frames is located within the third video stream at the first temporal distance from a third immediately preceding key frame also included in the third plurality of key frames, at the first temporal distance from where the first key frame is located within the first video stream, and at the offset temporal distance from where the second key frame is located within the second video stream, and wherein the third key frame comprises a second switch point for switching download of the digital content from the first video stream to the third video stream or from the third video stream to the first video stream, and
a content player that switches download of the digital content from the first video stream to the second video stream or from the second video stream to the first video stream at the second key frame.
