# US 12,225,204 B2 · Methods, systems, and apparatuses for enhanced adaptive bitrate segmentation

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

- Number: US 12,225,204 B2
- Document ID: US12225204B2
- Status: Granted
- Kind: B2
- Application number: 18/493,563
- Filed: 2023-10-24
- Published: 2024-02-29
- Granted: 2025-02-11
- Earliest claimed: 2019-09-20
- Assignees: Comcast Cable Communications, LLC
- Applicants: Comcast Cable Communications, LLC
- Inventors: Srinath V. Ramaswamy
- Web page: https://patentgrep.com/patent/US12225204B2

## CPC

- H04N 19/146: Data rate or code amount at the encoder output
- H04N 21/2358: {for generating different versions, e.g. for different recipient devices}
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 21/8455: {involving pointers to the content, e.g. pointers to the I-frames of the video stream}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems and methods are described herein for processing video. An encoder may generate, for a sequence of video frames, a plurality of first segments and a plurality of second segments. The plurality of first segments may comprise stream access points (SAPs) of a first type that do not reset a picture reference buffer. The plurality of second segments may comprise SAPs of a second type that do reset the picture reference buffer. The encoder may send segments of the plurality of first segments to a computing device streaming video when network conditions are steady. The encoder may send a segment of the plurality of second segments following a switch, by the computing device, to a different bitrate based on a change to the network conditions. Once the computing device has decoded the segment the plurality of second segments, the encoder may send subsequent first segments at the different bitrate.

## Claims

### Claim 1

An apparatus comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the device to:
receive, at a first bitrate, at least one segment of a first variant, wherein the at least one segment of the first variant comprises stream access points (SAPs) of a first type that do not reset a picture reference buffer;
send a request for segments encoded at a second bitrate; and
receive, at the second bitrate, a segment, of a second variant, that comprises a SAP of a second type that does reset the picture reference buffer, and a next segment of the second variant comprising a SAP of the first type.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the first type comprises an I-frame and the second type comprises an instantaneous decoder refresh (IDR) frame.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the request is based on at least one of: changing network bandwidth, a channel change by the computing device, or a time shifting command by the computing device.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein each segment, of the first variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type;
wherein each segment, of the second variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein each segment, comprising SAPs of the second type, comprises a subset of frames in a segment comprising SAPs of the first type.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein each segment, comprising SAPs of the first type, comprises an I-frame, one or more P-frames, and one or more B-frames.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein each segment, comprising SAPs of the second type, comprises a subset of the one or more P-frames and the one or more B-frames.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein each segment, comprising SAPs of the second type, comprises:
an instantaneous decoder refresh (IDR) frame that comprises first B-frame data associated with a first B-frame in a corresponding segment comprising SAPs of the first type,
a P-frame that comprises I-frame data associated with an I-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame for forward prediction, and
a B-frame that comprises second B-frame data associated with a second B-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame and the P-frame for bidirectional prediction.

### Claim 9

A non-transitory computer-readable medium storing instructions that, when executed, cause:
receiving, at a first bitrate, at least one segment of a first variant, wherein the at least one segment of the first variant comprises stream access points (SAPs) of a first type that do not reset a picture reference buffer;
sending a request for segments encoded at a second bitrate; and
receiving, at the second bitrate, a segment, of a second variant, that comprises a SAP of a second type that does reset the picture reference buffer, and a next segment of the second variant comprising a SAP of the first type.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein the first type comprises an I-frame and the second type comprises an instantaneous decoder refresh (IDR) frame.

### Claim 11 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein the request is based on at least one of: changing network bandwidth, a channel change by the computing device, or a time shifting command by the computing device.

### Claim 12 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein each segment, of the first variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type;
wherein each segment, of the second variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type.

### Claim 13 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein each segment, comprising SAPs of the second type, comprises a subset of frames in a segment comprising SAPs of the first type.

### Claim 14 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein each segment, comprising SAPs of the first type, comprises an I-frame, one or more P-frames, and one or more B-frames.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein each segment, comprising SAPs of the second type, comprises a subset of the one or more P-frames and the one or more B-frames.

### Claim 16 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein each segment, comprising SAPs of the second type, comprises:
an instantaneous decoder refresh (IDR) frame that comprises first B-frame data associated with a first B-frame in a corresponding segment comprising SAPs of the first type,
a P-frame that comprises I-frame data associated with an I-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame for forward prediction, and
a B-frame that comprises second B-frame data associated with a second B-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame and the P-frame for bidirectional prediction.

### Claim 17

A system comprising:
a first computing device configured to:
receive, at a first bitrate, at least one segment of a first variant, wherein the at least one segment of the first variant comprises stream access points (SAPs) of a first type that do not reset a picture reference buffer,
send a request for segments encoded at a second bitrate, and
receive, at the second bitrate, a segment, of a second variant, that comprises a SAP of a second type that does reset the picture reference buffer, and a next segment of the second variant comprising a SAP of the first type; and
a second computing device configured to:
send the at least one segment of a first variant, and
send the segment, of the second variant, that comprises the SAP of the second type and the next segment of the second variant.

### Claim 18 (depends on 17)

The system of claim 17, wherein the first type comprises an I-frame and the second type comprises an instantaneous decoder refresh (IDR) frame.

### Claim 19 (depends on 17)

The system of claim 17, wherein the request is based on at least one of: changing network bandwidth, a channel change by the computing device, or a time shifting command by the computing device.

