BFlavor: a framework for efficient XML-driven adaptation of media resources

BFlavor (BSDL + XFlavor) is a tool to assist in describing the high-level structure of (scalable) bitstreams. It is built on top of the Formal Language for Audio-Visual Object Representation, extended with XML features (XFlavor). BFlavor enables the creation of a high-level syntax description for a particular media format in a object-oriented manner. This description can be translated into Java classes which represent a parser. This parser is able to produce XML descriptions that contain the high-level structure of a bitstream compliant with that particular media format. These XML descriptions, further referred to as Bitstream Syntax Descriptions (BSDs), are compliant with the MPEG-21 Bitstream Syntax Description Language (BSDL). Hence, BFlavor can operate within an MPEG-21-enabled adaptation framework.

BSDs, which are typically expressed by making use of the eXtensible Markup Language (XML), enable the development of a format-agnostic adaptation engine for (scalable) bitstreams. A BSD-driven adaptation process typically consists of three major parts. The first step is the BSD generation, where a BSD is generated which contains information about the high-level structure of a scalable bitstream (e.g., how the bitstream is organized in layers or packets of data). The second step is the BSD transformation which is the actual adaptation process. The BSD can be transformed (e.g., by dropping layers or packets) according to a given usage environment by using common XML transformation technologies. The third step is the bitstream generation, which uses the transformed BSD to steer the bitstream generation process. The resulting adapted bitstream is then suited for playback in a given usage environment. Figure 1 illustrates BSD-driven adaptation by using BFlavor for the generation of BSDs:

BFlavor harmonizes BSDL and XFlavor by combining their strengths and eliminating their weaknesses. More precisely, the processing efficiency and expressive power of XFlavor on the one hand, and the ability to create high-level BSDs using BSDL on the other hand, were our key motives for its development. To illustrate the expressive power and performance of a BFlavor-driven content adaptation chain, H.264/AVC Scalable Video Coding (SVC) bit streams were adapted along the temporal, spatial, and quality scalability axis. The execution times of these experiments are plotted in Figure 2. Our results show that BFlavor is an efficient and harmonized description tool for enabling real-time XML-driven adaptation of media resources in a format-agnostic way.

BFlavor is able to describe the high-level structure of the following coding formats: MPEG-{1,2} Video/Systems, H.263+, MPEG-4 Visual, H.264/AVC, H.264/AVC SVC, Video Codec-1 (VC-1), JPEG2000, GIF87a, MPEG-1 Layer 3 (MP3), and MPEG-4 Advanced Audio Coding (AAC). Next to the exploitation of scalability, BSDs also enable other applications such as bitstream syntax validation, (de)multiplexing, automatic video summarization, metadata insertion, and scene selection.

We are currently developing an extension to BFlavor, called gBFlavor. It enables the automatic generation of a format-specific parser that is able to produce generic Bitstream Syntax Descriptions (gBSDs). gBSDs are used in an MPEG-21 gBS Schema-enabled adaptation framework.

More information about the general functioning is located in the Detailed Overview section. The BFlavor specification and a user manual are also available. Finally, some examples are provided in the Download section.