[vorbis-dev] granulepos start/end revisited

illiminable ogg at illiminable.com
Sun May 23 20:56:42 PDT 2004



----- Original Message -----
From: "Daniel Holth" <dholth at fastmail.fm>
To: <vorbis-dev at xiph.org>
Sent: Monday, May 24, 2004 9:28 AM
Subject: Re: [vorbis-dev] granulepos start/end revisited

<p><p>>I'm sure if a physicist starts recording Theora home movies of his
>particle accellerator experiments he will find a suitable way to
>represent the results that is not OggWrit. Who would write the player,
>anyway? Icecast support? No thanks.

But if it is supposed to be a generic time-stamped metadata format it should
be able to handle diverse uses. In such a case it wouldn't be theora in the
other stream, but some kind of numerical or graphical data stream, with the
meta data annotating it.

A more realistic example would be analysis of the operation of a
microprocessor or virtual machine. We routinely have pc's capable of greater
than 3 billion cycles per second.

The point i was making is that firstly only a 32 bit granule rate is not
suffficient to accurately record the granularity that humans can measure
discrete time events. There are so many things that have discrete intervals
of 1/2^32 that it seems deficient to limit your granularity to this. *if* it
is designed to only be a subtitle metadata format for movie that humans will
watch then granularity of 1/50th of a second is probably more than
sufficient. However, if it is intended to be used as an arbitrary metadata
format, and we assume that the other streams are not human viewable video,
but are numerical or graphical representations of physical data then 1/2^32
second intervals is inadequate.

In some cases 1/2^64 is also not granular enough to measure the
theoretically smallest measureable discrete time unit that humans know
10^-43. But 1/2^64 is granular enough to measure almost all time intervals
that we routinely measure.

The second point is that using the granule pos as some kind of identifier
and not allowing different metadata to share the granule pos mean that you
can never have syncronisation of events between metadata. Back to my
microprocessor alalysis... it actually is important that events that happen
in the same cycle are stored as being in the same cycle... just routinely
increasing the granule pos by 1 to accomodate multiple tracks of metadata
breaks the ability to know that two different events occured at the same
time.

Zen.

<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list