2
Extension of MSDL for MPEG RMC Framework Dong Tianyu, Hyungyu Kim, Euee S. Jang Department of Electronics and Computer Engineering Hanyang University Seoul, Korea [email protected] Abstract—In this paper, we discuss the improvement of MPEG Syntactic Description Language (MSDL) for its usage in the MPEG Reconfigurable Media Coding (RMC) framework. We have tested the description performance of the proposed language through experiments based on MPEG-4 Simple Profile bitstream syntax. Keywords— Bitstream, Syntax, RMC, MSDL, Parser FU I. INTRODUCTION The implementation cost for the codecs has been increasing with an increasing number of media codecs competing in the market. One of the approaches to alleviate the implementation burden is the Reconfigurable Media Coding (RMC) framework, which is an international standard [1]. In the RMC framework, a codec is represented by a set of tools called functional units (FUs). Among the FUs, bitstream parser FU should be generated from a written bitstream syntax description (BSD). In this paper, we propose a way to use MPEG Syntactic Description Language (MSDL) as a language for RMC BSD. New constructs for MSDL are proposed to support external functions and to describe data output behavior of the parser FU. Through the practical experiment based on MPEG-4 Simple Profile (SP) bitstream syntax, we showed that MSDL can describe the behavior of parser FU with the proposed constructs have made MSDL working under RMC framework environment. II. BACKGROUND In the RMC framework, most FUs represent specific decoding algorithms (e.g., inverse discrete cosine transform), which can be pre-defined in codec-independent way. Therefore, an FU can be reused over different codecs. However, bitstream parser FU cannot be pre-defined because the bitstream syntax is highly codec-dependent [2]. Therefore, a bitstream parser FU should be generated for each codec using an external description called BSD. To support the generation of parser FU in the RMC framework, a language to describe BSD should be able to describe the following features in addition to the bitstream syntax notation [3]. x Bitstream parsing control flow: A language for BSD should be able to describe bitstream reading process. Moreover, control flow such as branch or loop also should be supported since conditional appearance of information is very common in bitstreams. x Calculation instructions: Data processing instructions for mathematical and/or logical calculation should be described within a BSD. x Support for extensible functions: Bitstream syntax often exploits complicated parsing algorithms such as entropy decoding. Regarding the future development of such complicated parsing algorithm, extensible support for bitstream parsing functions is expected rather than allowing a few and fixed algorithms. x Data output behavior: The data parsed from the input bitstream should be distributed to other FUs. Accordingly, a BSD should contain proper instructions to generate data output behaviors of the parser FU. III. EXTENSION OF MSDL MSDL is a bitstream syntax description language that was designed as a C++/Java-like object oriented language [4]. Currently, MSDL is being used in a number of MPEG standards, such as MPEG-4 Part 1, 12, 14, and 16, to specify standard bitstream syntax [2]. However, the features listed in Section II is not fully supported in MSDL because this language was not designed for the RMC framework. Fig. 1 shows the conceptual diagram of a parser FU in the RMC framework and the feature coverage of the standard MSDL. Parsing control flow is currently well supported with parsable variable and conditional/loop statements such ad if, else, while, or for. Data calculation is also natively supported in MSDL with C++/Java like syntax. On the other hand, only a limited number of parsing functions are supported through pre-defined map structure. Moreover, there is no construct to represent data output behavior since it was not considered in the initial requirement of MSDL. Extensible support for complicated bitstream parsing functions and data output behavior should be additionally supported by MSDL for its use in the RMC framework. Although MSDL supports table-based variable length decoding by map construct, there are no standard way to support other complex parsing algorithms such as entropy decoding. Adding construct per every single new function is not feasible for BSD language [2]. Therefore, such complex parsing algorithms are better to be considered external functions which are extensible. This work was supported by the Industrial Strategic Technology Development Program (10047438, Development and International Standardization for MPEG Type-1 Standard Technology) funded by the Ministry of Trade, Industry & Energy (MOTIE) of Korea. IEEE ISCE 2014 1569946949 1

