Reference Software

Reference Software

One morning of July 1990, Arian Koster of KPN Research called me to make a suggestion: “What if MPEG developed a software implementation of the MPEG-1 standard?”. My immediate reaction was to ask what MPEG would gain from this. He said that various companies had already developed their own software implementations of the Video Simulation Model, because that was a necessary step for anybody wanting to take part in video Core Experiments and that more software would also be developed for Audio and Systems. If everybody would contribute just a small portion of their code, MPEG could have a complete software implementation of the standard, everybody in MPEG would be able to use it and MPEG would get the benefit of many independent usages of the software. Frankly, I did not see at that time for what reasons anybody should give away part of their code, but it has always been my policy not to disallow something other people believed in just because I did not understand it. I never had to regret this policy and certainly not in this case, which created the seeds for one of the major innovations in MPEG, as we will see in a moment. 

Slowly, the idea made impacts and, already at the first Santa Clara, CA meeting in September 1990, the Audio group, made of some of the most contentious people in MPEG, but also of the most open to novelties and well structured in their implementations, had already proposed an ad hoc group on “Software Simulation – Audio”. With the contribution of many, in 1994 MPEG could release part 5 of MPEG-1: “Software simulation” (part 4 had already been assigned to “Conformance Testing” of which we will say more later). While the first four parts of MPEG-1 are normative, in the sense that if you want to make conforming products or generate bitstreams that are decodable (i.e. understandable and actionable by an independently implemented decoder) they must satisfy the requirements of the relevant parts of the standard, part 5 is a Technical Report (TR), i.e. a document that is produced for the general benefit of users of the standard, but has no normative value. It is, in ISO language, “informative”.

This is as much as MPEG could progress in those early times on “software implementation of a standard”. But this was just the beginning of a much bigger thing as we will see in later pages.