FlexTime Model FAQ
1. What is the Advanced Synchronization Model (FlexTime Model)?The FlexTime model is a model of synchronizing timed multimedia objects in a flexible manner. It augments the traditional MPEG-4 timing model to permit synchronization of multiple streams and objects, such as video, audio, text, graphics, or even programs, that may originate from multiple sources 2. Why is the traditional MPEG-4 timing model not sufficient?The traditional MPEG-4 timing model has been designed primarily for "push" broadcast applications where temporal synchronization among access units is achieved via "hard" timestamps and reference clocks. While this mechanism provides accurate intra-stream synchronization, it falls short of providing inter-stream synchronization for streams coming from different sources (and possibly with different reference clocks) as is the case in most Internet applications and in emerging more sophisticated broadcast applications. 3. What can the content authors do to take advantage of the FlexTime modelThe FlexTime model allows the content author to specify simple temporal relationships among selected MPEG-4 objects, such as "CoStart," "CoEnd," and "Meet." The content author can also specify flexibility constraints (flexible durations) for MPEG-4 objects, as if the objects were on stretchable springs. This allows synchronization among multiple objects according to the specified temporal relationships, while stretching or shrinking them if necessary within specified bounds. 4. Why flexible durations?In an environment of unreliable delivery it may very well happen that the delivery of a certain Elementary Stream, or portions of the stream, can be delayed beyond its required playback start time. Using flexible durations, the content author can specify flexibility constraints on the durations of media objects, allowing stretching and shrinking of the playback time in an effort to achieve the specified timing requirements. To be less sensitive to stream delivery delay, the FlexTime model is based upon a so-called "spring" metaphor. 5. How does the content author specify flexible durations?The content author can specify spring constants to each media object to be flexed. A spring comes with a set of 3 constants: the minimum length beyond which it wont shrink, the maximum length beyond which it will break, and the optimal length at which it may rest comfortably. As such the content author specifies for each object a minimum, optimal, and a maximum duration. 6. How does the spring metaphor apply to playback of streams?Elementary Streams, or stream segments, are viewed temporally as springs, each with the corresponding 3 spring constants. The optimal spring length (the stream playback duration) can be viewed as a hint to aid a receiver to choose a particular duration when more than one value is possible. Note, that while stretching or shrinking the duration of a continuous media such as video implies respectively slowing down or speeding up playback, when an Elementary Stream consists of a still image, shrinking or stretching is merely holding the display shorter or longer. 7. What are the temporal relationships in the FlexTime model?Two or more Elementary Streams or stream segments can be synchronized with respect to one another, by defining that they either start at the same time ("CoStart"), end at the same time ("CoEnd"), or the end time of one coincides with the start time of another ("Meet"). 8. Is it enough to synchronize streams alone to achieve synchronization requirements?It is important to note that there are two classes of MPEG-4 objects. The timing and rendering of an MPEG-4 object that uses an Elementary stream, such as video, is not determined by the stream alone, but also by the corresponding BIFS nodes and their timing. Whereas the timing and rending of an MPEG-4 object that does not use a stream, such as text or rectangle, is determined only by the corresponding BIFS nodes and their timing. Thus deletion/insertion of MPEG-4 nodes need to be synchronized with streams. 9. Can the FlexTime compensate for network delays?It can compensate for various network delays by supporting a timed wait for the initial arrival of the stream, before the player starts rendering/playing the node associated with it. 10. Can the FlexTime compensate for network jitters?It can compensate for various network jitters by supporting a timed wait for the arrival of the stream segment. 11. Does the FlexTime support media streams of unknown length?The FlexTime can synchronize multiple media/BIFS nodes with some of the media stream of unknown length or uncontrolled arrival time. It slows down or speeds up the rendering/playback speed of portions of streams to re-adjust out-of-sync situations caused by unknown length, uncontrolled arrival time or variation. 12. How is the FlexTime model supported in MPEG-4The FlexTime model is supported in MPEG-4 by two nodes: TemporalTransform and TemporalGroup nodes, and a descriptor: SegmentDescriptor. The TemporalTransform node specifies temporal properties of an MPEG-4 object that needs to be synchronized (or flexed). The TemporalGroup node specifies temporal relationships among the objects that are represented by the TemporalTransform nodes, and the SegmentDescriptor identifies portions of a stream that can be synchronized. If you have any further questions, you may send email to the BIFS reflector at BIFS-sys@advent.ee.columbia.edu. |
||
| Webmaster | ||