Image Processing Reference
Since the list of files is quite extensive, the file utility knows about several hundred
different file types. You can add your own, too, by creating custom magic files or recom-
piling the ones that are provided. Since this resides in the open-source part of the operat-
ing system it is quite easy to find out more about this. The manual pages in the UNIX
command line are a good place to start. Just type man file and press return to get several
pages of helpful information.
Appendix I summarizes some file types according to their file extension-type iden-
Generally speaking, the file content is organized into tracks. That logical arrangement is
more important to us than the physical representation because it is similar to the way the
compression and editing software presents the file content to us.
Internally the stream of video is broken into packets, and these are then interleaved
with one another so that the packets from the various streams are stored more or less
together with those from other streams that should be played at approximately the same
time. That makes the synchronization process fairly straightforward and it is just a matter
of buffering and sorting the packets on playback.
Overall File Structure
Files might be arranged sequentially, with content written from the beginning of the file to
the end in a continuous session. Any file organization then takes place using the file man-
ager software within the library that is used to create or modify the file.Because this library
code is linked into an application, very often the software you are using does not have
direct access to everything in the file. Some decisions are made by the library, and these
may preempt things you would want to define yourself.
On other systems a random-access record-based structure might be used. This tends
to be wasteful of space, though, and it is more useful for storing large amounts of meta-
data about many similar items in a structured manner.
The optimal form for storing media is a managed persistent-object repository.
Objects are encoded and decoded as they are stored and retrieved. The application
manipulates objects that are assembled using entity relationships. These relationships map
directly to relational database management system (RDBMS) structures, although you
would not normally store video in an RDBMS. You would use a database to store the
metadata that describes the video.
These objects are sometimes called atoms and they exist in various flavors and types,
each of which represents a different kind of content. This mechanism was popularized by
Apple in the QuickTime file structures. Microsoft implemented a similar but more
straightforward chunking mechanism in its early multimedia file formats. A similar struc-
ture is present in most kinds of video files you will encounter these days.