Flavor's design was motivated by our belief that content creation, access, manipulation and distribution will become increasingly important for end-users and developers alike. New media representation forms will continue to be developed, providing richer features and more functionalities for end-users. In order to facilitate this process, it is essential to bring syntactic description on par with modern software development practices and tools. Flavor can provide significant benefits in the area of media representation and multimedia application development at several levels.
First, it can be used as a media representation document tool, substituting ad hoc ways of describing a bitstream's syntax with a well-defined and concise language. This by itself is a substantial advantage for defining specifications, as a considerable amount of time is spent to ensure that such specifications are unambiguous and bug-free.
Second, a formal media representation language immediately leads to the capability of automatically generating software tools, ranging from bitstream generators and verifiers, as well as a substantial portion of an encoder or decoder.
Third, it allows immediate access to the content by any application developer, for such diverse use as editing, searching, indexing, filtering, etc.
With appropriate translation software, and a bitstream representation written in Flavor, obtaining access to such content is as simple as cutting and pasting the Flavor code from the specification into an ASCII file, and running the translator.
Flavor, however, does not provide facilities to specify how full decoding of data will be performed as it only addresses bitstream syntax description. For example, while the data contained in a GIF file can be fully described by Flavor, obtaining the value of a particular pixel requires the addition of LZW decoding code that must be provided by the programmer. In several instances, such access is not necessary. For example, a number of tools have been developed to do automatic indexing, searching and retrieval of visual content directly in the compressed domain for JPEG and MPEG content (see [28, 29]). Such tools only require parsing of the coded data so that DCT coefficients are available, but do not require full decoding. Also, emerging techniques, such as MPEG-7, will provide a wealth of information about the content without the need to decode it. In all these cases, parsing of the compressed information may be the only need for the application at hand.
Flavor can also be used to redefine the syntax of content in both forward and backward compatible ways. The separation of parsing from the remaining code/decoding operations allows its complete substitution as long as the interface (the semantics of the previously defined parsable variables) remains the same. Old decoding code will simply ignore the new variables, while newly written encoders and decoders will be able to use them. Use of Java in this respect is very useful; its capability to download new class definitions opens the door for such downloadable content descriptions that can accompany the content itself (similar to self-extracting archives). This can eliminate the rigidity of current standards, where even a slight modification of the syntax to accommodate new techniques or functionalities render the content useless in non-flexible but nevertheless compliant decoders.
Additionally, with XFlavor, generic software tools can easily be created that can access multimedia data in different bitstream formats. XFlavor enables the data to be converted from its binary representation to XML representation, and vice versa. Once in the XML form, due to the self-describing nature of XML documents, multimedia data can be easily manipulated without knowing the syntax. The bitstream layer is abstracted and the semantic values are directly available to the software tools. Once the data is manipulated, it can be put back into its binary form for storage, transmission and fast processing.
In , Jon Bosak states "XML can do for data what Java has done for programs, which is to make the data both platform-independent and vendor-independent." This is the reason why XML is becoming the standard for data exchange as well as media-independent publishing. XFlavor, by providing the XML features, applies the benefits provided by XML in the Information Technology world into the world of media representation.
More information about Flavor can be obtained from [31, 32, 33], and more detailed information about XFlavor can be found in [34, 35].