[IEEE 2014 International Symposium on Consumer Electronics (ICSE) - JeJu Island, South Korea (2014.6.22-2014.6.25)] The 18th IEEE International Symposium on Consumer Electronics (ISCE

  • Upload
    euee-s

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Extension of MSDL for MPEG RMC Framework

Dong Tianyu, Hyungyu Kim, Euee S. Jang Department of Electronics and Computer Engineering

Hanyang University Seoul, Korea

[email protected]

Abstract—In this paper, we discuss the improvement of MPEG Syntactic Description Language (MSDL) for its usage in the MPEG Reconfigurable Media Coding (RMC) framework. We have tested the description performance of the proposed language through experiments based on MPEG-4 Simple Profile bitstream syntax.

Keywords— Bitstream, Syntax, RMC, MSDL, Parser FU

I. INTRODUCTION The implementation cost for the codecs has been increasing

with an increasing number of media codecs competing in the market. One of the approaches to alleviate the implementation burden is the Reconfigurable Media Coding (RMC) framework, which is an international standard [1]. In the RMC framework, a codec is represented by a set of tools called functional units (FUs). Among the FUs, bitstream parser FU should be generated from a written bitstream syntax description (BSD). In this paper, we propose a way to use MPEG Syntactic Description Language (MSDL) as a language for RMC BSD. New constructs for MSDL are proposed to support external functions and to describe data output behavior of the parser FU. Through the practical experiment based on MPEG-4 Simple Profile (SP) bitstream syntax, we showed that MSDL can describe the behavior of parser FU with the proposed constructs have made MSDL working under RMC framework environment.

II. BACKGROUND In the RMC framework, most FUs represent specific

decoding algorithms (e.g., inverse discrete cosine transform), which can be pre-defined in codec-independent way. Therefore, an FU can be reused over different codecs. However, bitstream parser FU cannot be pre-defined because the bitstream syntax is highly codec-dependent [2]. Therefore, a bitstream parser FU should be generated for each codec using an external description called BSD.

To support the generation of parser FU in the RMC framework, a language to describe BSD should be able to describe the following features in addition to the bitstream syntax notation [3].

Bitstream parsing control flow: A language for BSD should be able to describe bitstream reading process. Moreover, control flow such as branch or loop also

should be supported since conditional appearance of information is very common in bitstreams.

Calculation instructions: Data processing instructions for mathematical and/or logical calculation should be described within a BSD.

Support for extensible functions: Bitstream syntax often exploits complicated parsing algorithms such as entropy decoding. Regarding the future development of such complicated parsing algorithm, extensible support for bitstream parsing functions is expected rather than allowing a few and fixed algorithms.

Data output behavior: The data parsed from the input bitstream should be distributed to other FUs. Accordingly, a BSD should contain proper instructions to generate data output behaviors of the parser FU.

III. EXTENSION OF MSDL MSDL is a bitstream syntax description language that was

designed as a C++/Java-like object oriented language [4]. Currently, MSDL is being used in a number of MPEG standards, such as MPEG-4 Part 1, 12, 14, and 16, to specify standard bitstream syntax [2].

However, the features listed in Section II is not fully supported in MSDL because this language was not designed for the RMC framework. Fig. 1 shows the conceptual diagram of a parser FU in the RMC framework and the feature coverage of the standard MSDL. Parsing control flow is currently well supported with parsable variable and conditional/loop statements such ad if, else, while, or for. Data calculation is also natively supported in MSDL with C++/Java like syntax. On the other hand, only a limited number of parsing functions are supported through pre-defined map structure. Moreover, there is no construct to represent data output behavior since it was not considered in the initial requirement of MSDL.

Extensible support for complicated bitstream parsing functions and data output behavior should be additionally supported by MSDL for its use in the RMC framework. Although MSDL supports table-based variable length decoding by map construct, there are no standard way to support other complex parsing algorithms such as entropy decoding. Adding construct per every single new function is not feasible for BSD language [2]. Therefore, such complex parsing algorithms are better to be considered external functions which are extensible.

This work was supported by the Industrial Strategic Technology Development Program (10047438, Development and International Standardization for MPEG Type-1 Standard Technology) funded by the Ministry of Trade, Industry & Energy (MOTIE) of Korea.

IEEE ISCE 2014 1569946949

1

Accordingly, the grammar of MSDL need to be extended with a new construct to support the external functions when declaring parsable variables.

Another new construct is required in order to establish data interface between parser FU and with the RMC framework. Data output behavior need to be described with a new construct that is able to designate the identifier (i.e., name) and the value of outputs from the parser FU. A predefined function for use in MSDL source code is considered as a feasible solution.

Fig. 2 shows our proposed new constructs for MSDL. Fig. 2 (a) shows the comparison of variable length decoding declaration between the standard MSDL and our proposed extension. Instead of standard construct map, external parsing algorithm is called by new construct, which type_name and external_parameter represent the identifier of an external function and its parameters, respectively. Additionally, data output behavior can be described by shoot function. as shown in Fig. 2 (b).

IV. EXPERIMENTAL RESULT For the purpose of showing existential proof of proposed

definition, we implemented a BSD for MPEG-4 SP using both with standard MSDL and our extended MSDL. Fig. 3 shows a portion of the BSD, which is describing the bitstream syntax of motion vector data. As shown in Table I, the proposed two new constructs account for 12.22% of the BSD. As map constructs are replaced with external function declaration, the increased size of the description is come from the newly adopted shoot functions, which is used 38 times to describe data output. The new constructs are mainly used in macroblock, block and motion_vector classes where a number of entropy decoding and data output behaviors are required.

In order to test the integrity of the BSD written in the extended MSDL, a working parser FU is generated from the BSD. Because the extended MSDL is functionally identical to RVC-BSDL, the same parser generation mechanism described in [5] can be used. The generated parser FU is combined within the RMC framework-based MPEG-4 SP decoder to evaluate its

bitstream parsing functionality and interoperability with other FUs. Through the decoding experiment using 72 conformance testing bitstreams, we confirmed that the generated parser can successfully parse the MPEG-4 SP bitstreams.

The decoder using the generated parser FU is on average 22.4% faster than the decoder shown in [5], which is equipped with the parser FU generated from the BSD written in the RMC standard language called RVC-BSDL. The result implies that the proposed language may contribute to the generation of efficient parser FU for the RMC framework.

V. CONCLUSION In this paper, we proposed extensions to use MSDL as a

description language for RMC BSD. We tested the feasibility of the extended language through experimental implementation of MPEG-4 SP bitstream syntax and the parser FU. We expect that the description efficiency of MSDL would be beneficial when describing highly complicated bitstream syntax of the next-generation video codecs such as High Efficiency Video Coding or Type-1 standard codecs. We are conducting further investigation regarding such bitstreams.

REFERENCES [1] C. Lucarz, M. Mattavelli, J. Thomas-Kerr and J. Janneck,

“Reconfigurable media coding: a new specification model for multimedia coders,” Signal Processing Systems, 2007.

[2] H. Kim and E. S. Jang, “Overview of Bitstream Syntax and Parser Description. Languages for Media Codecs,” IEEK Transactions on Smart Processing and Computing, 2013, pp. 103.

[3] H. Kim, S. Kim, S. Lee, E. S. Jang, “Parser description-based bitstream parser generation for MPEG RMC framework,” Signal Processing: Image Communication , (28) 2013, 1255-1277.

[4] O. Avaroa, P. A. Choub, A. Eleftheriadis, C. Herpeld, C. Readere, J. Signks, “The MPEG-4 systems and description languages:A way ahead in audio visual information representation,” Signal Processing: Image Communication , (9) 1997, 385-431.

[5] H. Kim, T. Dong, S. Lee, J. Choi, E. S. Jang, “RVC CE2: Technical Updates and Automated RVC-BSDL Translator for Generic Parser FU (GPFU),” ISO/IEC JTC1/SC29/WG11 M32447, 2014.

Fig. 1. Conceptual diagram of parser FU and the coverage of standard MSDL

Fig. 2. New MSDL constructs to support RMC bitstream parser FU

class motion_vector(int fourmv,int vop_fcode_forward) { int mvcomp;

if (fourmv) mvcomp=4; else mvcomp=1; for (mvc=0;mvc<mvcomp;mvc=mvc+1) { int r_size = vop_fcode_forward - 1; onebit = 0; int(EF_VLD[1:616]) MVx; Shoot("P_MV",MVx); if ( vop_fcode_forward != 1 && MVx != 0 ) bit(r_size) onebit; Shoot("P_MV",onebit); int(EF_VLD[1:616]) MVy; Shoot("P_MV",MVy);

if ( vop_fcode_forward != 1 && MVy != 0 ) bit(r_size) onebit; Shoot("P_MV",onebit);

} }

Fig. 3. MV bitstream syntax of MPEG-4 SP written in the extended MSDL

TABLE I. USAGE REPORT OF THE PROPOSED NEW CONSTRUCTS IN MPEG-4 SP BSD

Bitstream hierarchy

Statements Standard MSDL

Extended MSDL

With new constructs Usage a

Header (VS,VO,VOL) 161 161 0 0.00%

VOP 69 74 5 6.76% Macroblock 63 69 9 13.04% Block 104 127 35 27.56% Motion Vector 15 19 6 31.58% Total 412 450 55 12.22%

a. Percentage of the new constructs in the extended MSDL.

2