# US 12,114,017 B2 · Media bitstream having backwards compatibility

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

- Number: US 12,114,017 B2
- Document ID: US12114017B2
- Status: Granted
- Kind: B2
- Application number: 18/113,147
- Filed: 2023-02-23
- Published: 2023-06-22
- Granted: 2024-10-08
- Earliest claimed: 2018-09-25
- Assignees: Telefonaktiebolaget LM Ericsson (publ)
- Applicants: Telefonaktiebolaget LM Ericsson (publ)
- Inventors: Martin Pettersson; Rickard Sjöberg; Mitra Damghanian
- Web page: https://patentgrep.com/patent/US12114017B2

## CPC

- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/463: by compressing encoding parameters before transmission
- H04N 19/597: specially adapted for multi-view video sequence encoding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Providing backward compatibility in terms of a media bitstream and a media player conforming to different versions of a media bitstream syntax specification. In one embodiment, a bitstream is made backward compatible by including in the bitstream a first entry for a feature available in the media bitstream and second entry for an updated feature available in the media bitstream, where the first entry is understood both by a media player supporting a first version of a syntax specification and a media player supporting an updated version of the syntax specification, and the second entry is understood by the media player supporting the updated version of the syntax specification, but is not understood by the media player supporting the first version of the syntax specification.

## Claims

### Claim 1

A method of generating a backwards compatible bitstream, the method comprising:
including in a container, E, of the bitstream a first box, A, having a first version of a feature defined by a first version of a media bitstream syntax specification; and
including in the container, E, of the bitstream a second box, B, having a second version of the feature defined by an updated version of the media bitstream syntax specification, wherein
the media bitstream syntax specification is a first version of ISO/IEC 14496-12,
the updated media bitstream syntax specification is an updated version of ISO/IEC 14496-12, and
the container, E, contains information indicating that i) the second version of the feature is an update to the first version of the feature or ii) the second version of the feature is an extension of the first version of the feature.

### Claim 2 (depends on 1)

The method of claim 1, wherein the container, E, is a pointer to, a position of, a struct with, or a container with a set of one or more syntax elements in the bitstream.

### Claim 3 (depends on 1)

The method of claim 1, further comprising including in the container, E, information indicating that the second version of the feature is an extension of the first version of the feature.

### Claim 4

A method for parsing and processing a media bitstream, the method comprising:
receiving a container, E, contained in the media bitstream;
parsing the container E;
determining that the container, E, contains both i) a first box, A, containing a first version of a feature conforming to a first version of a media bitstream syntax specification and ii) a second box, B, containing a second version of the feature conforming to an updated version of the media bitstream syntax specification, wherein the container, E, contains information indicating that the second version of the feature is an extension of the first version of the feature;
determining, based on the information contained in the container, E, that the second version of the feature is an extension of the first version of the feature;
parsing the second box, B; and
responsive to determining that the second version of the feature is an extension of the first version of the feature, combining the first version of the feature from the first box, A, and the second version of the feature from the second box, B, wherein
the media bitstream syntax specification is a first version of ISO/IEC 14496-12, and
the updated media bitstream syntax specification is an updated version of ISO/IEC 14496-12.

### Claim 5 (depends on 4)

The method of claim 4, further comprising parsing the first box, A, before combining the first version of the feature from the first box, A, and the second version of the feature from the second box, B.

### Claim 6 (depends on 4)

The method of claim 4, wherein the container, E, is a pointer to, position of, struct with or container with a set of one or more syntax elements in the bitstream.

### Claim 7 (depends on 4)

The method of claim 4, wherein the media bitstream is an audio and/or video bitstream.

### Claim 8 (depends on 4)

The method of claim 4, further comprising decoding the first version and the second version of the feature and/or using the first version and the second version of the feature to decode and/or render the media bitstream.

### Claim 9 (depends on 4)

The method of claim 4, wherein the method is performed in a media player.

### Claim 10

A bitstream generator, the bitstream generator being configured to:
include in a container, E, of the bitstream a first box, A, having a first version of a feature defined by a first version of a media bitstream syntax specification; and
include in the container, E, of the bitstream a second box, B, having a second version of the feature defined by an updated version of the media bitstream syntax specification, wherein
the media bitstream syntax specification is a first version of ISO/IEC 14496-12,
the updated media bitstream syntax specification is an updated version of ISO/IEC 14496-12, and
the container, E, contains information indicating that i) the second version of the feature is an update to the first version of the feature or ii) the second version of the feature is an extension of the first version of the feature.

### Claim 11 (depends on 10)

The bitstream generator of claim 10, wherein the container, E, is a pointer to, position of, struct with or container with a set of one or more syntax elements in the bitstream.

### Claim 12 (depends on 10)

The bitstream generator of claim 10, wherein the bitstream generator is further configured:
to include in the container, E, information indicating that the second version of the feature is an extension of the first version of the feature.

### Claim 13

A device, the device being configured to:
use a receiver to receive a media bitstream containing a container, E;
parse the container E, wherein the container, E, contains both i) a first box, A, containing a first version of a feature conforming to a first version of a media bitstream syntax specification and ii) a second box, B, containing a second version of the feature conforming to an updated version of the media bitstream syntax specification;
determine, based on information contained in the container, E, that the second version of the feature is an extension of the first version of the feature;
parse the second box, B; and
responsive to determining that the second version of the feature is an extension of the first version of the feature, combine the first version of the feature from the first box, A, and the second version of the feature from the second box, B, wherein
the media bitstream syntax specification is a first version of ISO/IEC 14496-12, and
the updated media bitstream syntax specification is an updated version of ISO/IEC 14496-12.

### Claim 14 (depends on 13)

The device of claim 13, wherein the container, E, is a pointer to, position of, struct with or container with a set of one or more syntax elements in the bitstream.

### Claim 15 (depends on 13)

The device of claim 13, wherein the media bitstream is an audio and/or video bitstream.

### Claim 16 (depends on 13)

The device of claim 13, being further configured:
to decode the first version and the second version of the feature and/or
to use the first version and the second version of the feature to decode and/or render the media bitstream.

### Claim 17 (depends on 13)

The device of claim 13, being further configured to receive a backwards compatible bitstream.

### Claim 18 (depends on 13)

The device of claim 13, wherein the device is a media player.

### Claim 19 (depends on 1)

A computer program product comprising a non-transitory storage medium including program code, wherein execution of the program code by a processor of a device causes the device to perform the method of claim 1.

### Claim 20 (depends on 4)

A computer program product comprising a non-transitory storage medium including program code, whereby execution of the program code by a processor of a device causes the device to perform the method of claim 4.
