The Moving Picture Experts Group

Fragment Identification

Part number: 
Activity status: 

MPEG-21 Fragment Identification


MPEG doc#: N7221
Date: April 2005


Part 17 of ISO/IEC 21000 is entitled Fragment Identification for MPEG Resources and specifies a normative syntax for URI Fragment Identifiers to be used for addressing parts of any Resource whose Internet Media Type is one of:

  • audio/mpeg
  • video/mpeg
  • video/mp4
  • audio/mp4
  • application/mp4
  • video/MPEG4-visual
  • application/mp21

The tools specified in this part of ISO/IEC 21000 allow identification of a part of a Resource by providing a format for the reference to the part using a Fragment Identifier. The Fragment Identifiers defined in this specification are distinct from the Digital Item Identifiers specified in ISO/IEC 21000-3 for identifying the “fundamental units of trade” (i.e. Digital Items) within the MPEG-21 Multimedia Framework.

MPEG URI Fragment Identifier schemes offer comprehensive and flexible mechanisms for addressing fragments of audiovisual content. Therefore, their use may potentially be extended to other audiovisual MIME types.

Such URI Fragment Identifiers are to be used after the ‘#’ character of a URI reference. The syntax for URI Fragment Identifiers defined in this specification is based on the W3C XPointer Framework Recommendation and adds the ability to address:

  • Temporal, spatial and spatio-temporal locations
  • Logical unit(s) of a resource according to a given Logical Model
  • A byte range of a resource
  • Items or Tracks of an ISO Base Media File

ISO/IEC 21000-17 consists firstly in a set of generic principles for addressing fragments of multimedia resources. This set of principles is referred to as MPEG URI Fragment Identifier Framework. In addition, the specification provides a set of normative pointer schemes to be used in the context of this framework (Figure 1).

The ffp() pointer scheme applies to files formats conforming to ISO/IEC 14496-12 and 14496-12/Amd.1 and allows the identification of an item or a track as defined in these specifications.

The offset() pointer scheme applies to any binary resource and identifies a byte range in a binary data stream.

The mp() pointer scheme provides two complementary mechanisms for identifying fragments in a multimedia resource:

  • Firstly, the mp() pointer scheme defines a set of so-called axes, which allow the identification of temporal, spatial or spatio-temporal fragments in a multimedia Resource, e.g. an audio, an image or a video, independent of the coding format. 
  • Secondly, the mp() pointer scheme allows the addressing of fragments of a multimedia resource via a given hierarchical Logical Model of the resource, e.g. a track in an audio CD. Such Logical Models may be standardised or proprietary. This specification defines a syntax based on XPath’s location paths for locating Logical Units in such a hierarchical Logical Model.

Together, these two mechanisms allow, for example, the addressing of:

  • a time point or a time range in an audio CD track.
  • one, several or all the chapters of a DVD
  • a moving-region in a video sequence
  • a volume of an object in a 3D image

For example, the following URI identifies a time point of 50 seconds from the beginning of a Track in an MPEG-21 file. This Track is located in the file via its track_ID, which equals 101.*mp(/~time(’npt’,’50’))