Beruflich Dokumente
Kultur Dokumente
Multimedia Systems
Module No: CMP632
c David Marshall 19992004
JJ
II
J
I
Back
Close
Tutorials
Labs Multimedia Lab
Assessment:
Exam 70%
Coursework 30%
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Aims of Module
Broad grounding in issue surrounding multimedia,
role of multimedia Systems
design of multimedia Systems
JJ
II
J
I
Back
Close
Objectives of Course
Understand the relevance and underlying infrastructure of
the multimedia systems.
Understand core multimedia technologies and standards
(Digital Audio, Graphics, Video,
data transmission/compression)
Be aware of factors involved in multimedia systems
performance, integration and evaluation
JJ
II
J
I
Back
Close
Syllabus Outline
Topics in the module include the following:
Introduction: Multimedia applications and requirements (e.g.,
overview of multimedia systems, video-on-demand, interactive
television, video conferencing, hypermedia courseware,
groupware, World Wide Web, and digital libraries).
JJ
II
J
I
Back
Close
Managing Multimedia:
Project Management for Interactive Media
(2nd Edition)
Elaine England and Andy Finney,
Addison Wesley, 1998
(ISBN 0-201-36058-6)
JJ
II
J
I
Back
Close
Fundamentals of Multimedia
Mark S. Drew, Li Ze-Nian
Prentice Hall, 2003
(ISBN: 0130618721)
JJ
II
J
I
Back
Close
Multimedia Communications:
JJ
II
J
I
Back
Close
10
JJ
II
J
I
Back
Close
11
8
and
Lingo
(Inside
Macromedia), Scott Wilson, Delmar
(ISBN: 0766820084)
JJ
II
J
I
Back
Close
12
JJ
II
J
I
Back
Close
Digital Audio
A programmers Guide to Sound, T. Kientzle, Addison Wesley,
1997 (ISBN 0-201-41972-6)
Audio on the Web The official IUMA Guide, Patterson and
Melcher, Peachpit Press.
13
JJ
II
J
I
Back
Close
Digital Imaging/Graphics/Video
Digital video processing, A.M. Tekalp, Prentice Hall PTR,
1995.
Encyclopedia of Graphics File Formats, Second Edition by
James D. Murray and William vanRyper, 1996, OReilly &
Associates.
14
JJ
II
J
I
Back
Close
Data Compression
The Data Compression Book, Mark Nelson,M&T Books, 1995.
Introduction to Data Compression, Khalid Sayood, Morgan
Kaufmann, 1996.
G.K. Wallace, The JPEG Still Picture Compression Standard
15
Introduction to Multimedia
16
What is Multimedia?
JJ
II
J
I
Back
Close
Introduction to Multimedia
What is Multimedia?
17
JJ
II
J
I
Back
Close
General Definition
A good general definition is:
Multimedia is the field concerned with the computer-controlled
integration of text, graphics, drawings, still and moving images
(Video), animation, audio, and any other media where every
type of information can be represented, stored, transmitted and
processed digitally.
18
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
21
JJ
II
J
I
Back
Close
Hypermedia
HyperMedia is not constrained to be text-based. It can include
other media, e.g., graphics, images, and especially the
continuous media sound and video.
22
JJ
II
J
I
Back
Close
23
JJ
II
J
I
Back
Close
Adobe Acrobat
Macromedia Director
Many Others?
JJ
II
J
I
Back
Close
Multimedia Systems
A Multimedia System is a system capable of processing
multimedia data and applications.
25
JJ
II
J
I
Back
Close
26
JJ
II
J
I
Back
Close
27
Ever tried watching an out of (lip) sync film for a long time?
JJ
II
J
I
Back
Close
28
29
JJ
II
J
I
Back
Close
Efficient and High I/O input and output to the file subsystem
needs to be efficient and fast. Needs to allow for real-time
recording as well as playback of data. e.g. Direct to Disk
recording systems.
Special Operating System to allow access to file system and
process data efficiently and quickly. Needs to support direct
transfers to disk, real-time scheduling, fast interrupt processing,
I/O streaming etc.
30
JJ
II
J
I
Back
Close
31
JJ
II
J
I
Back
Close
Applications
Examples of Multimedia Applications include:
World Wide Web
Hypermedia courseware
32
Video conferencing
Video-on-demand
Interactive TV
Groupware
Home shopping
Games
Virtual reality
Digital video editing and production systems
Multimedia Database systems
JJ
II
J
I
Back
Close
Trends in Multimedia
Current big applications areas in Multimedia include:
World Wide Web Hypermedia systems embrace nearly
all multimedia technologies and application areas.
33
34
Format: Raw text or formatted text e.g HTML, Rich Text Format
(RTF), Word or a program language source (C, Pascal, etc..
JJ
II
J
I
Back
Close
Graphics
Format: constructed by the composition of primitive objects
such as lines, polygons, circles, curves and arcs.
Input: Graphics are usually generated by a graphics editor
program (e.g. Freehand) or automatically by a program (e.g.
Postscript).
35
JJ
II
J
I
Back
Close
Images
Still pictures which (uncompressed) are represented as a
bitmap (a grid of pixels).
Input: Generated by programs similar to graphics or animation
programs.
36
JJ
II
J
I
Back
Close
Audio
Audio signals are continuous analog signals.
Input: microphones and then digitised and stored
usually compressed.
37
JJ
II
J
I
Back
Close
Video
Input: Analog Video is usually captured by a video camera
and then digitised.
There are a variety of video (analog and digital) formats
38
JJ
II
J
I
Back
Close
Output Devices
The output devices for a basic multimedia system include
A High Resolution Colour Monitor
CD Quality Audio Output
39
Colour Printer
Video Output to save Multimedia presentations to (Analog)
Video Tape, CD-ROM DVD.
Audio Recorder (DAT, DVD, CD-ROM, (Analog) Cassette)
Storage Medium (Hard Disk, Removable Drives, CD-ROM)
JJ
II
J
I
Back
Close
Multimedia Authoring:
Systems and Applications
40
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Authoring Vs Programming
Big distinction between Programming and Authoring.
Authoring
assembly of Multimedia
42
JJ
II
J
I
Back
Close
Scripting Language
closest in form to traditional programming. The paradigm
is that of a programming language, which specifies (by
filename)
multimedia elements,
sequencing,
hotspots,
synchronization, etc.
44
JJ
II
J
I
Back
Close
Examples
The Apples HyperTalk for HyperCard,
Assymetrixs OpenScript for ToolBook and
Lingo scripting language of Macromedia Director
45
Iconic/Flow Control
tends to be the speediest in development time
best suited for rapid prototyping and short-development
time projects.
The core of the paradigm is the Icon Palette, contains:
46
JJ
II
J
I
Back
Close
Frame
similar to the Iconic/Flow Control paradigm
usually incorporates an icon palette
the links drawn between icons are conceptual
do not always represent the actual flow of the program.
47
Examples
Quest (whose scripting language is C)
Apple Media Kit.
JJ
II
J
I
Back
Close
48
JJ
II
J
I
Back
Close
Card/Scripting
paradigm provides a great deal of power
(via the incorporated scripting language)
suffers from the index-card structure.
Well suited for Hypertext applications, and especially
suited for navigation intensive (e.g. Cyans MYST game)
applications.
49
JJ
II
J
I
Back
Close
Cast/Score/Scripting
uses a music score as its primary authoring metaphor
synchronous elements are shown in various horizontal
tracks
simultaneity shown via the vertical columns.
50
JJ
II
J
I
Back
Close
Hierarchical Object
paradigm uses a object metaphor (like OOP)
visually represented by embedded objects and iconic
properties.
learning curve is non-trivial,
51
JJ
II
J
I
Back
Close
52
JJ
II
J
I
Back
Close
53
JJ
II
J
I
Back
Close
54
JJ
II
J
I
Back
Close
Hypermedia Linkage
similar to the Frame paradigm
shows conceptual links between elements
lacks the Frame paradigms visual linkage metaphor.
55
JJ
II
J
I
Back
Close
Tagging
tags in text files to
link pages,
provide interactivity and
integrate multimedia elements.
56
Examples:
SGML/HTML,
SMIL (Synchronised Media Integration Language),
VRML,
3DML and
WinHelp
JJ
II
J
I
Back
Close
57
Technical Design
JJ
II
J
I
Back
Close
Content Design
Content design deals with:
What to say, what vehicle to use.
In multimedia, there are five ways to format and deliver your
message.
You can
58
write it,
illustrate it,
wiggle it,
hear it, and
interact with it.
JJ
II
J
I
Back
Close
Scripting (writing)
59
JJ
II
J
I
Back
Close
Graphics (illustrating)
Graphics Styles
fonts
colors
pastels
earth-colors
metallic
primary color
neon color
JJ
II
J
I
Back
Close
Animation (wiggling)
Types of Animation
61
JJ
II
J
I
Back
Close
2. When to Animate
Enhance emotional impact
Make a point (instructional)
Improve information delivery
62
JJ
II
J
I
Back
Close
Audio (hearing)
JJ
II
J
I
Back
Close
Interactivity (interacting)
JJ
II
J
I
Back
Close
65
Technical Design
Technological factors may limit the ambition of your multimedia
presentation.
Studied Later in detail.
66
JJ
II
J
I
Back
Close
Storyboarding
The concept of storyboarding has been by animators and their
like for many years.
67
JJ
II
J
I
Back
Close
Storyboarding
used to help plan the general
organisation
used to help plan the content
of a presentation by recording
68
JJ
II
J
I
Back
Close
Storyboard Examples
DVD Example
Storyboarding Explained
Acting With a Pencil
69
JJ
II
J
I
Back
Close
70
JJ
II
J
I
Back
Close
71
JJ
II
J
I
Many Public domain audio editing tools also exist.
Back
Close
72
JJ
II
J
I
Back
Close
Cubase
A better software than Cakewalk Express
Intuitive Interface to arrange and play Music (Figs 9 and 10)
Wide Variety of editing tools including Audio (Figs 11 and 12
73
Score Editing
JJ
II
J
I
Back
Close
74
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
76
JJ
II
J
I
Back
Close
77
JJ
II
J
I
Back
Close
Logic Audio
Cubase Competitor, similar functionality
Marc of the Unicorn Performer
Cubase/Logic Audio Competitor, similar functionality
78
JJ
II
J
I
Back
Close
79
JJ
II
J
I
Back
Close
Image/Graphics Editing
Adobe Photoshop
Allows layers of images, graphics and text
Includes many graphics drawing and painting tools
80
JJ
II
J
I
Back
Close
Image/Video Editing
Many commercial packages available
Adobe Premier
Videoshop
81
Avid Cinema
SGI MovieMaker
JJ
II
J
I
Back
Close
Animation
Many packages available including:
Avid SoftImage
Animated Gif building packages e.g. GifBuilder
82
JJ
II
J
I
Back
Close
Multimedia Authoring
Tools for making a complete multimedia presentation where
users usually have a lot of interactive controls.
Macromedia Director
Movie metaphor (the cast includes bitmapped sprites, scripts,
music, sounds, and palettes, etc.)
83
JJ
II
J
I
Back
Close
Authorware
Professional multimedia authoring tool
Supports interactive applications with hyperlinks,
drag-and-drop controls, and integrated animation
Compatibility between files produced from PC version and
MAC version
84
JJ
II
J
I
Back
Close
Multimedia Authoring:
Scripting (Lingo)
85
Cast/Score/Scripting paradigm.
This section is a very brief introduction to Director.
For further Information, You should consult:
Macromedia Director Using Director Manual In Library
Macromedia Director : Lingo Dictionary Manual In Library
Macromedia Director: Application Help Select Help from within the Director
http://www.macromedia.com
JJ
II
J
I
Back
Close
Press
(ISBN:
86
JJ
II
J
I
Back
Close
87
JJ
II
J
I
Back
Close
Director Overview/Definitions
movies Basic Director Commodity:
interactive multimedia pieces that can include
animation,
sound,
88
text,
digital video,
and many other types of media.
link to external media
A movie can be as small and simple as an animated logo or
as complex as an online chat room or game.
Frames Director divides lengths of time into a series of frames,
cf. celluloid movie.
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
90
JJ
II
J
I
Back
Close
91
JJ
II
J
I
Back
Close
and
the Control Panel Controls how the movie plays back.
92
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
94
95
JJ
II
J
I
Back
Close
96
Functions terms that return a value. For example, the date function
returns the current date set in the computer. The key function
returns the key that was pressed last. Parentheses occur at the
end of a function,
Keywords reserved words that have a special meaning.
For example, end indicates the end of a handler,
JJ
II
J
I
Back
Close
97
JJ
II
J
I
Back
Close
98
strings,
constants,
integers, and
floating-point numbers.
Standard Program structure syntax
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
102
JJ
II
J
I
Back
Close
(Shortcut = Command+Shift+V)
Click the filled ellipse button.
103
JJ
II
J
I
Back
Close
104
Double click the new cast, which opens it in the Vector Shape
Tool.
Change the Cycles to 3 and the Spread to 200.
Name the latest ellipse to bouncing ball
JJ
II
J
I
Back
Close
105
frame 40.
Click anywhere in the middle of
JJ
II
J
I
Back
Close
(Shortcut =
Command+Option+K)
and 30.
at
106
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
108
JJ
II
J
I
Back
Close
109
Open example1.dir
Open Property Inspector for Sprite
Click on the keyframes in the score, and
Change the Blend Transparency to 100, 75, 50, 25, 0 for the
consecutive keyframes.
Rewind and play the movie.
Save as example4.dir
JJ
II
J
I
Back
Close
110
JJ
II
J
I
Back
Close
111
JJ
II
J
I
Back
Close
112
JJ
II
J
I
Back
Close
113
exist on disk.
Choose File > Import
Select items you wish to import by
added
Set looping on and play
JJ
II
J
I
Back
Close
114
press
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
117
JJ
II
J
I
Back
Close
118
on mouseUp
beep
alert "Button Pressed"
end
Close the window.
Play the movie and click the
button.
JJ
II
J
I
Back
Close
119
JJ
II
J
I
Back
Close
120
JJ
II
J
I
Back
Close
Looping
Note we have created a special frame
121
Pressing
JJ
II
J
I
Back
Close
122
In this example:
Markers are at frame 1,
Note:
The
go to next
command tells Director to
go to the next consecutive
marker in the score.
JJ
II
J
I
Back
Close
123
Sprite Scripts
Now We will create some sprite scripts:
Sometimes a button will
behave one way in one part of the movie and
124
JJ
II
J
I
Back
Close
125
JJ
II
J
I
Back
Close
126
JJ
II
J
I
Back
Close
Behaviour Scripts
Example Here: Another way to write the sprite script on last
slide - using the Behaviour Inspector.
127
JJ
II
J
I
Back
Close
128
JJ
II
J
I
Back
Close
can:
129
JJ
II
J
I
Back
Close
a Sprite script.
Sprite scripts take priority over cast member scripts
So Here cast member script will be ignored.
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
A problem in Director?
In Director: a script can only be associated with a complete
Object
For the way we have created the Recorder Interface we require
(and this is clearly a common requirement in many other cases):
132
133
JJ
II
J
I
Back
Close
134
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
What it is SMIL?
SMIL is to synchronized multimedia what
HTML is to hyperlinked text.
Pronounced smile
137
JJ
II
J
I
Back
Close
SMIL :
A simple,
Vendor-neutral
Markup language
138
Designed to:
For all skill levels of WWW authors
Schedule audio, video, text, and graphics files across a
timeline
No need to master development tools or complex
programming languages.
HTML-like need a text editor only
Links to media medie not embedded in SMIL file
JJ
II
J
I
Back
Close
Drawbacks of SMIL?
Good Points:
A powerful tool for creating synchronized multimedia
presentations on the web
139
JJ
II
J
I
Back
Close
SMIL support
140
JJ
II
J
I
Back
Close
141
142
JJ
II
J
I
Back
Close
Using Quicktime
JJ
II
J
I
Back
Close
Using RealPlayer G2
The RealPlayer G2 is installed on the applications HD in the
RealPlayer folder.
Real player supports lots of file format and can use plugins.
The main supported formats are:
144
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Applet.
SOJA is an applet that render SMIL in a web page or in a
separate window. It supports the following formats:
Images: GIF, JPEG
146
JJ
II
J
I
Back
Close
Running SOJA
To run SMIL through an applet you have to
call the applet from an HTML file:
<APPLET CODE="org.helio.soja.SojaApplet.class"
ARCHIVE="soja.jar" CODEBASE="../"
WIDTH="600" HEIGHT="300">
<PARAM NAME="source" VALUE="cardiff_eg.smil">
<PARAM NAME="bgcolor" VALUE="#000066">
</APPLET>
147
You may need to alter the CODEBASE attribute for your own
applications
JJ
II
J
I
Back
Close
RUNNING APPLETS
This should be easy to do
Run the html file through a java enabled browser
Use Apple Applet Runner
uses MAC OS Runtime Java (Java 1.2)
148
149
JJ
II
J
I
Back
Close
Basic Layout
follows:
<smil>
<head>
<meta name="copyright"
content="Your Name" />
<layout>
<!-- layout tags -->
</layout>
</head>
<body>
<!-- media and synchronization tags -->
</body>
</smil>
150
JJ
II
J
I
Back
Close
151
JJ
II
J
I
Back
Close
152
JJ
II
J
I
Back
Close
153
<smil>
<head>
<layout>
<!-- layout tags -->
</layout>
......
154
JJ
II
J
I
Back
Close
Window settings
You can set width and height for the window in which your
presentation will be rendered with <root-layout>.
The following source will create a window with a 300x200
pixels dimension and also sets the background to be white.
155
<layout>
<root-layout width="300" height="200"
background-color="white" />
</layout>
JJ
II
J
I
Back
Close
Positioning Media
156
JJ
II
J
I
Back
Close
157
JJ
II
J
I
Back
Close
158
JJ
II
J
I
Back
Close
<head>
<layout>
<root-layout width="600" height="300"
background-color="white" />
<region id="cardiff_icon"
left="30" top="25"
width="533" height="250" />
</layout>
</head>
<body>
<img src="cardiff.gif"
alt="The Cardiff icon"
region="cardiff_icon" />
</body>
JJ
II
J
I
Back
Close
160
JJ
II
J
I
Back
Close
161
JJ
II
J
I
Back
Close
Overlaying Regions
We have just seen how to position a media along x and y axes
(left and top).
What if two regions overlap ?
Which one should be displayed on top ?
162
JJ
II
J
I
Back
Close
163
JJ
II
J
I
Back
Close
164
JJ
II
J
I
Back
Close
165
JJ
II
J
I
Back
Close
166
.....
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
168
JJ
II
J
I
Back
Close
169
JJ
II
J
I
Back
Close
170
JJ
II
J
I
Back
Close
171
This will display an image and play some music along with it.
JJ
II
J
I
Back
Close
172
JJ
II
J
I
Back
Close
173
JJ
II
J
I
Back
Close
174
JJ
II
J
I
Back
Close
175
JJ
II
J
I
Back
Close
176
JJ
II
J
I
Back
Close
177
<smil>
<head>
<layout>
<root-layout height="400" width="600" background-color="#000000"
title="Slides and Sound"/>
</layout>
</head>
<body>
<seq>
<par>
<audio src="audio/leconlec.rm" dur="24s" title="slide 1"/>
<img src="slides/img001.GIF" dur="24s"/>
</par>
178
<par>
<audio src="audio/leconlec.rm" clip-begin="24s" clip-end="51s" dur="27s"
title="slide 2"/>
<img src="slides/img002.GIF" dur="27s"/>
</par>
............
<par>
<audio src="audio/leconlec.rm" clip-begin="610s"
clip-end="634s" dur="24s" title="The Second Reason"/>
<img src="slides/img018.GIF" clip-begin="610s"
clip-end="634s" dur="24s" title="The Second Reason"/>
</par>
<par>
<audio src="audio/leconlec.rm" clip-begin="634s" clip-end="673s" dur="39s"
title="Slide 19"/>
<img src="slides/img019.GIF" clip-begin="634s" clip-end="673s" dur="39s"
title="Slide 19"/>
</par>
<img src="slides/img006.GIF" fill="freeze" title="And finally..."
author="Abbas Mavani (dis80047@port.ac.uk)"
JJ
II
J
I
Back
Close
179
JJ
II
J
I
Back
Close
SMIL Events
JJ
II
J
I
Back
Close
181
JJ
II
J
I
Back
Close
For example:
<body>
<par>
<img src="cardiff.gif" region="cardiff"
id="cf" begin="4s" />
182
JJ
II
J
I
Back
Close
183
JJ
II
J
I
Back
Close
184
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
186
JJ
II
J
I
Back
Close
Synchronisation
A majority of this data is large and the different media may
need synchronisation:
187
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
190
JJ
II
J
I
Back
Close
191
JJ
II
J
I
Back
Close
192
JJ
II
J
I
Back
Close
Graphics
Format: constructed by the composition of primitive objects
such as lines, polygons, circles, curves and arcs.
Input: Graphics are usually generated by a graphics editor
program (e.g. Freehand) or automatically by a program (e.g.
Postscript).
193
JJ
II
J
I
Back
Close
Images
Still pictures which (uncompressed) are represented as a
bitmap (a grid of pixels).
Input: Generated by programs similar to graphics or
animation programs.
194
JJ
II
J
I
Back
Close
Audio
Audio signals are continuous analog signals.
Input: microphones and then digitised and stored
usually compressed.
195
JJ
II
J
I
Back
Close
Video
Input: Analog Video is usually captured by a video camera
and then digitised.
There are a variety of video (analog and digital) formats
196
JJ
II
J
I
Back
Close
Output Devices
The output devices for a basic multimedia system include
A High Resolution Colour Monitor
CD Quality Audio Output
197
Colour Printer
Video Output to save Multimedia presentations to (Analog)
Video Tape, CD-ROM DVD.
Audio Recorder (DAT, DVD, CD-ROM, (Analog) Cassette)
Storage Medium (Hard Disk, Removable Drives, CD-ROM)
JJ
II
J
I
Back
Close
Storage Media
The major problems that affect storage media are:
Large volume of date
Real time delivery
198
Data format
Storage Medium
Retrieval mechanisms
JJ
II
J
I
Back
Close
199
JJ
II
J
I
Back
Close
Data Storage
Depends of the storage hardware and
The nature of the data.
The following storage parameters affect how data is stored:
Storage Capacity
Read and Write Operations of hardware
Unit of transfer of Read and Write
Physical organisation of storage units
Read/Write heads, Cylinders per disk,
Tracks per cylinder, Sectors per Track
Read time
Seek time
200
JJ
II
J
I
Back
Close
Data Transfer
Depend how data generated and
written to disk, and
in what sequence it needs to retrieved.
Writing/Generation of Multimedia data is usually
sequential e.g. streaming digital audio/video direct to disk.
201
JJ
II
J
I
Back
Close
202
JJ
II
J
I
Back
Close
Basic Storage
Basic storage units have problems dealing with large multimedia
data
203
JJ
II
J
I
Back
Close
Removable Media
Floppies not adequate
Jaz/Zip Drives,
CD-ROM,
DVD-ROM.
204
JJ
II
J
I
Back
Close
Needed:
To fulfill the needs of current multimedia and other data
hungry application programs,
Fault tolerance built into the storage device.
205
JJ
II
J
I
Back
Close
206
Disk arrays:
store large amounts of data,
have high I/O rates and
take less power per megabyte (cf. high end disks)
but they have very poor reliability
As more devices are added, reliability deteriorates
N devices generally have
device
1
N
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
208
JJ
II
J
I
Back
Close
RAID Architecture
Each disk within the array needs to have its own I/O controller,
but interaction with a host computer may be mediated through
an array controller
209
Disk
Controller
Host
Processor
Host
Adaptor
Disk
Controller
Array
Controller
Disk
Controller
Disk
Controller
JJ
II
J
I
Back
Close
Orthogonal RAID
Possible to combine the
disks together to produce a
collection of devices, where
Each vertical array is now
the unit of data
redundancy.
210
Such an arrangement
is called an orthogonal
RAID
Other arrangements of
disks are also possible.
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Simultaneous reads
on every drive
Simultaneous reads
on every drive
RAID 1
Data
Duplication on
drive pairs
RAID 2
Each
write
spans
all
drives
Each
read
spans
all drives
Simultaneous
Writes on
every drive
212
Simultaneous reads
on every drive
Read and
Write
Span
All
drives
Parallel
Access
Parity
Simultaneous reads
on every drive
Parity
RAID 3
Every
Write must update
a dedicated parity drive
RAID 5
JJ
II
J
I
Back
Close
Optical Storage
213
JJ
II
J
I
Back
Close
CD Storage
214
Photo CD
The capacity of a CD-ROM is
620-700 Mbs depending on CD material,
650/700 Mb (74/80 Mins) is a typical write once CD-ROM
size.
Drives that read and write CD-ROMS (CD-RW) also similar.
JJ
II
J
I
Back
Close
CD Standards
There are several CD standard for different types of media:
Red Book Digital Audio: Most Music CDs.
215
DVD
The current best generation of optical disc storage technology
for Multimedia:
DVD Digital Versatile Disc (formal),
Digital Video Disc (mistaken).
216
JJ
II
J
I
Back
Close
217
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
219
JJ
II
J
I
Back
Close
pit
220
length
JJ
II
J
I
Back
Close
efficient channel
modulation (1.06x),
bit
221
JJ
II
J
I
Back
Close
222
Digital Audio
Graphics/Image Formats
Digital Video (Next Lecture)
Sampling/Digitisation
Compression
JJ
II
J
I
Back
Close
Digital Audio
Music Production
Hard Disk Recording
Sound Synthesis
Samplers
Effects Processing
Video Audio Important Element: Music and Effects
Web Many uses on Web
Spice up Web Pages
Listen to Cds
Listen to Web Radio
JJ
II
J
I
Back
Close
What is Sound?
224
JJ
II
J
I
Back
Close
Digitising Sound
225
JJ
II
J
I
Back
Close
Digital Sampling
Sampling basically involves:
measuring the analog signal at regular discrete intervals
recording the value at these points
226
JJ
II
J
I
Back
Close
227
Cross-Fading
Looping
Echo/Reverb/Delay
Filtering
Signal Analysis
JJ
II
J
I
Back
Close
Sound Demos
Volume
Cross-Fading
228
Looping
Echo/Reverb/Delay
Filtering
JJ
II
J
I
Back
Close
229
JJ
II
J
I
Back
Close
Nyquists Theorem:
The Sampling frequency for a signal must be at least twice
the highest frequency component in the signal.
JJ
II
J
I
Back
Close
231
JJ
II
J
I
Back
Close
232
JJ
II
J
I
Back
Close
233
JJ
II
J
I
Back
Close
234
JJ
II
J
I
Back
Close
235
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
239
JJ
II
J
I
Back
Close
240
241
Compress Files:
Could affect live transmission on Web
JJ
II
J
I
Back
Close
Streaming Audio
Buffered Data:
Trick get data to destination before its needed
Temporarily store in memory (Buffer)
242
243
JJ
II
J
I
Back
Close
MIDI
What is MIDI?
244
245
JJ
II
J
I
Back
Close
Definition of MIDI:
A protocol that enables computer, synthesizers, keyboards,
and other musical device to communicate with each other.
246
JJ
II
J
I
Back
Close
247
JJ
II
J
I
Back
Close
248
Channel:
MIDI channels are used to separate information in a MIDI
system.
There are 16 MIDI channels in one cable.
Channel numbers are coded into each MIDI message.
Timbre:
The quality of the sound, e.g., flute sound, cello sound, etc.
Multitimbral capable of playing many different sounds at
the same time (e.g., piano, brass, drums, etc.)
JJ
II
J
I
Back
Close
249
JJ
II
J
I
Back
Close
250
MIDI
THROUGH:
the
connector by which the device
echoes the data receives from
MIDI IN.
MIDI
JJ
II
J
I
Back
Close
MIDI Messages
MIDI messages are used by MIDI devices to communicate
with each other.
251
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
-- voice messages
--- channel messages ---|
|
-|
MIDI messages ----|
|
---- system messages ---|---
253
mode messages
common messages
real-time messages
exclusive messages
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Voice Message
Status Byte
----------------------Note off
8x
Note on
9x
Polyphonic Key Pressure
Ax
Control Change
Bx
Program Change
Cx
Channel Pressure
Dx
Pitch Bend
Ex
Data Byte1
----------------Key number
Key number
Key number
Controller number
Program number
Pressure value
MSB
Data Byte2
----------------Note Off velocity
Note on velocity
Amount of pressure
Controller value
None
None
LSB
255
JJ
II
J
I
Back
Close
256
50
7F
JJ
II
J
I
Back
Close
257
System Messages:
JJ
II
J
I
Back
Close
Status Byte
----------F8
FA
FB
FC
FE
FF
JJ
II
J
I
Back
Close
Status Byte
----------F1
F2
F3
F6
JJ
II
J
I
Back
Close
261
JJ
II
J
I
Back
Close
262
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Prog No.
Instrument
----------------------------------(9-16
CHROM PERCUSSION)
9
Celesta
10
Glockenspiel
11
Music Box
12
Vibraphone
13
Marimba
14
Xylophone
15
Tubular Bells
16
Dulcimer
ORGAN)
Drawbar Organ
Percussive Organ
Rock Organ
Church Organ
Reed Organ
Accoridan
Harmonica
Tango Accordian
25
26
27
28
29
30
31
32
(25-32
GUITAR)
Acoustic Guitar(nylon)
Acoustic Guitar(steel)
Electric Guitar(jazz)
Electric Guitar(clean)
Electric Guitar(muted)
Overdriven Guitar
Distortion Guitar
Guitar Harmonics
BASS)
Acoustic Bass
Electric Bass(finger)
Electric Bass(pick)
Fretless Bass
Slap Bass 1
Slap Bass 2
Synth Bass 1
Synth Bass 2
41
42
43
44
45
46
47
48
(41-48
STRINGS)
Violin
Viola
Cello
Contrabass
Tremolo Strings
Pizzicato Strings
Orchestral Strings
Timpani
264
JJ
II
J
I
Back
Close
(49-56
ENSEMBLE)
String Ensemble 1
String Ensemble 2
SynthStrings 1
SynthStrings 2
Choir Aahs
Voice Oohs
Synth Voice
Orchestra Hit
(65-72
REED)
65
Soprano Sax
66
Alto Sax
67
Tenor Sax
68
Baritone Sax
69
Oboe
70
English Horn
71
Bassoon
72
Clarinet
49
50
51
52
53
54
55
56
(81-88
81
82
83
84
85
86
87
88
SYNTH LEAD)
Lead 1 (square)
Lead 2 (sawtooth)
Lead 3 (calliope)
Lead 4 (chiff)
Lead 5 (charang)
Lead 6 (voice)
Lead 7 (fifths)
Lead 8 (bass+lead)
73
74
75
76
77
78
79
80
(57-64
BRASS)
Trumpet
Trombone
Tuba
Muted Trumpet
French Horn
Brass Section
SynthBrass 1
SynthBrass 2
(73-80
PIPE)
Piccolo
Flute
Recorder
Pan Flute
Blown Bottle
Skakuhachi
Whistle
Ocarina
89
90
91
92
93
94
95
96
(89-96
Pad
Pad
Pad
Pad
Pad
Pad
Pad
Pad
57
58
59
60
61
62
63
64
1
2
3
4
5
6
7
8
SYNTH PAD)
(new age)
(warm)
(polysynth)
(choir)
(bowed)
(metallic)
(halo)
(sweep)
265
JJ
II
J
I
Back
Close
(97-104
97
98
99
100
101
102
103
104
113
114
115
116
117
118
119
120
SYNTH EFFECTS)
FX 1 (rain)
FX 2 (soundtrack)
FX 3 (crystal)
FX 4 (atmosphere)
FX 5 (brightness)
FX 6 (goblins)
FX 7 (echoes)
FX 8 (sci-fi)
(113-120
PERCUSSIVE)
Tinkle Bell
Agogo
Steel Drums
Woodblock
Taiko Drum
Melodic Tom
Synth Drum
Reverse Cymbal
105
106
107
108
109
110
111
112
(105-112 ETHNIC)
Sitar
Banjo
Shamisen
Koto
Kalimba
Bagpipe
Fiddle
Shanai
121
122
123
124
125
126
127
128
266
JJ
II
J
I
Back
Close
Drum Sound
---------Acoustic Bass Drum
Bass Drum 1
Side Stick
Acoustic Snare
Hand Clap
Electric Snare
Low Floor Tom
Closed Hi-Hat
High Floor Tom
Pedal Hi-Hat
Low Tom
Open Hi-Hat
Low-Mid Tom
Hi-Mid Tom
Crash Cymbal 1
High Tom
Ride Cymbal 1
Chinese Cymbal
Ride Bell
Tambourine
Splash Cymbal
Cowbell
Crash Cymbal 2
Vibraslap
MIDI Key
---------59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Drum Sound
---------Ride Cymbal 2
Hi Bongo
Low Bongo
Mute Hi Conga
Open Hi Conga
Low Conga
High Timbale
Low Timbale
High Agogo
Low Agogo
Cabasa
Maracas
Short Whistle
Long Whistle
Short Guiro
Long Guiro
Claves
Hi Wood Block
Low Wood Block
Mute Cuica
Open Cuica
Mute Triangle
Open Triangle
267
JJ
II
J
I
Back
Close
268
JJ
II
J
I
Back
Close
269
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
271
JJ
II
J
I
Back
Close
Pronounced sail
The central part of the Structured Audio toolset.
272
FM synthesis,
physical-modeling synthesis,
sampling synthesis,
granular synthesis,
subtractive synthesis,
FOF synthesis, and
hybrids of all of these in SAOL.
JJ
II
J
I
Back
Close
274
JJ
II
J
I
Back
Close
275
sections,
repeats,
expression evaluation,
some other things.
most SASL scores will be created by automatic tools
JJ
II
J
I
Back
Close
276
JJ
II
J
I
Back
Close
MIDI
Scores in MPEG-4
Reasons to use MIDI:
MIDI is todays most commonly used representation for music
score data,
Many sophisticated authoring tools (such as sequencers)
work with MIDI.
JJ
II
J
I
Back
Close
278
JJ
II
J
I
Back
Close
MPEG-4 Scheduler
The main body of the Structured Audio definition.
A set of carefully defined and somewhat complicated
instructions
279
JJ
II
J
I
Back
Close
AudioBIFS
280
AudioBIFS (Cont.)
For example,
we can specify how the voice-track is mixed with the
background music, and
that it fades out after 10 seconds and
this other music comes in and has a nice reverb on it.
Extended version of VRML: capabilities for
streaming and
mixing audio and video data
Very advanced sound model.
JJ
II
J
I
Back
Close
AudioBIFS (Cont.)
How a simple sound is created from three elementary sound
streams:
282
JJ
II
J
I
Back
Close
283
JJ
II
J
I
Back
Close
284
JJ
II
J
I
Back
Close
Monochrome/Bit-Map Images
285
JJ
II
J
I
Back
Close
Gray-scale Images
286
JJ
II
J
I
Back
Close
287
JJ
II
J
I
Back
Close
288
JJ
II
J
I
Back
Close
289
JJ
II
J
I
Back
Close
JPEG
A standard for photographic image compression created by
the Joint Photographic Experts Group
Takes advantage of limitations in the human vision system
to achieve high rates of compression
290
JJ
II
J
I
Back
Close
TIFF
Tagged Image File Format (TIFF), stores many different types
of images (e.g., monochrome, greyscale, 8-bit & 24-bit RGB,
etc.) > tagged
Developed by the Aldus Corp. in the 1980s and later
supported by the Microsoft
291
Postscript/Encapsulated Postscript
A typesetting language which includes text as well as
vector/structured graphics and bit-mapped images
Used in several popular graphics programs (Illustrator,
FreeHand)
292
JJ
II
J
I
Back
Close
293
JJ
II
J
I
Back
Close
294
JJ
II
J
I
Back
Close
X-windows: XBM
Primary graphics format for the X Window system
Supports 24-bit colour bitmap
Many public domain graphic editors, e.g., xv
295
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
297
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
E()SR ()d
299
Z
E()SG()d
G=
Z
B=
E()SB ()d
300
301
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
303
JJ
II
J
I
Back
Close
CRT Displays
CRT displays have three phosphors (RGB) which produce a
combination of wavelengths when excited with electrons.
304
JJ
II
J
I
Back
Close
305
306
JJ
II
J
I
Back
Close
Z
E()x()d
X=
Z
E()y()d
Y =
Z
Z=
307
E()z()d
JJ
II
J
I
Back
Close
308
JJ
II
J
I
Back
Close
309
JJ
II
J
I
Back
Close
310
JJ
II
J
I
L, A, B Images
Back
Close
311
Example is shown:
Beside the RGB representation, YIQ and YUV are the two
commonly used in video.
JJ
II
J
I
Back
Close
312
Y
0.299 0.587 0.114
R
I = 0.596 0.275 0.321 G
Q
0.212 0.528 0.311
B
I is red-orange axis, Q is roughly orthogonal to I.
Eye is most sensitive to Y, next to I, next to Q. In NTSC, 4 MHz is
allocated to Y, 1.5 MHz to I, 0.6 MHz to Q.
JJ
II
J
I
Back
Close
313
JJ
II
J
I
Y, I, Q Images
Back
Close
314
Y
0.299 0.587 0.114
R
U = 0.169 0.331 0.500 G
V
0.500 0.419 0.081
B
JJ
II
J
I
Back
Close
315
JJ
II
J
I
Y, I, Q Images
Back
Close
316
JJ
II
J
I
Back
Close
R
1
C
M = 1 G
B
1
Y
R
1
C
G = 1 M
B
1
Y
317
JJ
II
J
I
Back
Close
K
C
M
Y
=
=
=
=
min(C, M, Y ),
C K,
M K,
Y K.
JJ
II
J
I
Back
Close
319
C, M, Y, K images
JJ
II
J
I
Back
Close
Summary of Colour
Colour images are encoded as triplets of values.
Three common systems of encoding in video are RGB, YIQ,
and YCrCb.
320
JJ
II
J
I
Back
Close
Basics of Video
Types of Colour Video Signals
Component video each primary is sent as a separate video
signal.
The primaries can either be RGB or a luminance-chrominance
transformation of them (e.g., YIQ, YUV).
Best colour reproduction
Requires more bandwidth and good synchronization of the
three components
321
JJ
II
J
I
Back
Close
Analog Video
The following figures (Fig. 36 and 37) are from A.M. Tekalp,
Digital video processing, Prentice Hall PTR, 1995.
322
JJ
II
J
I
Back
Close
323
JJ
II
J
I
Back
Close
NTSC Video
525 scan lines per frame, 30 frames per second (or be exact,
29.97 fps, 33.37 msec/frame)
324
Ordinary TV 320
lines
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
326
JJ
II
J
I
Back
Close
PAL Video
625 scan lines per frame, 25 frames per second
(40 msec/frame)
327
JJ
II
J
I
Back
Close
Digital Video
Advantages:
Direct random access > good for nonlinear video editing
No problem for repeated recording
328
JJ
II
J
I
Back
Close
Chroma Subsampling
Chroma subsampling is a method that stores color
information at lower resolution than intensity information.
How to decimate for chrominance?
329
JJ
II
J
I
Back
Close
330
JJ
II
J
I
Back
Close
331
break the image into 2x2 (or 1x2, or 1x4)pixel blocks and
only stores the average color information for each 2x2 (or
1x2, or 1x4) pixel group.
JJ
II
J
I
Back
Close
332
333
JJ
II
J
I
Back
Close
-------------------Luminance resolution
Chrominance resolut.
Colour Subsampling
Fields/sec
Interlacing
CCIR 601
525/60
NTSC
----------720 x 485
360 x 485
4:2:2
60
Yes
CCIR 601
625/50
PAL/SECAM
----------720 x 576
360 x 576
4:2:2
50
Yes
CIF
QCIF
NTSC
----------352 x 240
176 x 120
----------176 x 120
88 x 60
30
No
30
No
334
CCIR 601 uses interlaced scan, so each field only has half as
much vertical resolution (e.g., 243 lines in NTSC).
JJ
II
J
I
Back
Close
335
JJ
II
J
I
Back
Close
Video Format
The video scanning formats supported by the ATSC Digital
Television Standard are shown in the following table.
Vertical Lines Horizontal
Pixels
1080
920
720
1280
480
704
480
640
Aspect Ratio
Picture Rate
16:9
16:9
16:9 and 4:3
4:3
336
JJ
II
J
I
Back
Close
Compression I:
Basic Compression Algorithms
337
JJ
II
J
I
Back
Close
Uncompressed Images
Image Type
512 x 512 Monochrome
512 x 512 8-bit colour image
512 x 512 24-bit colour image
File Size
0.25 Mb
0.25 Mb
0.75 Mb
338
JJ
II
J
I
Back
Close
Video
Can involve: Stream of audio and images
Raw Video Uncompressed Image Frames, 512x512 True
Color PAL 1125 Mb Per Min
DV Video 200-300 Mb per Min (Approx) Compressed
339
JJ
II
J
I
Back
Close
340
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
343
For Example
89400000000000000000000000000000000
we can replace with
894f32
where f is the flag for zero.
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
347
JJ
II
J
I
Back
Close
So:
The code is The Key
Becomes:
& code is & Key
Similar for other codes commonly used words
JJ
II
J
I
Back
Close
Token Assignment
More typically tokens are assigned to according to frequency of
occurrence of patterns:
Count occurrence of tokens
349
JJ
II
J
I
Back
Close
350
JJ
II
J
I
Back
Close
351
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
353
JJ
II
J
I
Back
Close
Count
----15
7
6
6
5
log(1/p)
Code
Subtotal (# of bits)
---------------- ------------------1.38
00
30
2.48
01
14
2.70
10
12
2.70
110
18
2.96
111
15
TOTAL (# of bits): 89
354
Raw token stream 8 bits per (39 chars) token = 312 bits
Coded data stream = 89 bits
JJ
II
J
I
Back
Close
Huffman Coding
Based on the frequency of occurrence of a data item
(pixels or small blocks of pixels in images).
Use a lower number of bits to encode more frequent data
355
JJ
II
J
I
Back
Close
2. Repeat until the OPEN list has only one node left:
(a) From OPEN pick two nodes having the lowest
frequencies/probabilities, create a parent node of them.
(b) Assign the sum of the childrens frequencies/probabilities
to the parent node and insert it into OPEN.
(c) Assign code 0, 1 to the two branches of the tree, and
delete the children from OPEN.
JJ
II
J
I
Back
Close
357
Symbol
-----A
B
C
D
E
Count
----15
7
6
6
5
log(1/p)
Code
Subtotal (# of bits)
---------------- -------------------1.38
0
15
2.48
100
21
2.70
101
18
2.70
110
18
2.96
111
15
TOTAL (# of bits): 87
JJ
II
J
I
Back
Close
The following points are worth noting about the above algorithm:
Decoding for the above two algorithms is trivial as long as
the coding table/book is sent before the data.
There is a bit of an overhead for sending this.
But negligible if the data file is big.
358
Huffman Entropy
In the above example:
359
360
361
JJ
II
J
I
Back
Close
DECODER
-------
Initialize_model();
while ((c = getc (input))
!= eof)
{
encode (c, output);
update_model (c);
}
Initialize_model();
while ((c = decode (input))
!= eof)
{
putc (c, output);
update_model (c);
}
362
JJ
II
J
I
Back
Close
363
JJ
II
J
I
Back
Close
364
JJ
II
J
I
Back
Close
Arithmetic Coding
A widely used entropy coder
Also used in JPEG more soon
Only problem is its speed due possibly complex computations
due to large symbol tables,
365
JJ
II
J
I
Back
Close
366
JJ
II
J
I
Back
Close
Basic Idea
The idea behind arithmetic coding is
To have a probability line, 01, and
Assign to every symbol a range in this line based on its
probability,
367
JJ
II
J
I
Back
Close
BACA
Therefore
A occurs with probability 0.5,
B and C with probabilities 0.25.
JJ
II
J
I
Back
Close
369
Symbol Range
A
[0.0, 0.5)
B
[0.5, 0.75)
C
[0.75, 1.0)
The first symbol in our example stream is B
We now know that the code will be in the range 0.5 to 0.74999 . . ..
JJ
II
J
I
Back
Close
Subdivide the range for the first token given the probabilities
of the second token then the third etc.
JJ
II
J
I
Back
Close
371
Symbol
Range
BA
[0.5, 0.625)
BB
[0.625, 0.6875)
BC
[0.6875, 0.75)
JJ
II
J
I
Back
Close
Third Iteration
We now reapply the subdivision of our scale again to get for
our third symbol
(Range = 0.125, Low = 0.5, High = 0.625):
373
Symbol
Range
BAA
[0.5, 0.5625)
BAB
[0.5625, 0.59375)
BAC
[0.59375, 0.625)
JJ
II
J
I
Back
Close
Fourth Iteration
Subdivide again
(Range = 0.03125, Low = 0.59375, High = 0.625):
374
Symbol
Range
BACA
[0.59375, 0.60937)
BACB [0.609375, 0.6171875)
BACC
[0.6171875, 0.625)
So the (Unique) output code for BACA is any number in the
range:
[0.59375, 0.60937).
JJ
II
J
I
Back
Close
Decoding
To decode is essentially the opposite
We compile the table for the sequence given probabilities.
375
Find the range of number within which the code number lies
and carry on
JJ
II
J
I
Back
Close
376
JJ
II
J
I
Back
Close
377
So in binary we get
0.1 binary = 211 = 1/2 decimal
0.01 binary = 212 = 1/4 decimal
0.11 binary = 211 + 212 = 3/4 decimal
JJ
II
J
I
Back
Close
378
prob(X) = 2/3
prob(Y) = 1/3
If we are only concerned with encoding length 2 messages,
then we can map all possible messages to intervals in the
range [0..1]:
JJ
II
J
I
Back
Close
379
JJ
II
J
I
Back
Close
380
JJ
II
J
I
Back
Close
Implementation Issues
FPU Precision
Resolution of the of the number we represent is limited by
FPU precision
381
382
0/65535 = 0.0
16384/65535 =
32768/65535 =
49152/65535 =
65535/65535 =
0.25
0.5
0.75
1.0
JJ
II
J
I
Back
Close
383
Memory Problems
What about an alphabet with 26 symbols, or 256 symbols, ...?
In general, number of bits is determined by the size of the
interval.
384
JJ
II
J
I
Back
Close
385
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Problems:
Too many bits,
Everyone needs a dictionary,
Only works for English text.
387
Solution:
Find a way to build the dictionary adaptively.
Original methods (LZ) due to Lempel and Ziv in 1977/8.
Terry Welch improved the scheme in 1984,
Patented LZW Algorithm
JJ
II
J
I
Back
Close
character k )
388
}
Original LZW used dictionary with 4K entries, first 256 (0-255)
are ASCII codes.
JJ
II
J
I
Back
Close
Example:
Input string is "WEDWEWEEWEBWET".
w
k
output
index
symbol
----------------------------------------NIL
256
W
W
E
W
257
WE
E
D
E
258
ED
D
D
259
D
W
W
E
256
260
WE
E
E
261
E
W
E
WE
E
260
262
WEE
E
E
W
261
263
EW
W
E
WE
B
257
264
WEB
B
B
265
B
W
W
E
WE
T
260
266
WET
T
EOF
T
A 19-symbol input
has been reduced
to 7-symbol plus
5-code output. Each
code/symbol
will
need more than 8
bits, say 9 bits.
Usually,
compression
doesnt start until
a large number of
bytes (e.g., > 100)
are read in.
389
JJ
II
J
I
Back
Close
390
JJ
II
J
I
Back
Close
Example (continued):
Input string is
"WED<256>E<260><261><257>B<260>T"
w
k
output
index
symbol
---------------------------------------
W
W
256
W
W
E
E
257
WE
E
D
D
258
ED
D
<256>
W
259
D
<256>
E
E
260
WE
E
<260>
WE
261
E
<260> <261>
E
262
WEE
<261> <257>
WE
263
EW
<257>
B
B
264
WEB
B
<260>
WE
265
B
<260>
T
T
266
WET
391
JJ
II
J
I
Back
Close
Problems?
What if we run out of dictionary space?
Solution 1: Keep track of unused entries and use LRU
Solution 2: Monitor compression performance and flush
dictionary when performance is poor.
392
393
394
JJ
II
J
I
Back
Close
Transform Coding
A simple transform coding example
A Simple Transform Encoding procedure maybe described by
the following steps for a 2x2 block of monochrome pixels:
395
1. Take top left pixel as the base value for the block, pixel A.
2. Calculate three other transformed values by taking the
difference between these (respective) pixels and pixel A,
Ii.e. B-A, C-A, D-A.
3. Store the base pixel and the differences as the values of the
transform.
JJ
II
J
I
Back
Close
Simple Transforms
Given the above we can easily form the forward transform:
X0
X1
X2
X3
=
=
=
=
A
BA
C A
DA
396
=
=
=
=
X0
X1 + X0
X2 + X0
X3 + X0
JJ
II
J
I
Back
Close
397
I.e if we use 8 bits per pixel then the 2x2 block uses 32
bits
If we keep 8 bits for the base pixel, X0,
Assign 4 bits for each difference then we only use 20 bits.
Better than an average 5 bits/pixel
JJ
II
J
I
Back
Close
Example
Consider the following 4x4 image block:
120 130
125 120
398
then we get:
X0
X1
X2
X3
=
=
=
=
120
10
5
0
JJ
II
J
I
Back
Close
399
400
JJ
II
J
I
Back
Close
1D Example
Lets consider a 1D (e.g. Audio) example to see what the different
domains mean:
Consider a complicated sound such as the noise of a car
horn. We can describe this sound in two related ways:
401
JJ
II
J
I
Back
Close
An 8 Hz Sine Wave
In the example (next slide):
A signal that consists of a sinusoidal wave at 8 Hz.
8 Hz means that wave is completing 8 cycles in 1 second
402
403
JJ
II
J
I
Back
Close
2D Image Example
Now images are no more complex really:
Brightness along a line can be recorded as a set of values
measured at equally spaced distances apart,
404
JJ
II
J
I
Back
Close
405
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
408
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Fourier Theory
The tool which converts a spatial (real space) description of
an image into one in terms of its frequency components is called
the Fourier transform
410
1D Case
Considering a continuous function f (x) of a single variable x
representing distance.
The Fourier transform of that function is denoted F (u), where
u represents spatial frequency is defined by
Z
F (u) =
f (x)e2ixu dx.
(1)
411
JJ
II
J
I
Back
Close
412
f (x) =
F (u)e2ixu du,
(2)
JJ
II
J
I
Back
Close
413
JJ
II
J
I
Back
Close
1 2iu
(e
e2iu)
2iu
sin 2u
=
.
u
414
(4)
JJ
II
J
I
Back
Close
415
JJ
II
J
I
Back
Close
2D Case
If f (x, y) is a function, for example the brightness in an image,
its Fourier transform is given by
Z Z
f (x, y)e2i(xu+yv) dx dy,
(5)
F (u, v) =
416
f (x, y) =
(6)
JJ
II
J
I
Back
Close
417
JJ
II
J
I
Back
Close
(7)
418
N
1
X
F (u)e2ixu/N .
(8)
x=0
JJ
II
J
I
Back
Close
and
f (x, y) =
1
N
1 M
X
X
(9)
419
(10)
u=0 v=0
JJ
II
J
I
Back
Close
and
420
N 1 N 1
1 XX
f (x, y)e2i(xu+yv)/N ,
F (u, v) =
N x=0 y=0
(11)
N 1 N 1
1 XX
F (u, v)e2i(xu+yv)/N .
f (x, y) =
N u=0 v=0
(12)
JJ
II
J
I
Back
Close
Compression
How do we achieve compression?
Low pass filter ignore high frequency noise components
Only store lower frequency components
421
JJ
II
J
I
Back
Close
422
JJ
II
J
I
Back
Close
423
JJ
II
J
I
Back
Close
1D DCT
For N data items 1D DCT is defined by:
F (u) =
2
N
12 N
1
X
(i).cos
i=0
h .u
2.N
i
(2i + 1) f (i)
424
1
2
for = 0
otherwise
JJ
II
J
I
Back
Close
2D DCT
For a 2D N by M image 2D DCT is defined :
1 1 N 1 M 1
2 2 2 2 X X
(i).(j).
F (u, v) =
N
M
i=0 j=0
h .u
i
h .v
i
cos
(2i + 1) cos
(2j + 1) .f (i, j)
2.N
2.M
425
where
(
() =
1
2
for = 0
otherwise
JJ
II
J
I
Back
Close
426
JJ
II
J
I
Back
Close
i
h .u
1X
(2i + 1) .
F (u, v) =
(i).(j).cos
4 i,j
16
h .u
i
cos
(2i + 1) f (i, j)
16
where
() =
1
2
for = 0
otherwise
JJ
II
J
I
Back
Close
429
430
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
G(i, v) =
1X
h .v
i
(2j + 1) f (i, j)
(u).cos
2 i
16
h .u
i
1X
F (u, v) =
(u).cos
(2i + 1) G(i, v)
2 i
16
Most software implementations use fixed point arithmetic.
Some fast implementations approximate coefficients so all
multiplies are shifts and adds.
JJ
II
J
I
Back
Close
Differential Encoding
Simple example of transform coding mentioned earlier and
instance of this approach.
Here:
The difference between the actual value of a sample and a
prediction of that values is encoded.
433
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Actual Data: 9 10 7 6
Predicted Data: 0 9 10 7
435
JJ
II
J
I
Back
Close
436
JJ
II
J
I
Back
Close
Vector Quantisation
The basic outline of this approach is:
Data stream divided into (1D or 2D square) blocks vectors
A table or code book is used to find a pattern for each block.
437
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
440
Quantization
Zigzag Scan
DPCM on DC component
RLE on AC Components
Entropy Coding Huffman or Arithmetic
We have met most of the algorithms already:
JPEG exploits them in the compression pipeline to achieve
maximal overall compression.
JJ
II
J
I
Back
Close
Quantization
Why do we need to quantise:
To throw out bits from DCT.
Example: 101101 = 45 (6 bits).
441
Uniform quantization
Divide by constant N and round result
(N = 4 or 8 in examples above).
Non powers-of-two gives fine control
(e.g., N = 6 loses 2.5 bits)
442
JJ
II
J
I
Back
Close
Quantization Tables
In JPEG, each F[u,v] is divided by a constant q(u,v).
Table of q(u,v) is called quantization table.
Eye is most sensitive to low frequencies (upper left corner),
less sensitive to high frequencies (lower right corner)
443
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Zig-zag Scan
What is the purpose of the Zig-zag Scan:
to group low frequency coefficients in top of vector.
Maps 8 x 8 to a 1 x 64 vector
445
JJ
II
J
I
Back
Close
446
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Entropy Coding
DC and AC components finally need to be represented by a
smaller number of bits:
Categorize DC values into SSS (number of bits needed to
represent) and actual bits.
448
-------------------Value
SSS
0
0
-1,1
1
-3,-2,2,3
2
-7..-4,4..7
3
--------------------
JJ
II
J
I
Back
Close
449
JJ
II
J
I
Back
Close
450
JJ
II
J
I
Back
Close
JPEG 2000
New version released in 2002.
Based on:
discrete wavelet transform (DWT) ,instead of DCT,
451
scalar quantization,
context modeling,
arithmetic coding,
post-compression rate allocation.
Application: variety of uses, ranging from digital photography
to medical imaging to advanced digital scanning and printing.
Higher compression efficiency visually lossless
compression at 1 bit per pixel or better.
JJ
II
J
I
Back
Close
Further Information
Basic JPEG Information:
http://www.jpeg.org
Online JPEG Tutorial
452
For more information on the JPEG 2000 standard for still image
coding, refer to
http://www.jpeg.org/JPEG2000.htm
JJ
II
J
I
Back
Close
Compression III:
Video Compression (MPEG and others)
We need to compress video (more so than audio/images) in
practice since:
1. Uncompressed video (and audio) data are huge.
In HDTV, the bit rate easily exceeds 1 Gbps. big problems
for storage and network communications.
453
JJ
II
J
I
Back
Close
454
JJ
II
J
I
Back
Close
Compression Standards(1)
Image, Video and Audio Compression standards have been
specifies and released by two main groups since 1985:
ISO - International Standards Organisation: JPEG, MEPG.
455
JJ
II
J
I
Back
Close
456
JJ
II
J
I
Back
Close
457
JJ
II
J
I
Back
Close
It simple to encode/decode:
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
461
JJ
II
J
I
Back
Close
462
JJ
II
J
I
Back
Close
Any Overheads?
Motion estimation/compensation techniques reduces the
video bitrate significantly
but
introduce extras computational complexity and delay (?),
463
JJ
II
J
I
Back
Close
H.261 Compression
The basic approach to H. 261 Compression is summarised as
follows:
H. 261 Compression has been specifically designed for video
telecommunication applications:
464
JJ
II
J
I
Back
Close
Overview of H.261
Frame types are CCIR 601 CIF (352x288) and
465
different quantisation
I-frame provide us with a (re)fresh accessing point Key Frames
P-frames use pseudo-differences from previous frame (predicted), so frames
JJ
II
J
I
Back
Close
466
JJ
II
J
I
Back
Close
467
JJ
II
J
I
Back
Close
468
JJ
II
J
I
Back
Close
469
JJ
II
J
I
Back
Close
BASIC IDEA:
Most consecutive frames within a sequence are very similar
to the frames both before (and after) the frame of interest.
Aim to exploit this redundancy.
Use a technique known as block-based motion compensated
prediction
Need to use motion estimation
Coding needs extensions for Inter but encoder can also
supports an Intra subset.
JJ
II
J
I
Back
Close
471
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
473
JJ
II
J
I
Back
Close
474
Subtle points:
1. Need to use decoded image as reference image,
not original. Why?
2. Were using Mean Absolute Difference (MAD) to decide
best block.
Can also use Mean Squared Error (MSE) = sum(E*E)
JJ
II
J
I
Back
Close
475
Bit-rate Control
JJ
II
J
I
Back
Close
476
JJ
II
J
I
Back
Close
477
JJ
II
J
I
Back
Close
478
JJ
II
J
I
Back
Close
Propagation of Errors
Send an I-frame every once in a while
Make sure you use decoded frame for comparison
479
JJ
II
J
I
Back
Close
Bit-rate Control
Simple feedback loop based on buffer fullness
If buffer is too full, increase the quantization scale factor to
reduce the data.
480
JJ
II
J
I
Back
Close
MPEG Compression
MPEG stands for:
Motion Picture Expert Group established circa 1990 to
create standard for delivery of audio and video
481
JJ
II
J
I
Back
Close
482
JJ
II
J
I
Back
Close
MPEG Video
MPEG compression is essentially a attempts to over come some
shortcomings of H.261 and JPEG:
Recall H.261 dependencies:
483
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
485
JJ
II
J
I
Back
Close
486
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Slice Layer
Each slice: a contiguous sequence of raster ordered
macroblocks,
Each macroblock ordered on row basis in typical video
applications
488
489
JJ
II
J
I
Back
Close
B-Frames
New from H.261
MPEG uses forward/backward interpolated prediction.
Frames are commonly referred to as bi-directional interpolated
prediction frames, or B frames for short.
490
JJ
II
J
I
Back
Close
I,B,P,B,P,B,I,B,P,B,P,B,
491
group of pictures.
JJ
II
J
I
Back
Close
Backward Prediction
Note: Backward prediction requires that the future frames that
are to be used for backward prediction be
encoded and
492
transmitted first,
out of order.
This process is summarized in Figure 50.
JJ
II
J
I
Back
Close
Also NOTE:
No defined limit to the number of consecutive B frames that
may be used in a group of pictures,
Optimal number is application dependent.
Most broadcast quality applications however, have tended
to use 2 consecutive B frames (I,B,B,P,B,B,P,) as the ideal
trade-off between compression efficiency and video quality.
493
JJ
II
J
I
Back
Close
494
JJ
II
J
I
Back
Close
Motion Estimation
The temporal prediction technique used in MPEG video is
based on motion estimation.
495
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
Solution:
A comprehensive 2-dimensional spatial search is performed
for each luminance macroblock.
Motion estimation is not applied directly to chrominance in
MPEG
497
JJ
II
J
I
Back
Close
498
JJ
II
J
I
Back
Close
The top frame has a bad match with the macroblock to be coded.
The middle frame has a fair match, as there is some commonality between the
2 macroblocks.
The bottom frame has the best match, with only a slight error between the 2
macroblocks.
Because a relatively good match has been found, the encoder assigns motion
JJ
II
J
I
Back
Close
500
JJ
II
J
I
Back
Close
501
502
JJ
II
J
I
Back
Close
504
JJ
II
J
I
Back
Close
SAD Computation
SAD is computed by:
For i = -n to +n
For j = -m to +m
505
l=N 1 j=N 1
k=0
j=0
SAD(i, j) =
| C(x + k, y + l) R(x + i + k, y + j + l) |
506
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
508
1
N
i=0,j=0 |C(i,j)|
N
A = n,m
i=0,j=0 | C(i, j) M Bmean | (!alphac (i, j) = 0)
If A < (SAD 2N ) INTRA Mode is chosen.
JJ
II
J
I
Back
Close
509
Finally, the motion vectors for the residual block information are
calculated as differential values and are coded with a variable
length code.
JJ
II
J
I
Back
Close
510
JJ
II
J
I
Back
Close
512
JJ
II
J
I
Back
Close
513
JJ
II
J
I
Back
Close
Compression IV:
Audio Compression (MPEG and others)
As with video a number of compression techniques have been
applied to audio.
514
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
517
518
Speech Model:
pitch, period, loudness, vocal tract
parameters (voiced and unvoiced sounds).
Synthesised speech
Still sounds like a computer talking,
Bandwidth as low as 2.4 kbits/sec.
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
520
JJ
II
J
I
Back
Close
Sound revisited
Sound is produced by a vibrating source.
The vibrations disturb air molecules
Produce variations in air pressure:
lower than average pressure, rarefactions, and
higher than average, compressions.
This produces sound waves.
521
JJ
II
J
I
Back
Close
Human Hearing
Upon receiving the the waveform the eardrum vibrates in
sympathy
Through a variety of mechanisms the acoustic energy is
transferred to nerve impulses that the brain interprets as
sound.
522
Human Ear
We consider:
The function of the main parts of the ear
How the transmission of sound is processed.
523
524
JJ
II
J
I
Back
Close
525
JJ
II
J
I
Back
Close
526
The Cochlea:
Transforms mechanical ossicle forces into hydraulic pressure,
The cochlea is filled with fluid.
Hydraulic pressure imparts movement to the cochlear duct and to the organ of Corti.
Cochlea which is no bigger than the tip of a little finger!!
Semicircular canals
Bodys balance mechanism
Thought that it plays no part in hearing.
JJ
II
J
I
Back
Close
527
Stereocilia
Inner surface of the cochlea (the basilar membrane) is lined
with over 20,000 hair-like nerve cells stereocilia,
One of the most critical aspects of hearing.
JJ
II
J
I
Back
Close
528
JJ
II
J
I
Back
Close
530
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
534
JJ
II
J
I
Back
Close
Physiological Implications
Why are the curves accentuated where they are?
Accentuates of frequency range to coincide with speech.
535
JJ
II
J
I
Back
Close
Critical Bands
Range of closeness for frequency masking depends on the
frequencies and relative amplitudes.
537
538
539
JJ
II
J
I
Back
Close
Temporal masking
After the ear hears a loud sound:
JJ
II
J
I
Back
Close
541
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
543
JJ
II
J
I
Back
Close
How to compute?
We have met basic tools:
Fourier and Discrete Cosine Transforms
Work in frequency space
544
JJ
II
J
I
Back
Close
545
JJ
II
J
I
Back
Close
546
547
listeners.
6-1 compression ratio, stereo 16 bit samples at 48 Khz
compressed to 256 kbits/sec
Difficult, real world examples used.
Under Optimal listening conditions no statistically
distinguishable difference between original and MPEG.
JJ
II
J
I
Back
Close
548
549
551
JJ
II
J
I
Back
Close
552
JJ
II
J
I
Back
Close
553
JJ
II
J
I
Back
Close
554
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
556
557
JJ
II
J
I
Back
Close
558
---------------------------------------------------------------------Band
1 2
3
4 5 6
7
8
9 10 11 12 13 14 15 16
Level (db) 0 8 12 10 6 2 10 60 35 20 15
2
3
5
3
1
----------------------------------------------------------------------
JJ
II
J
I
Back
Close
559
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
MPEG Layers
MPEG defines 3 levels of processing layers for audio:
Level 1 is the basic mode,
Levels 2 and 3 more advance (use temporal masking).
561
Level 3 is the most common form for audio files on the Web
Our beloved MP3 files that record companies claim are
bankrupting their industry.
Strictly speaking these files should be called
MPEG-1 level 3 files.
Each level:
Increasing levels of sophistication
Greater compression ratios.
Greater computation expense
JJ
II
J
I
Back
Close
Level 1
Best suited for bit rate bigger than 128 kbits/sec per channel.
Example: Phillips Digital Compact Cassette uses Layer 1
192 kbits/sec compression
562
JJ
II
J
I
Back
Close
Layer 2
Targeted at bit rates of around 128 kbits/sec per channel.
Examples: Coding of Digital Audio Broadcasting (DAB) on
CD-ROM, CD-I and Video CD.
Enhancement of level 1.
563
Better audio quality due to saving bits here so more bits can be
used in quantised subband values
JJ
II
J
I
Back
Close
Layer 3
564
JJ
II
J
I
Back
Close
-------------------------------------------------------------------Layer
Target
Ratio
Quality @
Quality @
Theoretical
bitrate
64 kbits
128 kbits
Min. Delay
-------------------------------------------------------------------Layer 1
192 kbit
4:1
----19 ms
Layer 2
128 kbit
6:1
2.1 to 2.6
4+
35 ms
Layer 3
64 kbit
12:1
3.6 to 3.8
4+
59 ms
--------------------------------------------------------------------
565
JJ
II
J
I
Back
Close
Bit Allocation
566
JJ
II
J
I
Back
Close
567
where
M N RdB is the mask-to-noise ratio,
SN RdB is the signal-to-noise ratio (SNR), and
SM RdB is the signal-to-mask ratio from the psychoacoustic
model.
Standard tables estimate SNR for given quantiser levels.
Designers are free to try other methods SNR estimation.
JJ
II
J
I
Back
Close
568
JJ
II
J
I
Back
Close
569
JJ
II
J
I
Back
Close
570
JJ
II
J
I
Back
Close
571
JJ
II
J
I
Back
Close
572
Decoding:
The spectral shape of the left and right channels is the same
within each intensity-coded subband
JJ
II
J
I
Back
Close
573
JJ
II
J
I
Back
Close
574
JJ
II
J
I
Back
Close
575
JJ
II
J
I
Back
Close
MPEG-1/MPEG-2 Compatibility
Forward/backward compatibility?
MPEG-2 decoders can decode MPEG-1 audio bitstreams.
MPEG-1 decoders can decode two main channels of MPEG-2
audio bitstreams.
Achieved by combining suitably weighted versions of each
of the up to 5 channels into a down-mixed left and right
channel.
These two channels fit into the audio data framework of a
MPEG-1 audio bitstream.
Information needed to recover the original left, right, and
remaining channels fit into:
The ancillary data portion of a MPEG-1 audio bitstream,
or
In a separate auxiliary bitstream.
576
JJ
II
J
I
Back
Close
MPEG-3/MPEG-4
MPEG-3 audio:
does not exist anymore merged with MPEG-2
MPEG-4 audio:
577
Previously studied
Uses structures audio concept
Delegates audio production to client synthesis where
appropriate
Otherwise compress audio stream as above.
JJ
II
J
I
Back
Close
578
(DOLBY AC-1)
Common compression format in PC sound cards
(DOLBY AC-2)
High Definition TV standard advanced television (ATV)
(DOLBY AC-3). MPEG a competitor in this area.
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
DOLBY AC-1 :
Low complexity psychoacoustic model
581
DOLBY AC-2 :
Variation to allow subband bit allocations to vary
NOW Decoder needs copy of psychoacoustic model.
Minimised encoder bit stream overheads at expense of
transmitting encoded frequency coefficients of sampled
waveform segment known as the encoded spectral
envelope.
582
JJ
II
J
I
Back
Close
DOLBY AC-3 :
Development of AC-2 to overcome broadcast challenge
583
JJ
II
J
I
Back
Close
584
JJ
II
J
I
Back
Close
Integrating Multimedia
So far we studied media independently
Certain media (individually) are based on spatial
and/or temporal representations,
Others may be static.
JJ
II
J
I
Back
Close
586
JJ
II
J
I
Back
Close
Synchronisation
Important to know the tolerance and limits for each medium
Integration will require knowledge of these for synchronisation
and
587
JJ
II
J
I
Back
Close
Integrated standards
It is common (obvious) that media types are bundled together
for ease of delivery, storage etc.
Formats have been developed to support, store and deliver
media in an integrated form.
588
JJ
II
J
I
Back
Close
589
JJ
II
J
I
Back
Close
Interactive Multimedia
Modern multimedia presentation and applications are
becoming increasingly interactive.
Simple interactions that simply start movie clips, audio
segments animations etc.
590
JJ
II
J
I
Back
Close
Multimedia Interchange
The need for interchange formats are significant in several
applications:
As a final storage model for the creation and editing of
multimedia documents.
591
JJ
II
J
I
Back
Close
Quicktime
Introduction
QuickTime is the most widely used cross-platform multimedia
technology available today.
592
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
594
JJ
II
J
I
Back
Close
595
596
QuickTime also supports every important professional file format for video,
JJ
II
J
I
Back
Close
QuickTime Concepts
To following concepts QuickTime are used by Quicktime:
Movies and Media Data Structures
597
JJ
II
J
I
Back
Close
Components
598
JJ
II
J
I
Back
Close
Image Compression
QuickTime movie can demand substantial storage than
single images.
Minimizing the storage requirements for image data is
an important consideration for any application that works
with images or sequences of images.
599
JJ
II
J
I
Back
Close
Time
Time management in QuickTime is essential for
synchronisation
QuickTime defines time coordinate systems, which anchor
movies and their media data structures to a common
temporal timeframe.
600
Time (cont.)
The number of units that pass per second quantifies the
scalethat is, a time scale of 26 means that 26 units pass
per second and each time unit is 1/26 of a second.
A time coordinate system also contains a duration, which
is the length of a movie or a media in the number of time
units it contains.
601
JJ
II
J
I
Back
Close
602
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
604
JJ
II
J
I
Back
Close
605
JJ
II
J
I
Back
Close
606
QuickTime Components
QuickTime includes several components
These components provide useful/essential services to your
application and
607
JJ
II
J
I
Back
Close
QuickTime Components
Movie controller : Components, which allow applications to play
movies using a standard user interface standard image
compression dialog components, which allow the user to
specify the parameters for a compression operation by
supplying a dialog box or a similar mechanism
608
609
JJ
II
J
I
Back
Close
610
JJ
II
J
I
Back
Close
611
JJ
II
J
I
Back
Close
OMFI Format/Support
The OMFI file format incorporates:
A header including references for objects contained in file
Object dictionary to enhance the OMFI class hierarchy in
an application
612
Object data
Track data
OMFI Support:
Main Video development tools including
Apple Final Cut Pro, Xpress (Pro/DV), Softimage
Main Audio development tools including:
Protools, Cakewalk/Sonar 2.0
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
614
JJ
II
J
I
Back
Close
Digital TV Group UK
UK digital TV interests are managed by the Digital TV Group
UK http://www.dtg.org.uk/.
Alternative (satellite) digital TV interest: SKY,
uses a proprietary API format, called OPEN (!!).
615
JJ
II
J
I
Back
Close
Digital TV services
What sort of multimedia services does digital TV provide?
616
JJ
II
J
I
Back
Close
617
JJ
II
J
I
Back
Close
Version
MHEG-1
MHEG-2
MHEG-3
MHEG-4
MHEG-5
MHEG-6
Status
International standard
Withdrawn
International standard
International standard
International standard
International standard
(1998)
MHEG-7
International standard
(1999)
MHEG-8 (XML) Draft international standard
(Jan 1999)
Table 2: MHEG Standards Timeline
618
JJ
II
J
I
Back
Close
MHEG-5 overview
The major goals of MHEG-5 are:
To provide a good standard framework for the development
of client/server multimedia applications intended to run on a
memory-constrained Client.
619
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
MHEG-5 Model
The MHEG-5 model is object-oriented.
621
JJ
II
J
I
Back
Close
622
JJ
II
J
I
Back
Close
623
JJ
II
J
I
Back
Close
624
JJ
II
J
I
Back
Close
625
JJ
II
J
I
Back
Close
626
JJ
II
J
I
Back
Close
627
JJ
II
J
I
Back
Close
628
JJ
II
J
I
Back
Close
Ingredient subclasses
Presentable This abstract class specifies the common aspects
for information that can be seen or heard by the user. The
Run and Stop actions activate and terminate the
presentation, while generating the IsRunning and
IsStopped events.
629
JJ
II
J
I
Back
Close
630
JJ
II
J
I
Back
Close
631
632
JJ
II
J
I
Back
Close
633
JJ
II
J
I
Back
Close
634
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
636
100 )
JJ
II
J
I
Back
Close
637
JJ
II
J
I
Back
Close
EuroMHEG Classes
The MHEG classes supported by EuroMHEG are:
Root
Scene
Program
Palette
Variable
OctetStringVariable
Presentable
ListGroup
LineArt
Text
Video
Slider
Button
SwitchButton
Group
Ingredient
ResidentProgram
Font
BooleanVariable
ObjectRefVariable
TokenManager
Visible
Rectangle
Stream
RTGraphics
EntryField
HotSpot
Action
Application
Link
RemoteProgram
CursorShape
IntegerVariable
ContentRefVariable
TokenGroup
Bitmap
DynamicLineArt
Audio
Interactible
HyperText
PushButton
638
JJ
II
J
I
Back
Close
639
JJ
II
J
I
Back
Close
640
2. Possibly, a link that reacts on the event is found. This link is then
fired. If no such link is found, the process starts again at 1.
3. The result of a link being fired is the execution of an action object,
which is a sequence of elementary actions. These can change
the state of other objects, create or destroy other objects, or
cause events to occur.
4. As a result of the actions being performed, synchronous events
may occur. These are dealt with immediately, i.e., before processing
any other asynchronous events queued.
When all events have been processed, the process starts again at
1.
JJ
II
J
I
Back
Close
641
JJ
II
J
I
Back
Close
RunningStatus (Cont.)
More concretely, these are the rules governed by
RunningStatus:
642
Interactibles
The MHEG-5 mix-in class Interactible groups some
functionality associated with user interface-related objects:
643
JJ
II
J
I
Back
Close
Interactibles (Cont.)
Exactly how an Interactible reacts when its
InteractionStatus is true is implementation-specific.
644
Example:
The way that a user enters characters in an EntryField
can be implemented in different ways in different MHEG-5
engines.
At most one Interactible at a time can have its
InteractionStatus set to True.
JJ
II
J
I
Back
Close
Visual Representation
For objects that are visible on the screen, the following rules
apply :
Objects are drawn downwards and to the right of their position
on the screen. This point can be changed during the life
cycle of an object, thus making it possible to move objects.
645
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
647
JJ
II
J
I
Back
Close
648
JJ
II
J
I
Back
Close
The pseudo-code from the above scene may look like the
following:
(scene:InfoScene1
<other scene attributes here>
group-items:
(bitmap: BgndInfo
content-hook: #bitmapHook
original-box-size: (320 240)
original-position: (0 0)
content-data: referenced-content: "InfoBngd"
)
(text:
content-hook: #textHook
original-box-size: (280 20)
original-position: (40 50)
content-data: included-content: "1. Lubricate..."
)
links:
(link: Link1
event-source: InfoScene1
event-type: #UserInput
event-data: #Left
link-effect: action: transition-to: InfoScene2
)
)
649
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
651
JJ
II
J
I
Back
Close
JJ
II
J
I
Back
Close
653
JJ
II
J
I
Back
Close
654
JJ
II
J
I
Back
Close
655
JJ
II
J
I
Back
Close
656
JJ
II
J
I
Back
Close
657
JJ
II
J
I
Back
Close
658
JJ
II
J
I
Back
Close
659
JJ
II
J
I
Back
Close
660
JJ
II
J
I
Back
Close
661
JJ
II
J
I
Back
Close
662
JJ
II
J
I
Back
Close
663
JJ
II
J
I
Back
Close
664
JJ
II
J
I
Back
Close
More Examples
Further examples are available in the applications folder:
bitmap further examples of bitmaps in MHEG
interacting further examples of interaction in MHEG
665
JJ
II
J
I
Back
Close
666
JJ
II
J
I
Back
Close
667
JJ
II
J
I
Back
Close
MHEG Implementation
Several components may be requires in implementing and MHEG
systems:
Runtime Engine (RTE) MHEG-5 runtime engines generally
run across a client-server architecture
668
JJ
II
J
I
Back
Close
669
JJ
II
J
I
Back
Close
670
JJ
II
J
I
Back
Close
671
JJ
II
J
I
Back
Close
Presentation layer
The presentation layer (PL)
manages windowing resources,
deals with low-level events, and
performs decoding and rendering of contents from different
media to the user.
672
JJ
II
J
I
Back
Close
Access module
This module provides a consistent API for accessing information
from different sources.
Its used by the RTE to get objects and the PL to access
content data (either downloaded or streamed).
673
JJ
II
J
I
Back
Close
DSMCC Interface
The implementation of these mechanisms occurs via the
DSMCC interface.
The user has full interactive control of the data presentation,
including playback of higher quality MPEG-2 streams
delivered through an ATM network.
674
JJ
II
J
I
Back
Close
675
JJ
II
J
I
Back
Close
MediaTouch (Cont.)
It is a visual-based Hierarchical Iconic authoring tool, similar to
Authorware in many approaches.
676
JJ
II
J
I
Back
Close
677
JJ
II
J
I
Back
Close
678
JJ
II
J
I
Back
Close
679
MHEG Future
Several companies and research institutes are currently
developing MHEG tools and applications and conducting
interoperability experiments for international projects and
consortia.
680