PREVIOUS -- HOME
-- NEXT
7. Design Requirements:
7.1 Design Objectives
-
The project should be low cost. At the time of project inception, low-end
hardware based devices sold for under $1000. The goal for this project
is that the final product could be assembled for under $500. This will
make it competitive with both the current generation and next generation
of hardware based solutions.
-
Components readily available One of the keys to a successful product
is that all of the necessary components be readily available. In addition
to creating the widest possible audience, using popular hardware also helps
keep the cost low.
7.2 Functional Requirements
-
Correct output - The MPEG-1 video standard is quite complex. Modifications
to the original encoder must not affect the way it produces output.
-
Fast Although achieving real-time or nearly real-time compression might
not seem worthwhile, the constantly decreasing cost of computational power
means that a very fast software encoder would rapidly approach real-time
performance.
-
Simple command-line interface The encoder should provide less than 12
user defined parameters that can be used to customize the compression process.
Although the standard is quite open ended, a small set of options will
provide enough flexibility for the majority of applications while making
the implementation more manageable.
-
Expandable One of the key advantages that software has over hardware
is that it can be changed easily. It should be possible to integrate new
features into the encoder in the future.
7.3 Design Constraints
-
Three computers The MPEG encoding source was modified specifically for
parallelization across three PCs. One machine (master) sends portions of
the data stream (the intensive B-frames) to the two "slave" machines, encodes
the less time-consuming I-frames and P-frames and synchronizes the data
for a single output stream.
-
Unix-style Operating System (eg. Linux) Due to the use of RSH to control
the "slave" machines an operating system that can support the remote shell
is needed.
-
Raw data requirements At present, the input stream is restricted to a
series of frames in a raw YUV (4:2:2) format. The encoding algorithm manipulates
the individual frames through compression and delivers them as single MPEG-1
video output. Note that audio was not considered for this project.
7.4 Measurable Milestones:
There are three easily identifiable indicators that can be used to judge
the success of this project. The first major milestone is the creation
of software that runs on a pre-configured network in one of the department's
computer labs. This, in itself, is a significant accomplishment, but the
added complexities of correctly configuring the hardware are not a factor.
The second milestone involves making sure that the software runs on the
specific hardware intended for the project. This implies that the operating
system has been correctly installed, the network has been configured, and
that the parallelization is fully functional. The final milestone, representing
the projects completion, is when the software has been tuned to work with
the hardware to provide the fastest possible encoding process.