# US 11,115,669 B2 · End of sequence and end of bitstream NAL units in separate file tracks

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

- Number: US 11,115,669 B2
- Document ID: US11115669B2
- Status: Granted
- Kind: B2
- Application number: 16/746,113
- Filed: 2020-01-17
- Published: 2020-05-14
- Granted: 2021-09-07
- Earliest claimed: 2016-05-23
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Ye-Kui Wang
- Web page: https://patentgrep.com/patent/US11115669B2

## CPC

- H04N 19/188: {the unit being a video data packet, e.g. a network abstraction layer [NAL] unit}
- 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/30: using hierarchical techniques, e.g. scalability (H04N19/63 takes precedence)
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 21/85406: {involving a specific file format, e.g. MP4 format}
- H04N 19/172: the region being a picture, frame or field
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A device includes, in a first track of the file, a first end of sequence (EOS) network abstraction layer (NAL) unit for a coded video sequence of a bitstream. The first EOS NAL unit is in a first access unit of the coded video sequence. The device also includes, in a second track of the file, a second EOS NAL unit for the coded video sequence. The second EOS NAL unit is in a second access unit of the coded video sequence, the second EOS NAL unit being different from the first EOS NAL unit. The device may perform similar actions for end of bitstream (EOB) NAL units.

## Claims

### Claim 1

A system for processing a file for storage of data, the system comprising:
a memory configured to store the file for storage of data; and
a processor configured to:
receive a file comprising a first track and a second track, the first track including a first set of access units of a coded video sequence (CVS) of a bitstream, the second track including a second set of access units of the same CVS, the first set of access units including a first access unit that includes a first end of sequence (EOS) network abstraction layer (NAL) unit, the second set of access units including a second access unit that includes a second EOS NAL unit, the second EOS NAL unit is different from the first EOS NAL unit, the first access unit belonging to a first temporal sub-layer, and the second access unit belonging to a second temporal sub-layer different from the first temporal sub-layer; and
output, based on a comparison of a time associated with the first access unit and a time associated with the second access unit, the first EOS NAL unit and discarding the second EOS NAL unit.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first access unit is a last access unit of the CVS in a reconstructed bitstream.

### Claim 3 (depends on 1)

The system of claim 1, where the comparison comprises a comparison of a decoding time associated with the first access unit and the second access unit.

### Claim 4 (depends on 1)

The system of claim 1, wherein the processor is further configured to output the first EOS NAL unit based on the first access unit being associated with a greater decoding time than the second access unit.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first EOS NAL unit is the only EOS NAL unit output for a plurality of tracks, comprising the first track and the second track, of the CVS and all other EOS NAL units of the plurality of tracks are discarded.

### Claim 6 (depends on 1)

The system of claim 1, wherein the bitstream is a high efficiency video coding (HEVC) bitstream or a layered-HEVC bitstream.

### Claim 7 (depends on 1)

The system of claim 1, wherein the processor is further configured to:
output NAL units of the coded video sequence in the first track to a video decoder; and
output NAL units of the coded video sequence in the second track to the video decoder.

### Claim 8

A method of processing a file for storage of data, the method comprising:
receiving a file comprising a first track and a second track, the first track including a first set of access units of a coded video sequence (CVS) of a bitstream, the second track including a second set of access units of the same CVS, the first set of access units including a first access unit that includes a first end of sequence (EOS) network abstraction layer (NAL) unit, the second set of access units including a second access unit that includes a second EOS NAL unit, the second EOS NAL unit is different from the first EOS NAL unit, the first access unit belonging to a first temporal sub-layer, and the second access unit belonging to a second temporal sub-layer different from the first temporal sub-layer; and
outputting, based on a comparison of a time associated with the first access unit and a time associated with the second access unit, the first EOS NAL unit and discarding the second EOS NAL unit.

### Claim 9 (depends on 8)

The method of claim 8, wherein the first access unit is a last access unit of the CVS in a reconstructed bitstream.

### Claim 10 (depends on 8)

The method of claim 8, where the comparison comprises a comparison of a decoding time associated with the first access unit and the second access unit.

### Claim 11 (depends on 8)

The method of claim 8, wherein the outputting further comprises outputting the first EOS NAL unit based on the first access unit being associated with a greater decoding time than the second access unit.

### Claim 12 (depends on 8)

The method of claim 8, wherein the first EOS NAL unit is the only EOS NAL unit output for a plurality of tracks, comprising the first track and the second track, of the CVS and all other EOS NAL units of the plurality of tracks are discarded.

### Claim 13 (depends on 8)

The method of claim 8, wherein the bitstream is a high efficiency video coding (HEVC) bitstream or a layered-HEVC bitstream.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
outputting NAL units of the coded video sequence in the first track to a video decoder; and
outputting NAL units of the coded video sequence in the second track to the video decoder.

### Claim 15

A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause a computing device for processing a file for storage of data to:
receive a file comprising a first track and a second track, the first track including a first set of access units of a coded video sequence (CVS) of a bitstream, the second track including a second set of access units of the same CVS, the first set of access units including a first access unit that includes a first end of sequence (EOS) network abstraction layer (NAL) unit, the second set of access units including a second access unit that includes a second EOS NAL unit, the second EOS NAL unit is different from the first EOS NAL unit, the first access unit belonging to a first temporal sub-layer, and the second access unit belonging to a second temporal sub-layer different from the first temporal sub-layer; and
output, based on a comparison of a time associated with the first access unit and a time associated with the second access unit, the first EOS NAL unit and discarding the second EOS NAL unit.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the first access unit is a last access unit of the CVS in a reconstructed bitstream.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, where the comparison comprises a comparison of a decoding time associated with the first access unit and the second access unit.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the instructions to output further comprise instructions to output the first EOS NAL unit based on the first access unit being associated with a greater decoding time than the second access unit.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the first EOS NAL unit is the only EOS NAL unit output for a plurality of tracks, comprising the first track and the second track, of the CVS and all other EOS NAL units of the plurality of tracks are discarded.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the bitstream is a high efficiency video coding (HEVC) bitstream or a layered-HEVC bitstream.

### Claim 21 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the instructions further cause the computing device to:
output NAL units of the coded video sequence in the first track to a video decoder; and
output NAL units of the coded video sequence in the second track to the video decoder.
