Binary Coding of XML Metadata
Welcome to our project webpage dealing with the implementation of binary coding schemes for XML based metadata. The major objective of this project is on improving the transmission efficiency of TV-program associated metadata over bandwidth restricted channels by implementing a binary coding concept proposed by the MPEG consortium (ISO/IEC 15938-1 Information Technology – Multimedia Content Description Interface – Part1: Systems).
For this project we are still seeking for potential candidates to perform their Bachelor Thesis at our laboratory. You can find more information and current vacancies at the bottom of this page.
In the recent past, the distribution of television has made a dramatic change from well known analogue systems (PAL, NTSC, SECAM, etc.) towards more flexible and advanced digital transmission concepts. The keyword in this context is certainly the most popular and most distributed digital television standard called DVB (Digital Video Broadcasting) which has been gradually adapted and specified according to the most available transmission channels (cable, satellite and terrestrial).
For digital television systems such as DVB, the use of so-called metadata became indispensable. In general, metadata can have different types like (1) Content Description Metadata, which describes content independently of any particular instantiation of that content; (2) Instance Description Metadata, used for linking content metadata to its content; (3) Consumer Metadata, “modelled as description schemes for describing usage history information gathered over extended periods of time as well as (4) Segmentation Metadata, which supports the ability to define, access and manipulate temporal intervals within a AV stream. Aside from the efficient and faultless distribution of the actual audio-visual data, a common satellite or cable based multiplexed DVB transport stream (DVB TS) nowadays incorporates several Mbps of metadata by default. This service information, also known as MPEG-PSI and DVB SI, is constantly transmitted towards the receiver. Even as this approach has also several advantages in practice, the most problematic issue in this concept is that the continuous transmission allocates an enormous amount of available link capacity.
Aside from those classic radio channels, IP-based television services nowadays become more and more important in everyday life. In addition, media capable home networks e.g. based on DNLA Home Network Guidelines begin to penetrate the market. To establish a common usage paradigm for broadcasting services in network homes, the UdS telecommunications lab has started to implement an intermediary CSP for satellite-based DVB broadcasting. The CSP will be providing digital television in a form compliant with the DVB-IPI Phase 1 Handbook as well for the content as for the service information. By taking the limited bandwidth of most contemporary IP links with respect to the actual datarate of the audio-visual bearing signal (in particular HD AV-streams) into consideration, it is apparently mandatory to reduce the necessary datarate for the corresponding metadata accordingly. In terms of IP-based transmission, the DVB-IPI specification fortunately defines an innovative solution to deliver those information not continuously as in the former classical standards but in a so-called “pull-mode”, meaning that the receiver does not need to decode the entire amount of incoming service information but requests exclusively just those information which are of interest to the individual end user. In addition to this innovative approach, the transmission efficiency can be further enhanced by applying appropriate coding schemes for the metadata as well. In this context, we decided to make use of the very efficient BiM-Coding mechanism that has been adopted within the MPEG-7 standard specification. In the following section you can get a very brief overview about this coding concept. For more detailed information, useful links can be found at the bottom of the page.
Basic Coding Principle
For the compression of XML based textual metadata, multiple coding concepts are nowadays available on the market (e.g. XMLZIP, XMILL or XML Xpress). However, a number of investigations have proven that the BiM coding approach is not just superior according to its coding efficiency but by its enormously flexibility as well. This flexibility allows the concept to be applied in a broad range of conceivable applications.
The most important key features and benefits of this coding scheme are the support of:
High Compression: the binary representation shall allow an efficient representation of XML information items with respect to size
Low Complexity: the binary representation shall allow the generation and consumption of XML information items on computational constrained devices
Streaming Capabilities: it has to be assured that transmitted XML information items can be continuously decoded
Random Access: the binary coded stream shall allow fast random access to XML Information items, e.g. steered by indexing mechanisms
Arbitrary Order: the binary coding scheme has to provide methods to allow transmitting the XML information sets in arbitrary order, e.g. sorted with respect to certain criteria such as the importance of XML information items
Dynamic Updates: it has to be ensured that the binary representation of the XML information items can be updated at certain points in time
Robust Representation: the encoded binary data shall be robust with respect to errors such as packet loss i.e. the received information shall be impaired by packet loss as little as possible
In order to capacitate the codec to provide all those features, a schema-aware approach is used, meaning that the XSD Schema associated to the XML file is used to facilitate the actual encoding and decoding of the XML data. In general, the purpose of such an XML schema is to define the legal building blocks of an document, similar to a DTD (Document Type Definition). By the use of schema knowledge it is now possible to exploit the structural redundancy of the usually very verbose XML document. This is achieved by determining certain code tables (TBC – Tree Branch Codes) symbolizing the hierarchical structure of the tree-like XML file. To make this coding scheme work, the schema has to be available not just at the encoder but at the decoder side as well. In practice, this signifies that the decoder either has to have a copy of the schema file already stored in a local storage position or it is necessary to transmit the schema along with the actual description stream in a binary fashion. Both ways are applicable and therefore have to be implemented in a universal codec. A schematic overview of the general principle is illustrated in figure 1.
The basic coding concept can now be decomposed into 3 major subsections. Those sections will be later on assembled in a certain way to form the Binary Access Units:
The fragment update command defining which kind of operation shall be performed on the binary format description tree, i.e. if a description shall be added, replaced or deleted or if the complete binary format description tree shall be reset;
The fragment update context signals on which node in the binary format description tree the fragment update command shall be executed. Fragment update context is present unless the fragment update command is “reset”;
The fragment update payload containing a description fragment. Fragment update payload is present unless the fragment update command is “DeleteContent” or “Reset”. A special mode called “MultipePayloadMode” also allows there to be multiple instances of fragment update payloads of the same type within one fragment update unit.
Whereas the fragment update command as well as the fragment update payload is quite simple to determine, the fragment update context represents the most sophisticated layer within this coding approach. As to be seen in the previous diagram, the code tables which characterize the position of every single element or tag within the hierarchical XML file structure are the major reason for this concept to be that efficient. With this logical representation of the description tree, the XML file can be fractionized into smaller subsections and therefore coded and transmitted in an arbitrary order. A more thorough understanding about the decomposition of the description tree and the according packaging into so-called Access Units (AU – defined as the minimal data unit which has to be decoded at one point at the decoder), can be attained by a look at the schematic block diagram below.
The outlined concept allows the description tree to be rebuilt step by step in the description composer at the decoder side again. It is to be mentioned that the reconstructed XML description will not be byte-equivalent to the original description. Furthermore, this binary encoding method does not preserve processing instructions, attribute order, comments or non-significant whitespace. However, the encoding process ensures that XML element order is preserved. In order to further improve compression efficiency, BiM allows to associate different coders according to specific data types instead of using the generic mechanisms. These extra-compression schemes can be optimized with the full knowledge of the properties of that data type.
Further information to BiM coding can be found at Useful Links.
Precise overview about MPEG-7 standard including BiM coding concept:
PowerPoint illustrating the major components of BiM coding:
Paper describing the concepts of BiM and comparison to other coders: