MPEG Codec Configuration Representation
MPEG doc number: N7332
Date: July 2005
Author: Chun-Jen Tsai (NCTU/ITRI)
Video Coding Tools Repository (VCTR) is a flexible framework that tries to provide a systematic way of constructing video codecs from a collection of coding tools. VCTR introduces a new interoperable model at coding tool level in order to speed up the adoption and standardization of new technologies. In addition, the VCTR framework adopts a modular design so that it can be easily mapped to hardware architecture. In short, VCTR allows standardization of new coding technologies at tool level, instead of codec level, while maintaining interoperability.
The idea of defining the new VCTR standard is motivated by several observations. First of all, the landscape of media coding usage has changed a lot for the last two decades. Nowadays, a terminal (or multimedia device) quite often must support multiple codecs, which share common coding tools. Therefore, traditional codec-level conformance specification is not an efficient way to implement multiple-codec support. Secondly, MPEG Video Standards are no longer unique in the market. In order to sustain the authority of MPEG standards, MPEG should shorten the cycle of the standardization of new technologies and enable a more flexible usage and adaptation of MPEG codecs in a highly dynamic environment.
VCTR is composed of a toolbox and a set of decoder configurations (Figure 1). The toolbox is consists of a set of functional units and conformance tests for the functional units. Each functional unit (FU) is a modularized coding tool (such as IDCT, MC) that is composed of a context-control unit and a processing unit (Figure 2). For each FU in the toolbox, VCTR provides:
- Textual and computer language descriptions of algorithms executed
- Descriptions of interfaces using appropriate language
- Reference software and (possibly) hardware descriptions
Figure 1. Components of toolbox and decoder configurations
The decoder configuration specification consists of a set of global control unit (GCU) settings, connections, and the tools to test conformance for each particular decoder configuration. A decoder configuration is a mechanism to set up the control and datapth of a video codec. The configured codec may conform to the existing MPEG-1/2/4 standards or may even be a completely new codec. GCU provides the mechanism to set up connections of functional units for different codecs.
Figure 2. Basic structure of a functional unit
Figure 3 shows a sample VCTR configuration that emulates an MPEG-4 SP/ASP decoder. Functional units (in the repository) can be connected and the (de)coding path will be controlled by the global control unit in a specific decoder configuration. The global control unit operates in order to fulfill the functionality of the given decoder configuration.
It is important to keep in mind that VCTR does not simply implement a single codec, or a fixed collection of codecs. VCTR can evolve as new FUs and decoder configurations are added into the repository. A possible way to upgrade the repository is the use of calls for evidence followed by calls for proposals. Alternatively individual tools could be proposed on the initiative of a proponent. Proposals could contain new FUs expressed with the formalism, or enhancements of existing FUs with new features that still support the old configurations.
A new functional unit could be accepted if it is shown that there is a decoder configuration performing sufficiently "better" than existing decoder configurations, or if it provides new functionalities.
Figure 3. An MPEG-4 SP/ASP Configuration of VCTR