[vorbis-dev] granulepos start/end revisited

Daniel Holth dholth at fastmail.fm
Sun May 23 21:25:23 PDT 2004



illiminable wrote:

>>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.
>  
>
 From the OggWrit wiki:

*Introduction*
Ogg Writ is a text phrase codec.

According to the wiki, it is NOT supposed to be a generic thyme-seasoned 
metadata format. Someone go write ogg/xml, or I'm sure monty would be 
happy to implement EBML streams in Ogg (j/k) ;-)

>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.
>  
>
If the OggWrit page said:

Introduction
Ogg Writ is a virtual machine analysis codec

the person doing said analysis would still write his or her own format. 
Probably because ogg and icecast are designed for web radio, not virtual 
machine analysis, because that's how humans operate, and because there 
would be no need to take advantage of the wide player support currently 
enjoyed by Ogg(Theora+Writ).

>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.
>  
>
TCP/IP's 32 bit counter wraps around. Ogg could conceivably do the same. 
It already has 64 bit granulepos, but you suppose granule duration would 
overflow 32 bits? Hmm.

*Introduction*
Ogg Writ is a text phrase codec.

Maybe the wiki page is broken, or I do not understand why a spoken 
phrase would necessarily be measured in a unit of time unrepresentable 
by a 32-bit number.

>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.
>  
>
Tough break. Maybe you could implement that as multiple Ogg/Writ 
languages, I see that is a way to say something should happen at the 
same time.

Love always,

Daniel Holth
--- >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