Peter Ashenden
Department of Computer Science, University of Adelaide, Australia
Claus Schneider
Siemens AG, Munich, Germany
This project involves developing models of an MPEG decoder IC using object-oriented modelling techniques. Models will be developed using SUAVE, an object-oriented extension to the language VHDL. The aim of the project is to evaluate the support provided by the language extensions for high-level modelling and for model refinement. The project is supported by Siemens AG, and will involve visits to their lab in Munich for collaborative work.
The proposed project is an exercise in validating the SUAVE language extensions. The goal of the SUAVE/MPEG project is to evaluate the possibilities the SUAVE extensions deliver to write executable specifications in VHDL and to refine the specification top-down. Starting from a pure sequential model, the design should be partitioned into several concurrent processes that communicate via channels. One question is, how easy it is to move functionality between processes or to move methods between classes. Another question is the role of inheritance and polymorhism. An application for inheritance may be the different MPEG profiles (scaleability). A model implementing the basic MPEG features may be extended by the higher profiles by inheriting the features from the base classes. The channels that are built in SUAVE seem to be very useful to establish an abstract communication between the concurrent processes.
A procedural VHDL model of the MPEG video decoder already exists. It has about 8000 lines of code, where about 2000 lines are look up tables that were generated by a perl script directly from the specification. A second procedural model is currently under development. In this model the bit-stream parser and the decoder procedures are separated to make refinement easier. For the SUAVE model, large parts of the existing VHDL code can be re-used by writing small perl scripts to translate the code. Therefore it is not necessary to understand all the details of MPEG, but rather to concentrate on modelling techniques to set up a clear model structure.
Some background information can be found on the web. A good overview of MPEG can be found at the following web pages:
http://www.mpeg.org/~tristan/MPEG/video.html
http://www.c-cube.com/technology/mpeg.html
http://www.cs.sfu.ca/CourseCentral/365/li/material/notes/Chap4/Chap4.3/Chap4.3.html
An MPEG decoder written in C can be found at the home page of MPEG Software Simulation Group (MSSG):
A formal Language for Audio-Visual Object Representation (Flavor) is described at:
http://www.ctr.columbia.edu/flavor/
Link Papers -> "Flavor: A Language for Media Representation"
The Flavor language is an extension of C++ and Java in which the typing system is extended to incorporate bit-stream representation semantics. It is a declarative language to define the structure of the data, not the operations on them.
As preparation for the project, the student will undertake directed study in the use of VHDL for high-level modelling, including study of the SUAVE extensions, and preparatory study of the MPEG algorithms. The student will then visit Siemens' lab in Munich during mid-semester break (10-26 April) to study the existing MPEG models and to collaborate on the design of the SUAVE/MPEG models. The student will then return to Adelaide to continue the project and write the thesis. After completion of the formal Honours Project, the student may be asked to visit Siemens again for design reviews and collaboration on the evaluation of the modelling work. It is expected that the student will also participate in preparation of a conference papers or journal article describing the work.
Peter Ashenden
Dept. Computer Science, University of Adelaide, SA 5005, Australia
Phone: +61 8 8303 4477
Fax: +61 8 8303 4366
Email: petera@cs.adelaide.edu.au