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