INTERNATIONAL ORGANISATION FOR STANDARDISATION
ORGANISATION INTERNATIONALE DE NORMALISATION
ISO/IEC JTC1/SC29/WG11
CODING OF MOVING PICTURES AND AUDIO

ISO/IEC JTC1/SC29/WG11 N10999

MPEG2009/

October 2009, Xi’an, China

Source:       Systems Subgroup
Status:        Approved
Title:          Overview of SVC File Format Extensions (in ISO/IEC 14496-15)
Author:      Karsten Grüneberg and Thomas Schierl (Fraunhofer HHI)

SVC Extension of the AVC File Format

The AVC File Format specified in MPEG-4 Part 15 also includes a number of file format extensions for Scalable Video Coding (SVC) bitstreams. These extensions are backward compatible with a legacy (AVC) file reader. SVC Toolsets are specified which can be included or excluded by derived file format specifications: SVC Tiers, SVC Extractor, SVC Aggregator, and SVC Timed Meta Data, as detailed below.

Tiers

The SVC file format provides compact data structures representing the scalable structure of a stored SVC bitstream. The whole SVC bitstream is regarded as a set of tiers (aka layers) that can be combined to different sub-bitstreams which are characterized by frame rate, spatial resolution and fidelity level. SVC specific sample group entries support the access to NAL units from a particular tier: The properties of each tier are listed in Scalable Group Entries, and each sample is associated with a Scalable NAL Unit Map Entry which describes the sequence of tiers inside the sample.

The very flexible design of the SVC file format allows for storing the whole SVC bitstream either in a single media track or splitting it into multiple tracks, each including the NAL units of one or more tiers. Multiple track storage can simplify the access to relevant NAL units for file readers.

Extractors

SVC storage over multiple tracks still results in compact files because duplication of data is avoided by referencing data across media tracks using small data units called Extractors which are embedded as a NAL unit in the media data.

Aggregators

A sequence of SVC NAL units which belong to the same tier can be virtually concatenated using so-called Aggregators. Aggregators can contain SVC NAL units, aggregate them by reference or use a combination of both mechanisms. An SVC file reader will handle both included NAL units and NAL units aggregated by reference as one entity which reduces the size of SVC sample group entries. Legacy AVC file readers will not recognise the Aggregator and skip included NAL units.

Timed Metadata

The detailed properties of each NAL unit in an SVC track can be stored in timed metadata track using SVC specific statements and side information.

Signalling backward compatibility for legacy AVC readers

There are three Visual Sample Entries for SVC bitstreams which signal the toolset needed to access an SVC track. "avc1" tracks can be accessed by a legacy file reader. Support for SVC features such as Extractors or Aggregators is not required, i.e., an AVC reader finds the base layer NAL units and ignores SVC NAL units, if any included. "avc2" tracks contain an AVC base layer, but a reader needs to support Aggregators and Extractors. "svc1" tracks do not contain an AVC base layer and readers need to support Aggregators and Extractors.

SVC files can use Movie Fragments

Movie fragments are advantageous in the context of media download as the reader can start accessing the file as soon as the first portion has been received. The SVC file format supports the movie fragments.

SVC tiers can be stored in external files

The file format standard allows storing portions of the media data in different files, keeping all metadata in one file. If different tiers are stored individually in external files, this may allow for interesting use cases such as storage erosion without the need of rewriting the whole file.

References

ISO/IEC 14496-15, Advanced Video Coding (AVC) file format

ISO/IEC 14496-10, Advanced Video Coding, Annex G: Scalable Video Coding