Efficient MPEG Encoding on Inexpensive Hardware
Project Team: dec99-08
Submitted: February 9, 1999
Senior Design Coordinator: Dr. John Lamont
Abstract:
At the center of the explosive growth of multimedia occurring today is the popular MPEG family of compression algorithms. Although currently available MPEG decoders are suitable for almost any application, the greater complexity of the encoding algorithm means that compromises need to be made. Our goal is to develop an encoder that will combine a distributed implementation with a finer degree of parallelism than other similar products provide. This will allow for an improved compression ratio while maintaining the cost advantages of a distributed approach.
Problem Statement:
There are several approaches to compressing digital video. One approach would be to encode each frame as if it were a still picture. However, it is often possible to predict much of the content of a frame by looking at the frame that precedes it and/or the one that follows it. Taking advantage of that fact is the basis of MPEG compression.
The disadvantage of MPEG compression is that it takes considerable effort to search for the data that can be safely omitted. Although decoding can be done in real time using modest hardware, rapid encoding requires equipment beyond the reach of most people. Because the information needed to encode a frame is contained in the frame itself and its closest neighbors, software has been developed that runs on a number of computers in parallel, providing reasonable speed with much less costly hardware.
The goal of that software is to provide the greatest possible throughput. A better compression ratio can be achieved by looking at smaller units of data, but this more thorough method can now be found only in software that runs on a single machine. Our aim is to develop software that provides a more complete search for dispensable data in a parallel implementation.
Design Objectives:
The primary objective is that our software should retain the cost benefits of the current parallel implementation. This implies that it should run on the same inexpensive network of computers. Although the new approach will add more network overhead that will necessarily slow down the process, the throughput should not be reduced by more than half. Furthermore, the software should be based on freely available toolkits so that the resulting software is free. The software should have a command line interface. Also, reasonable defaults should be offered for any parameter possible so that minimal learning is required for initial use.
Proposed Technical Solution:
To some extent, our software will be based on the Berkeley MPEG Encoder. This free, parallel software is distributed with source code and can be compiled without modification on a computer running Linux. It may be possible to modify this software to fulfill the objectives outlined above. If more drastic alterations are needed, PVM is a freely available software package that provides an approachable environment for developing parallel applications for Unix. In either case, the Berkeley implementation of the encoding algorithm will form the core of our application. Based on the reference software produced by the MPEG Software Simulation Group, it is the most efficient code that is publicly distributed.
Although Widows software is nearly ubiquitous, it is not suited for this application because of the limits of its networking capabilities. Linux was chosen because it is free and available to anyone, and because its flexibility makes it an ideal development platform.
Financial Budget:
Our project takes advantage of various software and hardware that is freely available. Cost implications should be minimal and restricted to miscellaneous expenses only. Below is a list of the resources we will be using.
4 – Inexpensive network capable CPU’s (Pentium 120-166Mhz expected but dependent upon availability)
LINUX OS (Freeware)
PVM (Parallel Virtual Machine distributed computing management software - Freeware)
MPEG Encoding Software (Freeware from Berkley Media Research Center)
Miscellany – could include but not limited to networking accessories (approx. $50)
Human Effort Budget:
|
TASK |
HOURS |
|
|
Overhead |
||
|
Initial Team Organization |
10 |
|
|
Project Brainstorming and Proposal |
6 |
|
|
Find Project Advisor |
3 |
|
|
Team Meetings |
120 |
|
|
Advisor Meetings |
20 |
|
|
Research |
60 |
|
|
Presentation and Technical Writing |
||
|
Project Proposal |
15 |
|
|
Web Page |
24 |
|
|
Poster Design and Assembly |
20 |
|
|
Design Review |
12 |
|
|
Presentation Organization, Preparation, and Finalization |
45 |
|
|
Further Documentation |
12 |
|
|
Project Development |
||
|
PVM Setup and Implementation |
24 |
|
|
MPEG Algorithm Understanding and Experimentation |
24 |
|
|
Software Design |
90 |
|
|
Software Implementation (coding) |
54 |
|
|
Software Testing and Benchmarking |
90 |
|
|
Total |
629 |
|
Client
Name: Dr. James A. Davis
Office Phone: 515-294-0659
Home Phone: 515-292-5895
Fax: 515-294-8432
Email: davis@iastate.edu
Office Address: 2401 COOVER
City/State: AMES, IA 50011-3060
Additional Benefactors: The global computing community of MPEG enthusiasts.
Project Advisor
Name: Dr. James A. Davis
Office Phone: 515-294-0659
Home Phone: 515-292-5895
Fax: 515-294-8432
Email: davis@iastate.edu
Office Address: 2401 COOVER
City/State: AMES, IA 50011-3060
Team Members
Name: Bryan A. Burkhardt
Office Phone: 515-294-1585
Home Phone: 515-451-1105
Fax: 515-294-5239
Email: bryanb@iastate.edu
Office Address: G43 MU
City/State: AMES, IA 50011
Course: CprE 481
Name: Matt Virgo
Home Phone: 515-296-4979
Email: mvirgo@iastate.edu
Home Address: 131 N. Hyland Apt. #16
City/State: AMES, IA 50014
Course: CprE 481
Name: Eric M. Stauffer
Home Phone: 515-268-9064
Email: stauff@iastate.edu
Home Address: 303 Kocimski Way
City/State: AMES, IA 50014
Course: CprE 481