### Claim 20 (depends on 17)

The system of claim 17, wherein each segment, of the first variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type;
wherein each segment, of the second variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type.

### Claim 21 (depends on 17)

The system of claim 17, wherein each segment, comprising SAPs of the second type, comprises a subset of frames in a segment comprising SAPs of the first type.

### Claim 22 (depends on 17)

The system of claim 17, wherein each segment, comprising SAPs of the first type, comprises an I-frame, one or more P-frames, and one or more B-frames.

### Claim 23 (depends on 22)

The system of claim 22, wherein each segment, comprising SAPs of the second type, comprises a subset of the one or more P-frames and the one or more B-frames.

### Claim 24 (depends on 17)

The system of claim 17, wherein each segment, comprising SAPs of the second type, comprises:
an instantaneous decoder refresh (IDR) frame that comprises first B-frame data associated with a first B-frame in a corresponding segment comprising SAPs of the first type,
a P-frame that comprises I-frame data associated with an I-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame for forward prediction, and
a B-frame that comprises second B-frame data associated with a second B-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame and the P-frame for bidirectional prediction.

### Claim 25

An apparatus comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the device to:
send, at a first bitrate, to a computing device, at least one segment of a first variant, wherein the at least one segment of the first variant comprises stream access points (SAPs) of a first type that do not reset a picture reference buffer;
receive, from the computing device, a request for segments encoded at a second bitrate; and
send, at the second bitrate, to the computing device, a segment of a second variant comprising a SAP of a second type that does reset the picture reference buffer and a next segment of the second variant comprising a SAP of the first type.

### Claim 26 (depends on 25)

The apparatus of claim 25, wherein the request is based on at least one of: changing network bandwidth, a channel change by the computing device, or a time shifting command by the computing device.

### Claim 27 (depends on 25)

The apparatus of claim 25, wherein each segment, of the first variant, comprises SAPs of the first type and comprises source frame data that matches source frame data in a segment comprising SAPs of the second type;
wherein each segment, of the second variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type.

### Claim 28 (depends on 25)

The apparatus of claim 25, wherein each segment, comprising SAPs of the second type, comprises:
an instantaneous decoder refresh (IDR) frame that comprises first B-frame data associated with a first B-frame in a corresponding segment comprising SAPs of the first type,
a P-frame that comprises I-frame data associated with an I-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame for forward prediction, and
a B-frame that comprises second B-frame data associated with a second B-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame and the P-frame for bidirectional prediction.

### Claim 29

A non-transitory computer-readable medium storing instructions that, when executed, cause:
sending, at a first bitrate, to a computing device, at least one segment of a first variant, wherein the at least one segment of the first variant comprises stream access points (SAPs) of a first type that do not reset a picture reference buffer;
receiving, from the computing device, a request for segments encoded at a second bitrate; and
sending, at the second bitrate, to the computing device, a segment of a second variant comprising a SAP of a second type that does reset the picture reference buffer and a next segment of the second variant comprising a SAP of the first type.

### Claim 30 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein the request is based on at least one of: changing network bandwidth, a channel change by the computing device, or a time shifting command by the computing device.

### Claim 31 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein each segment, of the first variant, comprises SAPs of the first type and comprises source frame data that matches source frame data in a segment comprising SAPs of the second type;
wherein each segment, of the second variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type.

### Claim 32 (depends on 29)

The non-transitory computer-readable medium of claim 29, wherein each segment, comprising SAPs of the second type, comprises:
an instantaneous decoder refresh (IDR) frame that comprises first B-frame data associated with a first B-frame in a corresponding segment comprising SAPs of the first type,
a P-frame that comprises I-frame data associated with an I-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame for forward prediction, and
a B-frame that comprises second B-frame data associated with a second B-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame and the P-frame for bidirectional prediction.

### Claim 33

A system comprising:
a first computing device configured to:
send, at a first bitrate, to a computing device, at least one segment of a first variant, wherein the at least one segment of the first variant comprises stream access points (SAPs) of a first type that do not reset a picture reference buffer,
receive a request for segments encoded at a second bitrate, and
send, at the second bitrate, to the computing device, a segment of a second variant comprising a SAP of a second type that does reset the picture reference buffer and a next segment of the second variant comprising a SAP of the first type; and
a second computing device configured to:
send the request for segments encoded at the second bitrate.

### Claim 34 (depends on 33)

The system of claim 33, wherein the request is based on at least one of: changing network bandwidth, a channel change by the computing device, or a time shifting command by the computing device.

### Claim 35 (depends on 33)

The system of claim 33, wherein each segment, of the first variant, comprises SAPs of the first type and comprises source frame data that matches source frame data in a segment comprising SAPs of the second type;
wherein each segment, of the second variant, comprising SAPs of the first type comprises source frame data that matches source frame data in a segment comprising SAPs of the second type.

### Claim 36 (depends on 33)

The system of claim 33, wherein each segment, comprising SAPs of the second type, comprises:
an instantaneous decoder refresh (IDR) frame that comprises first B-frame data associated with a first B-frame in a corresponding segment comprising SAPs of the first type,
a P-frame that comprises I-frame data associated with an I-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame for forward prediction, and
a B-frame that comprises second B-frame data associated with a second B-frame in the corresponding segment comprising SAPs of the first type and that references the IDR frame and the P-frame for bidirectional prediction.
