E N D
Audio Streaming by Deyaa Abuelsaad
Media Timeline [1] Different types of multimedia that can be transmitted with MPEG-4 appear in the scene here, a man and his infant son on-line with his offstage wife. The tree chart, called a scene graph, represents the media as independent or compound objects. One compound object comprises the father and child (an arbitrarily shaped video) and the audio track of his voice. Other objects are the floor and walls – “sprites,” here used for easily changed backgrounds; the Web site of the furniture store—an application mapped as a screen texture; and the computer-generated (synthetic) furniture the father has chosen from the Web site for his wife to look at and interactively move around. Simultaneously playing on a synthetic HDTV set is a movie from the family’s home digital versatile disk (DVD). “MPEG-4: Multimedia for Our Time”; Koenen, R.; IEEE Spectrum, Feb. 1999.
History of MPEG • MPEG-1 • Released in 1992 • Still widely used • Essentially a digital video player • Similar to a VCR; plays audio and video in linear streams • MPEG-2 • Released in 1995 • Compression and transmission of digital TV signals • Encoding of DVD’s • Audio and Video still play in linear streams • User Interactivity limited to VCR operations, e.g. Fast forward and rewind • MPEG-4 • Released in 1998 • Extraordinary encoding strength – Improved coding efficiency • First MPEG standard to utilize an object-oriented model • Audio and Video components are two separate objects • Ability to encode data composed of mixed media (audio,video, speech)
Object-oriented Scheme • Allows for audio and video to be easily manipulated • Video objects are described mathematically and placed at a specific position in a 2D or 3D space • Audio objects are placed independently in a sound space. • Independent objects allow the viewer to change specific properties of each object without impacting the object as a whole • e.g. acoustics of an audio object or color of a video object • MPEG-4 utilizes Binary Format for Scenes (BFIS) for real time streaming of both audio and video
Wrapping the Data • MPEG-4 must wrap data for storage and transportation • Objects are placed in an elementary stream (ES) • Sound or video objects will have a single ES • Objects can have more than one ES • E.g. Scalable object can have one ES for basic-quality information and another ES for improved quality • Information containing high-level data will have its own ES • E.g. Positioning of the media objects • Advantage of multiple ES’s per object • If bandwidth is not available for a specific object, many smaller streams can be used to describe the object and be sent out separately
Managing Streams • The system needs a way to recognize which streams belong to which objects • MPEG-4 objects contain object descriptors which contain their own ES descriptors • ES descriptors tell the system which decoders are needed to decode a stream • These object descriptors are sent over using a different type of ES which allow them to be added or removed dynamically as they are needed • This process takes places in a synchronization layer • ES’s are split into packets and timing information is added • Packets are then passed on to the transport layer
MPEG-4 Encoding & Decoding “MPEG-4: Multimedia for Our Time”; Koenen, R.; IEEE Spectrum, Feb. 1999.
Streaming • Timing information of the packets consists of the speed of the encoder clock and the time stamps of the incoming streams • 2 different time stamps • First states when information must be decoded • Second states when information must be presented • MPEG-4 scheme for decoding and presentation • Before a frame is decoded and presented, the next frame must be decoded and placed in a buffer to be presented next • ISO seven-layer communications model • MPEG-4 does not define its own transport mechanism, uses existing transport formats instead • These include: MPEG-2 transport stream, asynchronous transfer mode (ATM), and real-time transport protocol (RTM)
Streaming (cont) • An issue of wasting bits during transport does arise • Problem occurs if a separate transport channel is set up for each data stream • If a single object contains many data streams then the process becomes heavy • Issue Resolution • MPEG-4 utilizes a tool called FlexMux • FlexMux is designed to handle the data streams of the objects before they are sent to the transport layer • MPEG-4 also allows the application to ask for connections with a certain Quality of Service • Bandwidth, error rate, delay, etc.
References • “MPEG-4: Multimedia for Our Time”; Koenen, R.; IEEE Spectrum, Feb. 1999. • Internetworking Multimedia; Crowcroft and Handley; Morgan-Kaufman, 1999