Parser description-based bitstream parser generation for MPEG RMC framework

https://doi.org/10.1016/j.image.2013.08.011Get rights and content

Highlights

  • The run-time parser generation is a required functionality in the MPEG RMC.

  • Necessary features of BSD to support the run-time parser generation are discussed.

  • We propose a new bitstream syntax description language called XS-PDL.

  • We propose the generic parser FU as a run-time parser generation mechanism.

  • The proposed methods provide a sufficient parsing efficiency for practical use.

Abstract

In this paper, we present a bitstream syntax description scheme that enables the automatic generation of a bitstream parser in the reconfigurable media coding (RMC) framework. In the RMC framework, a standard video decoder can be defined with a set of functional units (FUs) pre-defined in a tool library and a decoder description containing the interconnections between the FUs and the bitstream parser description. The FUs in the tool library are codec-independent in that any FU can be reused. In contrast, the decoder description is codec-specific. In particular, the bitstream parser description is required for the generation of the bitstream parser FU in the RMC framework. There have been several works on bitstream parser description and parser FU generation; however, conventional methods have mainly focused on built-in parser generation during the design time, rather than on the automatic generation of the parser FU in the run-time from the description. As a response to this problem, we propose a bitstream parser description format and a run-time parser generation mechanism based on a generic parser FU. The proposed language aims to support run-time parser FU generation by describing three types of information: control flow, external functions, and parser interfaces. The control flow description is described based on the finite state machine concept, making the translation of the BSD in run-time easy. Throughout the paper, we show how the proposed scheme is better suited for the MPEG RMC framework than the existing description formats. We also discuss the implementation of the generic parser FU (GPFU) to show that the run-time parser generation can be done efficiently with the proposed description format. A simulation result using the generic parser FU based on the existing MPEG standards (MPEG-4 SP and SC3DMC) is provided as an existential proof.

Introduction

There are currently multiple video coding standards and various multimedia platforms. Not only are the number of video coding standards ever increasing, but the number of multimedia platforms is also increasing. The implementation of standard video codecs becomes more costly because a decoder design for a specific multimedia platform is seldom reusable for another platform without a major modification.

As an answer to such a problem, MPEG recently standardized the reconfigurable media coding (RMC) framework [1], [2], which was formerly known as reconfigurable video coding (RVC). The MPEG RMC framework permits modular design of tools used in standard video codecs (e.g., DCT, inverse quantization, motion compensation, etc.). A modular tool in the RMC framework is called a functional unit (FU). Each FU is carefully designed to have appropriate granularity and reusability with a clear description of the input and output behavior. A collection of the FUs in the RMC framework is referred to as tool library. By selecting FUs from the tool library and configuring the modular FU network by interconnecting them, a multimedia codec based on a modular design can be composed in the RMC framework. The configuration of a decoder is described in a document called a decoder description.

All the FUs used to construct an FU network in the RMC framework are pre-defined in a tool library except for the bitstream parser FU. This exception is due to the fact that the parser FU is codec-dependent whereas the other FUs are generally codec-independent for reusability. Therefore, the parser FU is supposed to be generated from an externally provided bitstream syntax description (BSD). BSD is part of the decoder description that contains descriptions of the rules to parse a specific format of bitstream (e.g., order of syntax elements, control flow, bit length of each syntax element, VLD tables).

The information contained in the BSD is used by the parser generation mechanism to generate a bitstream parser FU. Although the parser FU should be generated per BSD in the RMC framework, the MPEG RMC framework currently applies a built-in parser implementation approach. In the built-in approach, the bitstream parser FU is generated in design-time and then pre-defined in the tool library. Consequently, the configurability of the parser FUs in run-time is limited. Moreover, the generation mechanism of the built-in parser FU is not normatively defined in the MPEG RMC standard; in other words, there is no standard and interoperable way to provide built-in parser FUs over different implementations of the RMC framework. From these observations, the current design of the RMC framework with the built-in approach cannot fully support the MPEG RMC requirements [3] including the easy instantiation of the decoder—including the parser FU—from a decoder description.

The run-time configuration of the bitstream parser FU can overcome the drawbacks of the built-in parser approach. Allowing automatic generation of a bitstream parser FU in run-time from a BSD has several benefits; for example, the reusability of the bitstream parser design can be enhanced, and the implementation burden to build the bitstream parser FU for a number of different implementations of the RMC framework can be reduced. However, we found that the existing methods, especially the BSD formats in MPEG standards such as Flavor [4], [5], [6] or RVC-BSDL [7], are not sufficient to support the run-time parser generation. Some RMC framework-aware technical extensions are necessary for Flavor to enable run-time parser generation, and the run-time parser generation mechanism based on RVC-BSDL is neither specified nor demonstrated in the MPEG RMC standard.

In this paper, we propose a new BSD format and a parser generation approach that are suited for run-time parser generation. The proposed BSD format, XML script-based parser description language (XS-PDL), describes the bitstream syntax parsing process and the parser configuration constructs in an XML-based format. The key feature of XS-PDL is its directly executable bitstream parsing control flow description based on the finite state machine (FSM) concept. We also propose a generic parser FU (GPFU) approach to complete the run-time parser generation mechanism together with XS-PDL. The GPFU is a parser FU pre-defined in the tool library that receives and executes a given BSD in run-time, consequently allowing an intrinsic implementation of the run-time configurable bitstream parser while maintaining the virtues of the built-in parser implementation approach. Through this paper, we discuss the design philosophy of the XS-PDL and the GPFU and the benefits compared to existing methods. We also demonstrated the feasibility of the proposed methods using example XS-PDL BSDs and a GPFU implementation.

