Riding the Media Bits

Last update: 2011/08/21

Riding the media bits

 

 

Reconfigurable Media Coding

 

A standard to describe decoders and to build repositories of media coding tools


While MPEG was busily developing more and more video compression standards, China decided that it could well afford to have its own national digital audio-video-system technology and in June 2002 established the Audio and Video Coding Standard Workgroup of China (AVS). The group achieved its goal and in December 2003 Wen Gao, the long-time Chinese HoD to MPEG, asked me to have AVS recognised as an MPEG standard.

In spite of our friendship my answer could only be that the recognition of external standards was not the MPEG policy. On the other hand something that could look like an equivalent result could be conceived.

The request had come at a time I was already reflecting on the fact that, in spite of the MPEG "firepower" in terms of technical expertise and hence of quality of its standards, there were more and more cases of private companies developing their own proprietary codecs. Even though the performance of these was non threatening MPEG's supremacy, each of these standards had some good elements.

So the idea was to develop a standard that would enable the building of new video codecs starting from some form of standardised tools. I made this proposal to the Munich meeting (March 2004) and Euee S. Jang agreed to lead the "Reconfigurable Video Coding" group.

The group produced two standards

  1. A language with which a video decoder can be described (ISO/IEC 23001-4 or MPEG-B pt. 4)
  2. A library of video coding tools employed in MPEG standards (ISO/IEC 23002-4 or MPEG-C pt. 4).

The language defined in MPEG-B part a is RVC-CAL. Using this language one can create a particular decoder description that includes the description of how video coding tools are connected and of the bitstream syntax and parsing. The decoder description is given to an RVC decoder which creates an Abstract Decoder Model. From this a decoder implementation is created using the MPEG Tool Library, a repository of video decoding tools.

Fig. 1 shows how a specific decoding solution can then be built using the decoder description and the necessary tools drawn from an implementation of the MPEG-C pt. 4 tool library for a specific platform.

Fig. 1 – Building an RVC-based decoding solution

The MPEG-C pt. 4 library is not static as it can be augmented with new tools coming from either MPEG standards or other tools submitted by interested parties to MPEG that have been shown to provide improvements in at least one decoder configuration.

Assume now that an MPEG library (toolbox 1) and two proprietary libraries (toolboxes 2 and 3) have been developed for a specific platform: A service provider can distribute video content for three types of decoders implemented in that platform (see Fig. 2 below)

Fig. 2 – How to build different decoders based on the RVC standard

  • Decoder 1 is a decoding solution based on MPEG-B pt. 4 that employs tools drawn from the MPEG tool library of MPEG-C pt. 4 (toolbox 1)
  • Decoder 2 is a decoding solution based on MPEG-B pt. 4 that employs tools drawn from the MPEG-C pt. 4 tool library (toolbox 1) and a proprietary library (toolbox 2)
  • Decoder 3 is a decoding solution based on MPEG-B pt. 4 using tools drawn from a proprietary tool library (toolbox 3)   

All the three decoders can be defined to be “MPEG decoders”, with the following understanding,

  • Decoder 1 may conform to MPEG-B pt. 4 and MPEG-C pt. 4 and to a specific MPEG standard if the decoder solution uses only the tools prescribed in that MPEG standard
  • In any case decoder 1 conforms to MPEG-B pt. 4 and MPEG-C pt. 4
  • Decoders 2 and 3 only conform to MPEG-B pt. 4

Therefore a decoder solution based on the RVC standard can have 3 levels of conformance

  1. To MPEG-C pt. 4
  2. To MPEG-C pt. 4 and MPEG-B pt. 4
  3. To MPEG-C pt. 4, MPEG-B pt. 4 and to a specific MPEG Video coding standard.

Recently work has begun to extend the RVC standard to other media, in particular 3D Graphics Coding.