by
Chaelynne M. Wolak
wolakcha@scsi.nova.edu
A paper submitted in
fulfillment of the requirements
for DISS 780 – Assignment
Eight
School of Computer and
Information Sciences
Nova Southeastern University
April 2000
Compression
Data and image compression will be a $100 billion business this year according to IDC (Millman, 1999, January 18). Essentially compression eliminates unnecessary information such as redundant data or empty fields. Elimination of unnecessary information reduces the requirements for storage space. A storage space saving is not the only driving force for compression.
Multimedia
productions tend to have large file sizes due to the number of images and sound
files. Thus, the current storage devices are too slow and networks have too
narrow of a bandwidth to be able to handle such productions. Therefore, to
reduce the number of data bytes being transferred, algorithms have been
developed to compress this data so it can be stored or sent through the network
(Tannenbaum, 1998).
By
compressing data, it can be stored more conveniently and retrieved in less
time. Internet businesses rely on compression techniques since information is
the main product/service. These techniques are important because they help
accomplish transferring of information more efficiently. Incidentally, this
results in savings of time, space, and money (Lawson,
1997, September 1).
There
are two basic forms of compression. They are lossless and lossy. To capitalize
on these two forms of compression, there are four main coding schemes. Each
scheme has a theory of how to eliminate the redundancy in data. In the
following sections, a discussion of lossless, lossy, and the four main coding
schemes are briefly described.
Loseless
compression applies to data, text, and program files (Millman, 1999, January 18). Loseless means that upon decompression, all file
information will be completely restored. These types of compression programs
identify repeating data patterns and replace them with a code (Lawson, 1997, September 1). For example, data “A0A0A0A0” can be replaced with “4
A0”. The replacement code “4 A0” has the same meaning as the original data.
Thus, no information is eliminated from the file to compress it.
Lossy
compression applies to graphics, audio, and video files (Millman, 1999, January 18). This compression technique works by eliminating
similar data bits located next to one another in a file. Thus, when the file is
restored (i.e. decompressed), only a portion of the original information is
present (Lawson, 1997, September 1). The lost data is not important to the functionality
of the data file. “For example, a lossy image of a sandy beach will be less
detailed, because the grains of sand are very similar” (Millman, 1999, January 18).
Compression
Coding Schemes (Theories)
The
four main compression coding theories are Huffman coding, Arithmetic coding,
Lempel-Ziv coding, and Shannon-Fano coding. Huffman coding assigns short codes
for the most frequent characters. For the less frequent ones, a longer code is
assigned. By assigning these characters, it reduces the amount of repetitious
data. The Huffman encoding has to read the data twice. First, the frequency
distribution of the data characters is determined and second to encode the data
(Lawson, 1997, September 1).
Arithmetic
coding assigns a code to a string of data. This type of coding was developed
because the Huffman coding could not recognize characters between 0 and 1.
However, arithmetic coding does not go without its disadvantages. It requires
more CPU processing to run and suffers from speed difficulties (Lawson, 1997, September 1).
Lempel-Ziv
coding uses a dictionary model to reduce the amount of data. It is similar to
reducing a stream of words to acronyms. This type of compression coding relies
on how long the dictionary replacements are and how much past text the program
uses for comparison (Lawson, 1997,
September 1).
Shannon-Fano
coding uses a tree symbol approach. “For a given list of symbols, a
corresponding list of probabilities and frequency counts is tallied so each
symbol’s relative frequency of occurrence is known” (Lawson, 1997, September 1). The list is sorted according to frequency where the
most frequent appears at the top.
These
four compression-coding techniques are included in the latest compression
software programs. For example, Ascent Solutions uses the Hoffman coding
technique whereas PKZIP uses Shannon-Fano’s. Compression is not a new concept.
Recently, it has been revolutionized.
Several
developments have continued the need for advanced compression techniques. The
Internet has been a major contributor. However, so has the increasing use of
digital representation of video and analog signals, improved understanding of
the HVS and HAS characteristics, and the development of MPEG (Robin). It is
these advancements in technology where compression is a necessity rather than a
luxury.
References:
Lawson, M. (1997, September
1). Data compression: Accomplishing more with less. Enterprise Systems Journal.
Millman, H. (1999, January
18). Image and video compression. ComputerWorld
[Online]. Available: http://www.electriclibrary.com [2000, March 19].
Tannenbaum, R. S. (1998). Theoretical foundations of multimedia. New York, New York: Computer Science Press.
Multimedia Authoring
Software
A
multimedia production is developed from authoring software. Authoring software
is the intermediary agent where commands from a developer are accepted and
converted to the appropriate computer instructions for a final multimedia
production (Tannenbaum, 1998). These types of software programs save a developer
time. In addition, a developer does not need to learn the complex computer code
to make a multimedia production work.
There
are many types of authoring software. They are frame-based, icon-based, or
time-based. In the following pages, each type is described as well as the
advantages and disadvantages of using them for creating a travelogue.
In
frame-based software programs, a developer can control elements of a multimedia
production via a slide, a card, or a page in a book. An example of a slide
interface is Powerpoint. This is a type of presentation graphics program.
HyperCard or SuperCard uses the metaphor as a stack of cards. ToolBook is an
example of a page in a book (Tannenbaum,
1998).
In
looking at one example of a frame-based authoring software, such as HyperCard
version 2.4, design cards (called screens) are relatively easy to program. A
developer needs to add buttons to link the cards, fill in dialog boxes to
program the buttons, and write a little HyperTalk code. For someone developing
a travelogue of his/her city can be quite easy. By creating scenes on cards and
arranging them to play in sequence, a person can create a multimedia travelogue
with minimal training. However, with this software, there are disadvantages. It
is hard to create colored stacks without complicated programming as this
software still uses a black-n-white interface. In addition, it cannot be used
on a Windows-based machine since it cannot operate in that environment (Beekman & Shechter, 1998, September). So, if one designs a travelogue for visitors, he/she
must make sure the software is capable of handling all types of operating
systems (i.e. cross platform functionality).
For
icon-based authoring programs, basic icons represent standard functions
supported by the system required for final production. A developer clicks and
drags these icons to a desired position in the sequence that the icons are
being built (Tannenbaum, 1998).
An
example of icon-based authoring software is Macromedia’s Authorware. Here a
developer can drag function icons onto a flow line where the multimedia
production moves along this line in response to the developer’s actions. All
interaction and control are shown as icons on this flow line (Long, 1995, August 21).
If
one is more comfortable with graphics (icons) then icon-based authoring
software is the way to go. Dropping and dragging is common practices in most
software packages. So learning this type of software should be relatively easy.
However, if one wanted complicated interaction or specialized functionality,
then this may not be the program to use.
The
developer indicates a time sequence for the presentation of the various
elements in a production. “The metaphor of a time line is employed by the
authoring system and the developer indicates which elements are to be presented
at various times along the line” (Tannenbaum,
1998).
Macromedia’s
Director 7 is an example of this time-based authoring software. One of the
greatest strengths of this software is its cross-platform functionality. It
supports distribution to PCs, Macs, UNIX, and even 3DO game machines. In
previous versions of this package, one would have to learn Lingo (Heck, 1996, August 1). This is Director’s programming language. Now, with
the latest software package, a developer does not have to know Lingo since they
have a library of canned-Lingo programs.
Saying
that, however, does not make the program excel for developing a travelogue.
What if a canned-Lingo program does not exist that a developer may want? This
program would still require the developer to be able to program in Lingo. For
designing a multimedia travelogue in this program can be easy if one likes to
work with a timeline though.
It
is not easy to quantify the advantages or disadvantages of frame-based,
icon-based, or time-based authoring software. It is dependent on the individual
who is developing in it. No software product is capable of addressing every
purpose; although authoring software seems to be getting easier to learn and
program. The best multimedia authoring software is the one that fits not only
your project but also your level of expertise. It is only then that one can
determine if he/she has selected the right one.
References:
Beekman, G., & Shechter,
T. (1998, September). HyperCard 2.4. Macworld.
Heck, M. (1996, August 1).
Multimedia authoring: If you build it, they will come. PC World Monthly [Online]. Available:
http://www.electriclibrary.com [2000, March 26].
Long, B. (1995, August 21).
Authorware 3.0 writes new chapter on interactivity. MacWeek, 9 (33).
Tannenbaum, R. S. (1998). Theoretical foundations of multimedia.
New York, New York: Computer Science Press.
Quality of Service (QoS)
The
increased performance of computers has resulted in the expanded use of
multimedia communication and mobile computing. Multimedia communication such as
video conferencing (e.g. desktop conferencing) is subject to system and network
performance. For communication-intensive applications such as this, the quality
of service (QoS) must be guaranteed (Kosuga,
Yamazaki, Ogino, & Matsuda, 1999).
“Multimedia
QoS is typically measured using technical parameters such as end-to-end delay
and jitter” (Ghinea & Thomas,
1998, September 13 - 16). The minimization of end-to-end delay and jitter is
especially important when a multimedia application is distributed to multiple
users. The human element plays a very important role in multimedia QoS, which
is often overlooked (Ghinea &
Thomas, 1998, September 13 - 16). The end-user’s satisfaction with the quality of the
multimedia presentation along with his/her capacity to understand, analyze, and
synthesize the informational content of the presentation is also part of QoS.
Many
companies have developed technologies to improve QoS on networks. Emerging
technologies such as resource reservation protocol (RSVP), IP type of service,
and IEEE 802.1 tags are tools that try to set priorities for the computer and
network resources (Lawson, 1999,
June 14). For example, Microsoft incorporates RSVP to improve
QoS in Windows 2000. However, these are not believed as the only solution to
QoS as they do have their disadvantages.
There
are three new emerging QoS architectures being explored to improve it in
distributed multimedia applications. They are adaptive QoS management
mechanism, Quartz, and OMODIS. Each of these is described next.
In
this architecture scheme, QoS is broken into six subtasks. These subtasks are
then managed by the corresponding agents such as Personal Agent (PA),
Application Agent (AA), Stream Agent (SA), Terminal Resource Agent (TRA),
Network Resource Agent (NRA), and Network Agent (NA) (Kosuga et al., 1999). This layered QoS model uses these multi-agents to
manage resources for distributed multimedia applications.
The
PA is defined at the user level, which manages the user interaction. AA QoS
manages the media stream by each application. This layer is specified by the
application level parameters such as frame rate, frame size, etc. Therefore,
when a user starts a multimedia application, an AA is created that attaches to
that application. The QoS requirements for the application from the user are
translated by the PA and then passed to the AA.
The SA focuses on the
maintenance of QoS. The AA determines the stream QoS using QoS negotiation.
Once this stream is determined, the AA passes the stream to the SA, which in
turns requests the TRA or the NRA to reserve terminal or network resources. The
TRA manages the CPU utilization and memory size. The NRA manages the bandwidth
and node buffer size. Lastly, the NA manages network control (Kosuga et al., 1999).
Quartz
Quartz is a generic architecture that addresses QoS in open systems. Typically, the focus has been on middleware that provides applications with mechanisms for QoS specification and management. However, this typical focus has a strong dependency on a particular computing platform and specific suite of applications (Siqueira & Cahill, 1998). Quartz addresses this limitation.
Quartz
works by “adopting a highly flexible, extensible, component-based
platform-independent design, which allows user transparency from the underlying
system and at the same time is suitable for open distributed systems” (Siqueira & Cahill, 1998). Quartz manages the QoS issues related to the
application while allowing the programmer to concentrate on the functional
aspects of the application.
It is well known that multimedia applications require QoS. However, an area that has been overlooked is the multimedia database systems (MMDBS). The management of QoS between the MMDBS and the middleware has not been handled (Goebel & Plagemann, 1998). One project that focuses on this area is OMODIS.
The OMODIS project is an adaptive distributed multimedia system for Lectures-on-Demand (LoD) which support asynchronous interactive distance learning (IDL). The lecture and other relevant multimedia materials are stored in the MMDBS. Users then connect to the MMDBS for that information. Thus, this project focuses on the QoS support in the LoD system.
The LoD architecture consists of three main areas – browser, MULTE-ORB, and the MMDBS. The browser is used to specify the user’s QoS requirements such as video quality, audio quality, etc. The user interaction via the browser and the browser capabilities determine the target range of QoS.
The MULTE-ORB transports this target range from the browser to the MMDBS. The MULTE-ORB is a highly flexible multimedia ORB that transports QoS specifications. The MMDBS, which includes the stored lectures and other multimedia materials, receive the query from the user. Then the MMDBS requests the MULTE-ORB to establish a binding with the appropriate QoS support (Goebel & Plagemann, 1998).
Conclusion
As detailed above, these are only three alternatives in developing a methodology for QoS in distributed multimedia applications. Much work has been done in the area of QoS. However, the mechanisms for prioritizing traffic and resources across all platforms are still in their infancy.
References:
Ghinea, G., & Thomas, J.
(1998, September 13 - 16). QoS impact on
user perception and understanding of multimedia video clips. Paper
presented at the Proceedings of the 6th ACM international conference on
Multimedia, Bristol, United Kingdom.
Goebel, V., & Plagemann,
T. (1998). Mapping user-level QoS to
system-level QoS and resources in a distributed lecture-on-demand system.
Paper presented at the Proceedings of the The Seventh IEEE Workshop on Future
Trends of Distributed Computing Systems.
Kosuga, M., Yamazaki, T.,
Ogino, N., & Matsuda, J. (1999). Adaptive
QoS management using layered multi-agent system for distributed multimedia
applications. Paper presented at the Proceedings of the 1999 International
Conference on Parallel Processing.
Lawson, S. (1999, June 14).
Better QoS on the horizon. Info World
[Online]. Available: http://www.britannica.com [2000, March 26].
Siqueira, F., & Cahill,
V. (1998). Delivering QoS in open
distributed systems. Paper presented at the Proceedings of the The Seventh
IEEE Workshop on Future Trends of Distributed Computing Systems.