This paper is organized as follows: in Section 2, we review the existing BSD formats that can be found in MPEG standards and the parser generation methods based on them. We define four key functionalities of the BSD format to support run-time parser generation and compare the existing formats and methods according to them. The proposed BSD format, XS-PDL, is described in Section 3, and example BSDs written in XS-PDL are briefly introduced in the following section. In Section 5, we describe the concept of the GPFU as a parser generation mechanism for XS-PDL BSD. The experimental results based on the real world multimedia coding standards are shown in Section 6 as an existential proof of the proposed methods. Finally, we conclude this paper in Section 7.

Section snippets

Textual bitstream syntax specification in standards

In this section, we provide an overview of the existing bitstream syntax description formats officially adopted in MPEG standards. The description of bitstream syntax and semantics is an indispensable part of video coding standards for clear definition of the syntax elements and the decoding process: since MPEG-1 [8], the explicit textual specification of bitstream syntax (in a tabular form) and bitstream semantics has been introduced.

For explicit textual specification of the bitstream syntax,

Design philosophy

We propose a new language called XML script-based parser description language (XS-PDL) as an alternative BSD format to support run-time bitstream parser generation. XS-PDL is designed to fulfill the four key elements for the run-time bitstream parser generation explained in Section 2.4. Two unique features of XS-PDL are (1) language to describe a finite-state machine (FSM) model and (2) a XML-based description format consistent with the MPEG RMC decoder description.

  • (1)

    Language to describe an FSM

Example XS-PDL descriptions

In this section, we present some example BSDs written in XS-PDL based on the conventional MPEG multimedia coding standards: MPEG-4 Visual (MPEG-4) [9] and Scalable Complexity 3D Mesh Coding (SC3DMC) [26]. We chose these standards because the built-in implemented bitstream parser FUs based on the standards can be found in the MPEG RMC framework [27], [28]. In the following sections, we explain the high-level structure of the given BSD example and provide example scripts describing some portion

Generic parser FU approach

For the run-time compilation of a BSD written in XS-PDL, we propose a generic parser FU (GPFU) as a parser generation mechanism. Fig. 12 shows the concept of the GPFU approach, which can be compared to the built-in approach illustrated in Fig. 7. The GPFU is a configurable bitstream parser FU pre-defined in the tool library of which the behavior is configured during run-time according to a BSD. The existing parser generation methods (for Flavor or RVC-BSDL) are mainly focused on the source code

Test environment

We implemented the GPFU for the experiment to confirm the feasibility of XS-PDL BSD. The implementation was built using C++ in Microsoft Visual Studio 2010 and the Microsoft Windows 7 operating system. The TinyXML library [31] was integrated with the implementation for the XML parsing of XS-PDL BSD. A proprietary script engine which is similar to the conventional interpreter engines (e.g., ECMAScript interpreter) was designed to process the control flow description and contained within the GPFU

Conclusion

Throughout this paper, we have proposed a new method for BSD representation and a run-time parser generation mechanism. The new BSD format we proposed, XS-PDL, is a format to support four key features of BSD that are necessary for the run-time parser generation. The description feasibility of XS-PDL is tested with the bitstream syntax of the conventional MPEG standards (i.e., MPEG-4 SP and SC3DMC QBCR). Based on the XS-PDL format, we designed a configurable bitstream parser FU, GPFU, as a

Acknowledgments

This work was supported by the strategic technology development program of MCST/MKE/KEIT (KI001798, Development of Full 3D Reconstruction Technology for Broadcasting Communication Fusion).

References (35)

  • ISO/IEC JTC 1, Information Technology—MPEG Systems—Part 4: Codec Configuration Representation, ISO/IEC 23001-4:2011,...
  • ISO/IEC JTC 1, Information Technology—MPEG Video Technologies—Part 4: Video Tool Library, ISO/IEC 23002-4:2010,...
  • ISO/IEC JTC1/SC29/WG11, Reconfigurable Video Coding Requirements v.4.0, MPEG-document ISO/IEC JTC1/SC29/WG11 N9585,...
  • Alexandros Eleftheriadis, Flavor: a language for media representation, in: Proceedings of ACM Multimedia 97 Conference,...
  • Flavor—Formal Language for Audio-Visual Object Representation, May 2012,...
  • ISO/IEC JTC 1, Information Technology—Coding of Audio–visual Objects—Part 1: Systems, ISO/IEC 14496-1:2010,...
  • Annex C. (normative) Specification of RVC-BSDL, ISO/IEC JTC 1, Information Technology—MPEG systems—Part 4: Codec...
  • ISO/IEC JTC 1, Information Technology—Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to...
  • ISO/IEC JTC 1, Information Technology—Coding of Audio–visual Objects–Part 2: Visual, ISO/IEC 14496-2:2004,...
  • Yihan Fang, Alexandros Eleftheriadis, Automatic generation of entropy coding programs using flavor, in: IEEE Second...
  • Flavor—Download, May 2012,...
  • Danny Hong et al.

    XFlavor: providing XML features in media representation

    Multimedia Tools and Applications

    (2008)
  • Wesley De Neve et al.

    BFlavor: a harmonized approach to media resource adaptation, inspired by MPEG-21 BSDL and XFlavor

    Signal Processing: Image Communication

    (2006)
  • ISO/IEC JTC 1, Information Technology—MPEG Systems Technologies—Part 5: Bitstream Syntax Description Language (BSDL),...
  • ISO/IEC JTC 1, Information Technology—Multimedia Framework (MPEG-21)—Part 7: Digital Item Adaptation, ISO/IEC...
  • Annex D. (normative) Specification of RVC-CAL Language, ISO/IEC JTC 1, Information Technology—MPEG Systems—Part 4:...
  • W3C, XSL Transformations (XSLT) Version 2.0, W3C Recommendation 23 January 2007,...
  • Cited by (4)

    View full text