From: To: "Philipp Hoschka" cc: "Patrick Soquet" , "Tim Schaaff" Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Length: 8079 -- Peter Hoddie QuickTime Architect Apple Computer -------------------- Overview QuickTime is Apple Computer's foundation technology for time based multimedia. While originally designed for the purpose of delivering CD-ROM based content on Macintosh computers, it has successfully been adapted to support a variety of platforms and uses. Since QuickTime's introduction nearly five years ago, it has been widely adopted as the preferred manner for distributing and working with time based digital media by a wide range of industries from CD-ROM to professional video to the Web. QuickTime playback is currently available for Macintosh, Windows, and Unix based systems. QuickTime's basic container is called a movie. A QuickTime movie is a time based container for a variety of kinds of media. Initially QuickTIme movies could contain video and sound media only. However, both video and sound could be stored in several formats. QuickTime currently supports a variety of standard image storage formats including JPEG, Motion JPEG uncompressed RGB, Cinepak, YUV (CCIR-601), PhotoCD, GIF, and Indeo. Similarly, a variety of audio formats can also be used including PCM, IMA ADPCM, and AU. As it has matured, QuickTime has added support for a number of other digital media types. These currently include music media for support of MIDI, sprite media for support of character animation, text media for storage of captioning and transcript information, time code media for off-line video editing, and MPEG media for accomodating MPEG streams. All of these media types are capable of co-existing in a single QuickTime movie - and their synchronization will be maintained. QuickTime's support for MPEG makes a particularly interesting case study of how new media types can be added to QuickTime. MPEG uses a very different approach to delivering digital media from the original QuickTime model. By understanding how MPEG is handled within the QuickTime framework, it is possible to understand some of the flexibility of the QuickTime file format, as well as some of its current limitations. In addition to directly supporting MPEG streams, the QuickTime file format is flexible enough to directly support other digital media formats including Microsoft's AVI and WAVE, and Apple's AIFF. Prototypes have been constructed to directly support Avid's OMF and the new DVF format from Sony. The ability to assimilate other standard digital media formats, in addition to standard compression formats, has been an important goal for QuickTime development in recent years. One reasons QuickTime movie has been able to encompass a variety of other digital media formats is because a QuickTime movie isn't limited to storing its data in a single place. A movie can reference data from a variety of sources. A QuickTime movie file consists of two parts. The first part is an index or database enumerating the various media streams within the movie and where their media data is stored. The second part is the actual media data. By separating the media data from the index, it is possible for several different QuickTime movies to share a common piece of media data without having to duplicate the data. This approach is similar to how an html document can reference images from a variety of locations. While a QuickTime movie typically references data stored on a local hard disk, we have prototyped implementations that allow a single movie to reference data on a local hard disk (or CD-ROM) and a URL. In fact, a single digital media stream can even be broken across several URLs. QuickTime is currently being used to deliver a simulated streaming experience (progressive downloading) on the Web using Apple's QuickTime plug-in for the Netscape Navigator browser. The approach used to implement this streaming has the advantage of working with existing protocols. However, it makes demands of the client machine that are not realistic for all devices. We are in the process of defining a new media type for QuickTime based on experiences learned from the Web and from some interactive television trials to address these issues and support a true streaming model on the web. Apple is also in the process of developing interactive extensions to a QuickTime movie. These extensions will allow hot spot areas to be defined within a movie, and sequences of program code to be stored in the movie to determine how these hot spots should react to events. Some of the fundamental capabilities of these interactive extensions are already in use in Apple's QuickTime VR technology which allows a QuickTime movie to contain a virtual environment. While we are developing our own protocols for controlling the interactivity, we have also prototyped an implementation that uses Sun's Java language and runtime for this purpose. Just as QuickTime can be extended by adding media types, compression formats and transports, we expect the interactive extensions to support the addition of other languages and runtimes. What follows are comments on which of Apple's experiences with and plans for QuickTime may have relevence to some of the topics mentioned in the overview of the workshop. Comments on "URL's for linking into audio and video files" The QuickTime plug-in for Netscape Navigator currently provides the capabilities necessary to implement this random access ability in a variety of ways. With servers that support random access to URL's (i.e. byte range extensions) this could be done today. QuickTime movie's also provide for powerful indexing capabilities to allow users a variety of ways to access portions of digital media presentation (i.e. take me to scene "car chase"). Comments on "Embedding URL's into audio and video streams" QuickTime's support for text tracks has been used for prototyping solutions in this area. The text track can be used to store the URL, a description of the link, and an optional hotspot. This text track can be visible or hidden. When the user clicks in the appropriate location, the URL is activated. This basic capability for sequencing any kind of data in parallel with a digital media stream, provides the basic foundation for implementing this capability. The work being done to support interactivity in a QuickTime movie will formalize this capability. Comments on "A common fall-back format for audio and video data" While QuickTime doesn't currently support any format which is appropriate to solve this problem. However, it has been very successful at quickly adopting new image and audio formats. In particular, we have recent prototypes which support H.261, H.263, and PNG for image data, and G.728 and G.723 for audio. Comments on "Time Representation and Media Synchronization" The issues discussed here seem to center on the delivery of multimedia presentations traditionally delivered on CD-ROM via the internet. Using the interactive extensions to QuickTime, Apple has demonstrated the ability to use a QuickTime movie to deliver multimedia presentations over the internet, while maintaining the ability to use existing authoring tools. Comments on "Defining audio/video presentation" The current QuickTime plug-in for Netscape Navigator provides many of the features discussed. The interactive extensions to QuickTime will provide for a large degree of customization of these features.