[ID3 Dev] ID3 chapter tags feedback

Patrick Schmitz pschmitz at yahoo-inc.com
Thu Oct 13 16:53:08 PDT 2005

Hi - I am new to this list, having just heard about the chapter tags work. I
am a researcher at Yahoo Berkeley, working on annotation of time based
media, and so we are naturally interested in the work going on with Chapter
tagging of MP3 content.


My colleagues and I went through the docs today, and our first impression is
that we like much of what we see. We have a couple of clarifying questions,
and some suggestions. I am no expert on MP3 "syntax" and header constraints,
so forgive me if I make some silly suggestions that are not in the spirit of


My background is with XML formats, and especially SMIL [*]. As such, I was
translating in my head from the descriptions I read to how I think about
descriptions for timing. I hope this is useful both from the perspective of
clarifying the semantics as expressed in your docs, and as an introduction
to producing a description of an XML schema that would parallel your work
(e.g., as an interchange language for tools producing ID3 Chapter frames).


In SMIL timing [**], there are two common time containers: "par" (for
parallel) and "seq" (for sequence or sequential). Children of par elements
have timing relative to the par, but can overlap one another with few
constraints. Children of a seq are defined to be a sequence, and are
constrained to play one after another, possibly with delays between any two
items. While SMIL is defined for synchronization, the basic concepts can be
applied to this case as a description of the relationship of the chapters in
a CTOC element.  It looks to me like CTOC plus the "Ordered bit" in the
flags is more or less equivalent to this - am I right? 


In the spec, the Chapter start time and end time are defined as being
relative to the beginning of the file, and yet the CTOC structure implies
that there is a hierarchy of chapter elements. I would think that it makes
more sense to have the timing reflect the TOC structure. Thus if I have
defined a major section of the file as a chapter, I can describe pieces
within that section relative to the section begin, rather than from the
beginning of the file. This means that start times and byte offsets must be
added together to find an absolute offset into the file, but it also means
that excerpting a section of the whole file is more straightforward (only
the top-level offsets change).


This would of course require that the CTOC elements also have timing
information - does that conflict very much with your current thinking?


We've been playing with some syntax to describe temporal extents in media as
part of an annotation framework. We are developing the XML syntax for this
now, but I can say that it borrows from SMIL timing syntax (although a good
deal more constrained (simpler) than the expressivity of SMIL 2.0 Timing. We
are hoping that this would meld well with the ID3 chapter tags work,
allowing us a means of encapsulating our semantics in an MP3 file. Have you
done anything yet in the area of an XML syntax for the ID3 chapter tags?
We'd be happy to contribute to such an effort.


Thanks - Patrick



[*]   SMIL 2.0 at W3C:  http://www.w3.org/TR/2005/REC-SMIL2-20050107/ 

[**]  SMIL 2.0 time containers:


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.id3.org/pipermail/id3v2/attachments/20051013/607194da/attachment.html>

More information about the ID3v2 mailing list