Vous êtes sur la page 1sur 79

A.V.

C COLLEGE OF ENGINEERING
MANNAMPANDAL, MAYILADUTHURAI- 609 305

COURSE MATERIAL FOR THE SUBJECT

IT 6501 Graphics and Multimedia

Subject Code

IT 6501

Semester

VII

Department

Information Technology

Academic Year

2015 - 2016

Name of the Faculty


&
Designation and Dept

V.Padmavathi / Asst..Prof. - IT

IT6501 GRAPHICS AND MULTIMEDIA


L
3

T
1

P
0

C
4

UNIT I
OUTPUT PRIMITIVES
9
Introduction Line Curve and ellipse drawing algorithms Attributes Two dimensional
geometric transformations Two dimensional clipping and viewing Input techniques.
UNIT II
THREEDIMENSIONAL CONCEPTS
9
Three dimensional object representations Three dimensional geometric and modeling
transformations Three dimensional viewing Hidden surface elimination Color models
Animation.
UNIT III
MULTIMEDIA SYSTEMS DESIGN
9
An introduction Multimedia applications Multimedia system architecture Evolving
technologies for multimedia Defining objects for multimedia systems Multimedia data
interface standards Multimedia databases.
UNIT IV
MULTIMEDIA FILE HANDLING
9
Compression and decompression Data and file format standards Multimedia I/O
technologies Digital voice and audio Video image and animation Full motion video
Storage and retrieval technologies.
UNIT V
HYPERMEDIA
9
Multimedia authoring and user interface Hypermedia messaging Mobile messaging
Hypermedia message component Creating hypermedia message Integrated multimedia
message standards Integrated document management Distributed multimedia systems.
L: 45 T: 15 Total: 60
TEXT BOOKS
1. Donald Hearn and M. Pauline Baker, Computer Graphics C Version, Pearson
Education, 2003.
2. Prabat K Andleigh and Kiran Thakrar, Multimedia Systems and Design, Prentice Hall
of India, 2003.
REFERENCES
1. Judith Jeffcoate, Multimedia in Practice Technology and Applications, Prentice Hall of
India, 1998.
2. Foley, Vandam, Feiner and Huges, Computer Graphics: Principles and Practice, 2nd
Edition, Pearson Education, 2003.

CONTENTS

UNIT I - OUTPUT PRIMITIVES


1.1 Introduction
1.1.1 Input Devices
1.2 Line Drawing Algorithms
1.2.1 Digital Differential Analyzer(DDA) Algorithm
1.2.2 Bresenhams Line Algorithm
1.3 Basic concepts in Circle Drawing
1.3.1 Bresenhams circle drawing Algorithm
1.3.2 Midpoint circle drawing Algorithm
1.4 Ellipse Drawing Algorithm
1.5 Attributes
1.5.1 Line Attributes
1.5.2 Curve Attributes
1.5.3 Area Fill Attributes
1.5.4 Character attributes
1.6 Two Dimensional Geometric Transformations
1.6.1 Translation
1.6.2 Rotation
1.6.3 Scaling
1.7 Other Transformations
1.7.1 Reflection
1.7.2 Shear
1.8 Two Dimensional viewing
1.9 Two Dimensional Clipping

UNIT II - THREEDIMENSIONAL CONCEPTS


2.1 Three Dimensional Transformation
2.1.1 Translation

2.1.2 Scaling
2.1.3 Rotation
2.2 Three Dimensional Viewing and Projections
2.3 Viewing Coordinates
2.3.1 Transformations from World to Viewing Coordinates
2.4 Projections
UNIT III -MULTIMEDIA SYSTEMS DESIGN
3.1 Multimedia
3.2 Multimedia Applications
3.3 Multimedia Systems Architecture
3.4 Evolving Technologies of Multimedia
3.5 Multimedia Database

UNIT IV - MULTIMEDIA FILE HANDLING


4.1 Compression
4.2 Data and File formats for Multimedia Systems
4.3 Digital Audio and Video
4.4 Video Image and Animation
4.5 Storage and Retrieval Technologies

UNIT V - HYPERMEDIA
5.1 Multimedia Authoring Systems
5.1.1 Design issues for Multimedia Authoring
5.1.2 Types of Multimedia Authoring System
5.2 User Interface Design
5.2.1 Kinds of user interface development Tool
5.2.2 Guidelines for good user interface design
5.2.3 Special metaphor for special applications
5.2.4 Audio/ Video Indexing Function
5.3 Hypermedia Messaging
5.4 Distributed Multimedia Systems

UNIT I - OUTPUT PRIMITIVES


1.1 Introduction

The computer graphics is one of the most effective and commonly used way to
communicate the processed information to the user.

It displays the information in the form of graphics objects such as pictures, charts,
graphs and diagrams instead of simple text.

Thus we can say that computer graphics make it possible to express data in pictorial
form.

The picture or graphics object may be an engineering drawing, business graphs,


architectural structures,a single frame from an animated movie or a machine parts
illustrated for a service manual.

There are 2 types of graphics available


Interactive Graphics : in which the observer has the control over the action.
Example: Animation and Flight simulation
Non-Interactive Graphics : in which the observer has no control over the action.
Example: Television advertisements, cartoon, etc.

In computer graphics, pictures or graphics objects are presented as a collection of


discrete picture elements called pixels. The pixel is the smallest addressable screen
element. It is the smallest piece of the display screen which we can control. The
control is achieved by setting the intensity and color of the pixel which compose the
screen.

Each pixel on the graphics display does not represent mathematical point. Rather it
represents a region which theoretically contain an infinite number of points

Rasterization : The process of determining the appropriate pixels for representing


picture or graphics object is known as rasterization.

Scan Conversion: The process of representing continuous picture or graphics object


as a collection of discrete pixels is known as scan conversion.

The computer graphics allows rotation, translation, scaling and performing various
projections on the pictures before displaying it. Graphics devices includes both input
devices and display devices.

The computer graphics are used in areas such as science, engineering, medicine,
business, industry, government, art, training and education.

A major use of computer graphics is in design process. Nowadays all products are
computer designed. We refer this as CAD, Computer aided design method, which is
used in building design, automobiles, aircraft, spacecraft, textiles etc.,

1.1.1 Input devices


Various devices are available for data input on graphics work stations.
Keyboard

An alphanumeric keyboard on a graphics system is used primarily as a device for


entering text strings.

When we press a key on the keyboard, keyboard controller places a code


corresponding to key pressed into a part of its memory, called keyboard buffer.This
code is called scan code. The KB controller informs CPU of the computer about the
key press with the help of an interrupt signal. The CPU then reads the scan code from
the KB buffer.

Keyboards can also be provided with features to facilitate entry of screen coordinates,
menu selections, or graphics functions.

Cursor-control keys and function keys are common features on general-purpose


keyboards.
Function keys allow users to enter frequently used operations in a single keystroke,
and cursor-control keys can be used to select displayed objects or coordinate
positions by positioning the screen cursor.

Other types of cursor-positioning devices, such as a trackball or joystick, are included


on some keyboards.

Mouse

A mouse is small hand-held box used to position the screen cursor. Wheels or rollers
on the bottom of the mouse can be used to record the amount and direction of
movement.

Another method for detecting mouse motion is with an optical sensor. For these
systems, the mouse is moved over a special mouse pad that has a grid of horizontal
and vertical lines. The optical sensor detects movement across the lines in the grid.

One, two, or three buttons usually included on the top of the mouse for signaling the
execution of some operation, such as recording & cursor position or invoking a
function. Most general-purpose graphics systems now include a mouse and a
keyboard as the major input devices

Trackball and Spaceball

As the name implies, a trackball is a ball that can be rotated with the fingers or palm
of the hand to produce screen-cursor movement. Potentiometers, attached to the ball,
measure the amount and direction of rotation.

Trackballs are often mounted on keyboards or other devices such as the Z mouse

While a trackball is a two-dimensional positioning device, a spaceball provides six


degrees of freedom.

Unlike the trackball, a spaceball does not actually move. Strain gauges measure the
amount of pressure applied to the spaceball to provide input for spatial positioning
and orientation as the ball is pushed or pulled in various directions.

Spaceballs are used for three-dimensional positioning and selection operations in


virtual reality systems, modeling, animation, CAD, and other applications.

Joysticks

A joystick consists of a small, vertical lever (called the stick) mounted on a base that
is used to steer the screen cursor around.

The distance that the stick is moved in any direction from its center position
corresponds to screen-cursor movement in that direction.

It consist of two potentiometers attached to a single lever. Moving the lever changes
the settings on the potentiometers. The left or right movement is indicated by one
potentiometer and forward or back movement is indicated by other potentiometer.
Thus with a joystick both X and Y coordinate positions can be simultaneously altered
by the motion of a single lever.

Some joystick may return to their zero(center) position when released. Joysticks are
inexpensive and are quite commonly used where only rough positioning is needed.

Data Glove

The data glove is used to grasp a virtual object.

It is constructed with a series of sensors that detect hand and finger motions.

Each sensor is a short length of fiber optic cable, with a light emitting diode at one
end and a photo transistor at the other end.

The surface of a cable is roughened in the area where it is to be sensitive to bending.

When the cable is flexed, some of the LEDs light is lost, so less light is received by
the photo transistor.

The input from the glove can be used to position or manipulate objects in a virtual
scene.

Thus by wearing the data glove, a user can grasp, move and rotate objects and then
release them.

Digitizers

A common device for drawing, painting, or interactively selecting coordinate


positions on an object is a digitizer.

These devices can be used to input coordinate values in either a two dimensional or a
three-dimensional space.

Typically, a digitizer is used to scan over a drawing or object and to input a set of
discrete coordinate positions, which can be joined with straight-line segments to
approximate the curve or surface shapes.

One type of digitizer is the graphics tablet (also referred to as a data tablet), which is
used to input two-dimensional coordinates by activating a hand cursor or stylus at
selected positions on a flat surface.

A hand cursor contains cross hairs for sighting positions, while a stylus is a pencil
shaped device that is pointed at positions on the tablet..

Using rectangular grid of wires embedded in the tablet surface, many graphics tablets
are constructed.

1.2 Line Drawing Algorithms


General requirements

The line should appear as a straight line and it should start and end accurately.

The line should be displayed with constant brightness along its length independent of
its length and orientation.

The line should be drawn rapidly.

1.2.1 Digital Differential Analyzer(DDA) Algorithm

DDA is a scan-conversion line algorithm based on calculating either y or x.

This algorithm is summarized in the following procedure, which accepts as input the
two endpoint pixel positions.

Horizontal and vertical differences between the endpoint positions are assigned to
parameters dx and dy.

The difference with the greater magnitude determines the value of parameter steps.

Starting with pixel position (xa, ya), we determine the offset needed at each step to
generate the next pixel position along the line path.

We loop through this process steps times.

If the magnitude of dx is greater than the magnitude of dy and xa is less than xb, the
values of the increments in the x and y directions are 1 and m, respectively.

If the greater change is in the x direction, but xa is greater than xb, then the
decrements - 1 and -m are used to generate each new point on the line.

Otherwise, we use a unit increment (or decrement) in they direction and an x


increment (or decrement) of l / m .
#include stdio.h
#define ROUND(a) ( (int) (a+0.5) )
void lineDDA (int xa, int ya, int xb, int yb)
{int dx = xb - xa, dy = yb - ya, steps, k;
float xIncrement, yIncrement, x = xa, y = ya;
if(abs (dx) > abs(dy) steps = abs(dx) ;
else steps = abs(dy);
xIncrement = dx / (float) steps;

yIncrement = dy / (float) steps


setpixel (ROUND(x), ROUND(y) ) :
for (k=O; k<steps; k++)
{
x + = xIncrment;
y += yIncrement;
setpixel (ROUND(x), ROUND(y) )
}}

Advantages of DDA Algorithm


1. It is the simplest algorithm and it does not require special skills for implementation
2. It is a faster method for calculating pixel position than the direct use of equation
y= mx + b. It eliminates the multiplication in the equation by making use of raster
characteristics, so that appropriate increments are applied in the x or y direction to find
the pixel positions along the line path.
Disadvantages of DDA algorithm
1. Floating point arithmetic in DDA algorithm is still time-consuming.
2. The algorithm is orientation dependent. Hence end point accuracy is poor.

1.2.2 Bresenhams Line Algorithm

Bresenhams line algorithm uses only integer addition and subtraction and
multiplication by 2, and we know that the computer can perform the operations of
integer addition and subtraction very rapidly.

The computer is also time-efficient when performing integer multiplications by


powers of 2. Therefore it is an efficient method for scan-converting straight lines.

The basic principles of bresenhams line algorithm is to select the optimum raster
location to represent the straight line.

To accomplish this the algorithm always increments either x or y by one unit


depending on the slope of the line.

The increment in the other variable is determined by examining the distance between
the actual line location and the nearest line pixel. This distance is called decision
variable or the error.

In the mathematical terms error or decision variable is defined as


e = DB-DA or DA-DB.

Now if e>0, then it implies that DB>DA i.e., the pixel above the line is closer to the
true line.

If DB<DA (i.e. e<0) then we can say that the pixel below the line is closer to the true
line.

Thus by checking only the sign of error term it is possible to determine the better
pixel to represent the line path.

The error term is initially set as e = 2y-x


where y = y2-y1 and x = x2-x1
Then according to value of e following actions are taken
while (e>0)
{y = y+1
e= e-2*x}
x=x+1
e= e-2*y

When e>0, error is initialized with e=e-2x. This is continued till error is negative. In
each iteration y is incremented by 1.x is incremented by 1.

When e<0, error is initialized to e = e+2y, x is incremented by 1.


1. Read the line end points(x1,y1) and (x2, y2) such that they are not equal.
2. x = |x2-x1| and y = |y2-y1|
3. (Initialize the starting point) x=x1, y=y1
4. e=2*y-x
5. i=1
6. plot(x,y)
7. while( e>=0)
{ y=y+1

e=e-2*x }
x=x+1
e=e+2*y
8. i=i+1
9. if (i<=x) then goto step 6.

1.3 Basic concepts in circle drawing


A circle is a symmetrical figure. It has eight-way symmetry, any circle generating
algorithm can take advantage of the circle symmetry to plot eight points by calculating the
co-ordinates of any one point. For example, if point A in the fig. is calculated with a circle
algorithm, seven more points could be found just by reflection.
Representation of a circle:
There are 2 standard methods of mathematically representing a circle centered at the origin.
i) Polynomial Method
In this method circle is represented by a polynomial equation.x2 + y2=r2
Where,

x : the x co-ordinate
y : the y co-ordinate
r

: radius of the circle

Here, polynomial equation can be used to find y co-ordinate for the known x coordinate. Therefore, the scan converting circle using polynomial method is achieved
by stepping x from 0 to r 2, and each y co-ordinate is found by evaluating r2-x2 for
each step of x. This generates the 1/8 portion (90 to 45) of the circle. Remaining part
of the circle can be generated just by reflection.

The polynomial method of circle generation is an inefficient method. In this method


for each point both x and r must be squared and x2 must be subtracted from r2; then
the square root of the result must be found out.

ii) Trigonometric Method


In this method, the circle is represented by use of trigonometric functions
x = r cos and y = r sin
where, : current angle
r : radius of the circle

x : the x co-ordinate
y : the y co-ordinate
The scan converting circle using trigonometric method is achieved by stepping from 0 to
/4

radians and each value of x and y is calculated. However, this method is more inefficient

than the polynomial method because the computation of the values of sin and cos is even
more time-consuming than the calculations required in the polynomial method.
1.3.1 Bresenhams Circle Drawing Algorithm
It considers the eight way symmetry of circle to generate it. It plots 1/8th part of the circle
from 90 to 45 degree. So the x moves in positive direction and y moves in negative direction.
1. Read the radius(r) of the circle.
2. d=3-2r

( Initialize the decision variable)

3. x=0, y=r ( Initialize the starting point)


4. do { plot(x,y)
if(d<0) then
d=d+4x+6
else
{d = d + 4(x-y) + 10
y = y-1 }
x = x+1
}while (x < y)
1.3.2 Midpoint Circle Drawing Algorithm
The midpoint method calculates pixel positions along the circumference of a circle using
integer additions and subtractions, assuming that the circle parameters are specified in integer
screen coordinate
1. Input radius r and circle center (xc, yc) and obtain the first point on the circumference of a
circle centered on the origin as
(x0,y0) =(0,r)
2. Calculate the initial value of the decision parameter as
P0=5/4-r
3. At each xk position, starting at k = 0, perform the following test: If Pk<0, the next point
along the circle centered on (0,0) is (xk+1, yk) and

Pk+1=Pk+2xk+1+1
Otherwise, the next point along the circle is (xk + 1, yk -1) and

Pk+1=Pk+2xk+1+1-2yk+1
where 2xk+1= 2xk + 2 and 2yk+1 = 2yk- 2.
4. Determine symmetry points in the other seven octants.
5. Move each calculated pixel position (x, y) onto the circular path centered on (xc, yc) and
plot the coordinate values:
x=x+xc,y=y+ yc
6. Repeat steps 3 through 5 until x y.

1.4 Ellipse Drawing Algorithm

The mid-point ellipse drawing algorithm uses the four way symmetry of the ellipse to
generate it. This approach is similar to that used in displaying a raster circle.

Here the quadrant of the ellipse is divided into two regions. The division of the first
quadrant according to the slope of an ellipse with rx<ry.

As ellipse is drawn from 90 to 0 , the x moves in the positive direction and y moves in
the negative direction, and ellipse passes through two regions.

It is important to note that while processing first quadrant we have to take steps in the
x direction where the slope of the curve has a magnitude less than 1 (for region 1) and
to take steps in the y direction where the slope has a magnitude greater than 1 (for
region 2).

Like circle function, the ellipse function fellipse (x,y) (ry2 x2 +rx2 y2-rx2 ry2) serves as the
decision parameter in the midpoint algorithm.

At each sampling position, the next pixel along the ellipse path is selected according
to the sign of the ellipse function evaluated at midpoint between the two candidate
pixels xi+1, yi or xi + 1, yi 1 for region 1 and xi, yi - 1 or xi + 1, yi 1 for region 2).

Starting at (0,ry) we have to take unit steps in the x direction until we reach the
boundary between region 1 and region 2.

Then we have to switch to unit steps in the y direction over the remainder of the curve
in the first quadrant.

To check for boundary point between region 1 and region 2 we have to test the value
of the slope the curve at each step. The slope of the ellipse at each step is given as
dy/dx = -2ry2x/2rx2y
At the boundary point between region 1 and region 2, dy/dx = -1 and
2ry2x = 2rx2y
Therefore, when
2ry2x > 2rx2y

Midpoint Ellipse Algorithm


1.Input rx, ry, and ellipse center (xc,yc,), and obtain the first point on an ellipse centered on
the origin as

2. Calculate the initial value of the decision parameter in region 1 as

3. At each x, position in region 1, starting at k = 3, perform the following test:


If plk < 0, the next point along the ellipse centered on (0, 0) is (xk+1, yk) and

Otherwise, the next point along the circle is (xk + 1, yk -1) and

with

and continue until 2ry2x > 2rx2y


4. Calculate the initial value of the decision parameter in region 2 using the last point (xo, yo)
calculated in region 1 as

5. At each yk position in region 2, starting at k = 0, perform the following test:


If p2k> 0, the next point along the ellipse centered on (0, 0) is (xk, yk- 1) and

Otherwise, the next point along the circle i s (xk + 1, yk -1) and

using the same incremental calculations for x and y as in region 1.


6. Determine symmetry points in the other three quadrants.
7. Move each calculated pixel position (x, y) onto the elliptical path centered on (xc,yc,) and
plot the coordinate values:

8. Repeat the steps for region 1 until 2ry2x 2rx2y


1.5 Attributes

In general, any parameter that affects the way a primitive is to be displayed is referred
to as an attribute parameter.

Some attribute parameters, such as color and size, determine the fundamental
characteristics of a primitive.

Others specify how the primitive is to be displayed under special conditions.


Examples of attributes in this class include depth information for three-dimensional
viewing and visibility or detectability options for interactive object-selection
programs.

Here, we consider only those attributes that control the basic display properties of
primitives, without regard for special situations. For example, lines can be dotted or
dashed, fat or thin, and blue or orange.

Areas might be filled with one color or with a multicolor pattern.

Text can appear reading from left to right, slanted diagonally across the screen, or in
vertical columns.

Individual characters can be displayed in different fonts, colors, and sizes.

And we can apply intensity variations at the edges of objects to smooth out the raster
stairstep effect.

One way to incorporate attribute options into a graphics package is to extend the
parameter list associated with each output primitive function to include the
appropriate attributes.

A linedrawing function, for example, could contain parameters to set color, width,
and other properties, in addition to endpoint coordinates.

Another approach is to maintain a system list of current attribute values. Separate


functions are then included in the graphics package for setting the current values in
the attribute list.

To generate an output primitive, the system checks the relevant attributes and invokes
the display routine for that primitive using the current attribute settings.

Some packages provide users with a combination of attribute functions and attribute
parameters in the output primitive commands.

With the GKS and PHIGS standards, attribute settings are accomplished with
separate functions that update a system attribute list.

1.5.1 Line Attributes

Basic attributes of a straight line segment are its type, its width, and its color.

In some graphics packages, lines can also be displayed using selected pen or brush
options.

Line Type

Possible selections for the line-type attribute include solid lines, dashed lines, and
dotted lines.

We modify a line drawing algorithm to generate such lines by setting the length and
spacing of displayed solid sections along the line path.

A dashed line could be displayed by generating an interdash spacing that is equal to


the length of the solid sections.

Both the length of the dashes and the interdash spacing are often specified as user
options.

A dotted line can be displayed by generating very short dashes with the spacing equal
to or greater than the dash size.

To set line type attributes in a PHIGS application program, a user invokes the
function setLinetype (lt) where parameter 1t is assigned a positive integer value

of

1,2,3, or 4 to generate lines that are, respectively, solid, dashed, dotted, or dashdotted.

Other values for the line-type parameter lt could be used to display variations in the
dot dash patterns.

Once the line-type parameter has been set in a PHIGS application program, all
subsequent line-drawing commands produce lines with this Line type.

Line Width

Implementation of line- width options depends on the capabilities of the output


device.

A heavy line on a video monitor could be displayed as adjacent parallel lines, while a
pen plotter might require pen changes.

As with other PHIGS attribute a line-width command is used to set the current linewidth value in the attribute list.

This value is then used by line-drawing algorithms to control the thickness of lines
generated with subsequent output primitive commands.
We set the line-width attribute with the command:
SetLinewidthScaleFactor (lw)

Line-width parameter lw is assigned a positive number to indicate the relative width


of the line to be displayed.

A value of 1 specifies a standard-width line. Values greater than 1 produce lines


thicker than the standard.

We can adjust the shape of the line ends to give them a better appearance by adding
line caps in the Fig.

One kind of line cap is the butt cap obtained by adjusting the end positions of the
component parallel lines so that the thick line is displayed with square ends that are
perpendicular to the line path.

Another line cap is the round cap obtained by adding a filled semicircle to each butt
cap. The circular arcs are centered on the line endpoints and have a diameter equal to
the line thickness.

A third type of line cap is the projecting square cap.Here, we simply extend the line
and add butt caps that are positioned one-half of the line width beyond the specified
endpoints.

(a) butt caps, (b) round caps, and (c) projecting square caps

Line Color

When a system provides color (or intensity) options, a parameter giving the current
color index is included in the list of system-attribute values.

A polyline routine displays a line in the current color by setting this color value in the
frame buffer at pixel locations along the line path using the setpixel procedure.

The number of color choices depends on the number of bits available per pixel in the
frame buffer.

We set the line color value in PHlGS with the function


SetPolylineColourIndex(lc)

Nonnegative integer values, corresponding to allowed color choices, are assigned to


the line color parameter lc. A line drawn in the background color is invisible.

1.5.2 Curve Attributes

Parameters for curve attributes are the same as those for line segments.

We can display curves with varying colors, widths, dotdash patterns, and available
pen or brush options.

Methods for adapting curve-drawing algorithms to accommodate attribute selections


are similar to those for line drawing.

1.5.3 Area-Fill Attributes

Options for filling a defined region include a choice between a solid color or a
patterned fill and choices for the particular colors and patterns.

These fill options can be applied to polygon regions or to areas defined with curved
boundaries, depending on the capabilities of the available package.

In addition, areas can be painted using various brush styles, colors, and transparency
parameters.

Fill Styles

Areas are displayed with three basic fill styles: hollow with a color border, filled with
a solid color, or filled with a specified pattern or design.

A basic fill style is selected in a PHIGS program with the function


setInteriorStyle(fs)

Values for the fill-style parameter fs include hollow, solid, and pattern.

Another value for fill style is hatch, which is used to fill an area with selected
hatching patterns-parallel lines or crossed lines.

As with line attributes, a selected fillstyle value is recorded in the list of system
attributes and applied to fill the interiors of subsequently specified areas.

Fill selections for parameter fs are normally applied to polygon areas, but they can
also be implemented to fill regions with curved boundaries.

Hollow areas are displayed using only the boundary outline, with the interior color
the same as the background color.

A solid fill is displayed in a single color up to and including the borders of the region.
The color for a solid interior or for a hollow area outline is chosen with
setInteriorColourIndex(fc)
where fillcolor parameter fc is set to the desired color code.

Soft Fill

Modified boundary-fill and flood fill procedures that are applied to repaint areas so
that the fill color is combined with the background colors are referred to as soft-fill or
tint fill algorithms.

1.5.4 Character Attributes

The appearance of displayed characters is controlled by attributes such as font, size,


color, and orientation.

Attributes can be set both for entire character strings (text) and for individual
characters defined as marker symbols.

Text Attributes

There are a great many text options that can be made available to graphics
programmers.

First of all, there is the choice of font (or typeface), which is a set of characters with a
particular design style such as New York, Courier, Helvetica, London, 'Times
Roman, and various special symbol groups.

The characters in a selected font can also be displayed with assorted underlining
styles (solid, dotted, double), in boldface, in italics. and in outline or shadow styles.

A particular font and associated style is selected in a PHlGS program by setting an


integer code for the text font parameter tf in the function
setTextFont( tf )

Color settings for displayed text are stored in the system attribute list and used by the
procedures that load character definitions into the frame buffer.
setTextColourIndex( tc )
where text color parameter tc specifies an allowable color code.

Text size can be adjusted without changing the width-to-height ratio of characters
with
setCharacterHeight(ch)
Parameter ch is assigned a real value greater than 0

Spacing between characters is controlled separately with

setCharacterSpacing(cs)
where the character-spacing parameter cs can he assigned any real value.

It is useful in many applications to be able to arrange character strings vertically or


horizontally. An attribute parameter for this option is set with the statement
setTextPath(tp)
where the text-path parameter tp can be assigned the value: right, left, up, down

1.6 Two-Dimensional Geometric Transformations

In many applications, there is also a need for altering or manipulating displays.


Changes in orientation, size, and shape are accomplished with geometric
transformations that alter the coordinate descriptions of objects.

The basic geometric transformations are translation, rotation, and scaling. Other
transformations that are often applied to objects include reflection and shear.

1.6.1 Translation

Translation is a process of changing the position of an object in a straight-line path


from one coordinate location to another.

We translate a two-dimensional point by adding translation distances tx and ty to the


original coordinate position (x, y) to move the point to a new position ( x',y' ).
x' = x + tx

y' = y + ty

The translation distance pair (tx,ty ) is called a translation vector or shift vector.

We can express the above translation equations as a single matrix equation by using
column vectors to represent coordinate positions and the translation vector:

This allows us to write the two-dimensional translation equations in the matrix


form:

P=P+T

1.6.2 Rotation

A two-dimensional rotation is applied to an object by repositioning it along a circular


path in the xy plane.

To generate a rotation, we specify a rotation angle and the position (x y,) of the
rotation point (or pivot point) about which the object is to be rotated.

Positive values for the rotation angle define counterclockwise rotations about the
pivot point, and negative values rotate objects in the clockwise direction.

This transformation can also be described as a rotation about a rotation axis that is
perpendicular to the xy plane and passes through the pivot point.

Let us consider the rotation of the object about the origin as shown in the above
figure.

Here r is the constant distance of the point from the origin, angle is the original
angular position of the point from the horizontal, and is the rotation angle.

Using standard trigonometric equations, we can express the transformed coordinates


in terms of angles and as

5.1

The original coordinates of the point in polar coordinates are


5.2

Substituting expressions 5.2 into 5.1,we obtain the transformation equations for
rotating a point at position ( x , y) through an angle about the origin:
x' = x cos - y sin
y' = x sin + y cos

With the column-vector representations for coordinate positions, we can write


the rotation equations in the matrix form:
P= P.R
where the rotation matrix is R= cos

sin

-sin

cos

It is important to note that positive values for the rotation angle define
counterclockwise rotations about the rotation point and negative values rotate objects
in the clockwise.

For negative values of i.e for clockwise rotation, the rotation matrix becomes,
R= cos(-)

sin(-)

-sin(-)

cos(-)

cos

-sin

sin

cos

1.6.3 Scaling

A scaling transformation alters the size of an object.

This operation can be carried out for polygons by multiplying the coordinate values
( x , y) of each vertex by scaling factor sx, and sy to produce the transformed
coordinates (x', y'):
x = x . Sx ,

y = y . Sy

Scaling factor Sx , scales objects in the x direction, while Sy scales in they direction.

The above transformation equations can also be written in the matrix form:

or
P = S . P

Any positive numeric values can be assigned to the scaling factors sx, and sy

Values less than 1 reduce the size of objects;

Values greater than 1 produce an enlargement.

Specifying a value of 1 for both sx and sy, leaves the size of objects unchanged.

When sx and sy are assigned the same value, a uniform scaling is produced.

Unequai values for sx, and sy, result in a differential scaling

1.7 Other Transformations

Basic transformations such translation, rotation, and scaling are included in most
graphics packages.

Some packages provide a few additional transformations that are useful in certain
applications. Two such transformations are reflection and shear.

1.7.1 Reflection

A reflection is a transformation that produces a mirror image of an object relative to


an axis of reflection.

We can choose an axis of reflection in the xy plane or perpendicular to the xy plane.

Reflection

About Y axis

About X axis

About origin

Transformation Matrix

Reflection

Transformation Matrix

-1

About line

-1

-1

About line

-1

y = -x

-1

-1

y=x

1.7.2 Shear

A transformation that slants the shape of an object is called the shear transformation.

Two common shearing transformations are those that shift coordinate x values and
those that shift y values.

In both the cases only one coordinate(x or y) changes its coordinates and other
preserve its value.

X Shear

The x shear preserves the y coordinates, but changes the x values which causes
vertical lines to tilt right or left.

An x-direction shear relative to the x axis is produced with the transformation


Matrix

which transforms coordinate positions as

Y Shear

The y shear preserves the x coordinates, but changes the y values which cause
horizontal lines to transform into lines which slope up or down.

The transformation matrix for y shear is given as

x= x

Shy

and

y=y+Shy . x

1.8 Two Dimensional Viewing

The formal mechanism for displaying views of a picture on an output device.

Typically, a graphics package allows a user to specify which part of a defined picture
is to be display& and where that part is o be placed on the display device.

For a two-dimensional picture, a view is selected by specifying a subarea of the total


picture area.

The pidure parts within the selected areas are then mapped onto specified areas of the
device coordinates.

When multiple view areas are selected, these areas can be placed in separate display
locations, or some areas could be inserted into other, larger display areas.

Transformations from world to device coordinates involve translation, rotation, and


scaling operations, as well as procedures for deleting those parts of the picture that
are outside the limits of a selected display area.

Viewing Pipeline

A world-coordinate area selected for display is called a window.

An area on a display device to which a window is mapped is called a viewport.

The window defines what is to be viewed; the viewport defines where it is to be


displayed.

Often, windows and viewports are rectangles in standard position, with the rectangle
edges parallel to the coordinate axes.

In general, the mapping of a part of a world-coordinate scene to device coordinates is


referred to as a viewing transformation.

Sometimes the two-dimensional viewing transformation is simply referred to as the


window-to-viewport transformation or the windowing transformation.

But, in general, viewing involves more than just the transformation from the window
to the viewport.

We carry out the viewing transformation in several steps, as indicated in Figure

First, we construct the scene in world coordinates using the output primitives and
attributes

Next. to obtain a particular orientation for the window, we can set up a two
dimensional viewing-coordinate system in the world-coordinate plane, and define a
window

In the viewing-coordinate system. The viewing coordinate reference frame is used to


provide a method for setting up arbitrary orientations for rectangular windows.

Once the viewing reference frame is established, we can transform descriptions in


world coordinates to viewing coordinates.

We then define a view port in normalized coordinates (in the range from to I ) and
map the viewing-coordinate description of the scene to normalized coordinates. At
the final step, .11I parts of the picture that he outside the viewport are clipped, and the
contents of the viewport are transferred to device coordinates. By changing the
position of the viewport, we can view objects at different positions on the display area
of an output device. Also, by varying the size of viewports, we can change the size
and proportions of displayed objects.
Window to Viewport coordinate transformation

Once object descriptions have been transferred to the viewing reference frame, we
choose the window extents in viewing coordinates and select the viewport limits in
normalized conrdinates

Object descriptions are then transferred to normalized device coordinates. We do this


using a transformation that maintains the same relative placement of objects in
normalized space as they had in viewing coordinates.

If a coordinate position is at the center of the viewing window, for instance, it will be
displayed at the center of the viewport.

The above figure illustrates the window-to-viewport mapping. A point at position


(xw, yw) in the window is mapped into position (xv, yv) in the associated viewport

To maintain the same relative placement in the viewport as in the window, we require

that
Solving these expressions for the viewport position (xv, yv), we have

where the scaling factors are

1.Perform a scaling transformation using a fixed-point position of (xwmin,ywmin) that


scales the window area to the size of the viewport.
2.Translate the scaled window area to the position of the viewport.
1.9 2D Clipping

Generally, any procedure that identifies those portions of a picture that are either
inside or outside of a specified region of space is referred to as a clipping algorithm,
or simply clipping.

The region against which an object is to clipped is called a clip window.

The clipping algorithm determines which points, lines or portions of lines lie within
the clipping window.

These points,lines or portions of lines are retained for display. All others are
discarded.

Point Clipping

Assuming that the clip window is a rectangle in standard position, we have a point
P = ( x , y) for display if the following inequalities are satisfied:

The equal sign indicates that points on the window boundary are included within the
window.
Line Clipping

The lines are said to be interior to the clipping window and hence visible if both end
points are interior to the window (e.g)line P1P2 in figure.

If both end points of a line are completely to the right of , completely left of,
completely above, or completely below the window

then the line is completely

exterior to the window and hence invisible.(e.g) line P3P4 in figure

If we cannot identify a line as completely inside or completely outside, we must


perform intersection calculations with one or more clipping boundaries.(e.g) line P5P6.

To minimize the intersection calculations and to increase the efficiency of the


algorithm-Initially , completely visible and invisible lines are identified and then the
intersection points are calculated for the remaining lines.

CohenSutherland Line Clipping Algorithm

This is one of the oldest and most popular line-clipping algorithm developed by Dan
Cohen and Ivan Sutherland.

To speed up the processing this algorithm performs initial tests that reduce the
number of intersections that must be calculated.

This algorithm uses a 4 bit digit (bit) code to indicate which of nine regions contain
the end point of line.

The four bit codes are called region codes.

These codes identify the location of the point relative to the boundaries of the
clipping rectangle as shown in the figure.

Each bit position in the region code is used to indicate one of the four relative
coordinate positions of the point with respect to the clipping window to the left, right,
top, or bottom.

The rightmost bit is the first bit and the bits are set to 1 based on the following
scheme
Set Bit 1

if the end point is to the left of the window

Set Bit 2

if the end point is to the right of the window

Set Bit 3

if the end point is to the below of the window

Set Bit 4

if the end point is to the above of the window

Otherwise, the bit is set to zero.

A value of 1 in any bit position indicates that the point is in that relative position;
otherwise, the bit position is set to 0.

If a point is within the clipping rectangle,the region code is 0000.

A point that is below and to the left of the rectangle has a region code of 0101.

Bit values in the region code are determined by comparing endpoint coordinate values
(x, y) to the clip boundaries.

Bit 1 is set to 1 if x < xwmin,. The other three bit values can be determined using
similar comparisons.

Once we have established region codes for all line endpoints, we can quickly
determine which lines are completely inside the clip window and which are clearly
outside.

Any lines that are completely contained within the window boundaries have a region
code of 0000 for both endpoints, and we trivially accept these lines.

Any lines that have a 1 in the same bit position in the region codes for each endpoint
are completely outside the clipping rectangle, and we trivially reject these lines.

A method that can be used to test lines for total clipping is to perform the logical and
operation with both region codes. If the result is not 0000, the line is completely
outside the clipping region. Lines that cannot be identified as completely inside or
completely outside a clip window by these tests are checked for intersection with the
window boundaries.

Algorithm
1. Read two end points of the line say P1(x1,y1)and P2(x2,y2)
2. Read two corners(left-top and right-bottom) of the window, say(Wx1,Wy1 and
Wx2,Wy2)
3. Assign the region codes for two end points P1 and P2 using the following steps
Initialize code with bits 0000
Set Bit 1

if (x<Wx1)

Set Bit 2

if (x>Wx2)

Set Bit 3

if (y<Wy2)

Set Bit 4

if (y>Wy1)

4. Check for visibility of line P1P2


a) If region codes for both end points P1 and P2 are zero then the line is
completely visible.Hence draw the line and go to step 9
b) If region codes for end points are not zero and the logical ANDing of them is
also nonzero then the line is completely invisible,so reject the line and go to
step 9.
c) If region codes for two end points do not satisfy the conditions in 4a) and 4b)
the line is partially visible.

5. Determine the intersecting edge of the clipping window by inspecting the region
codes of two end points.
a) If region codes for both the end points are non zero, find intersection points
P1 and P2 with boundary edges of clipping window with respect to point P1
and P2 respectively.
b) If region code for any one end point is non zero then find intersection point
P1or P2 with the boundary edge of the clipping window with respect to it.
6. Divide the line segments considering intersection points.
7. Reject the line segment if anyone end point of it appears outside the clipping window.
8. Draw the remaining line segments.

UNIT II - THREEDIMENSIONAL CONCEPTS


2.1 Three Dimensional Transformations

Manipulation viewing and construction of three dimensional graphic image requires


the use of three dimensional geometric and coordinate transformations.

Three dimensional geometric transformations are extended from 2D methods by


including considerations for the z coordinate.

Like 2D transformations, these transformations are formed by composing the basic


transformations of translation, scaling and rotation.

Each of these transformations can be represented as a matrix transformation with


homogeneous coordinates.

Therefore any sequence of transformations can be represented as a single matrix,


formed by combining the matrices for the individual transformations in the sequence.

2.1.1 Translation

Three dimensional transformation matrix for translation with homogeneous


coordinates is as given below.

It specifies three coordinates with their own translation factor.


1

tx

ty

tz

P = P . T

[x y z 1] = [x y z 1]

= [x+tx y+ty

tx

ty

tz

z+tz

1]

Like 2 D transformations, an object is translated in three dimensions by transforming each


vertex of the object.
2.1.2 Scaling

Three dimensional transformation matrix for scaling with homogeneous coordinates


is as given below.

It specifies three coordinates with their own translation factor.

S =

Sx

Sy

Sz

Sx

Sy

Sz

z.Sz

1]

P = P.S

[x y z 1] =

[x y z 1] 0

= [x.Sx y.Sy

2.1.3 Rotation

Unlike 2D rotation, where all transformations are carried out in the xy plane, a 3D
rotation can be specified around any line in space.

Therefore for 3D rotation we have to specify an axis of rotation about which the
object is to be rotated along with the angle of rotation .

The rotation axes that are parallel to coordinate axis is easy to handle.

Coordinate Axis Rotation

The z axis rotation equations of 2D is extended to three dimensions. The equations


are
x' = x cos - y sin
y' = x sin + y cos
z=z

The 3D z axis rotation equations are expressed in homogeneous coordinate as follows


x

cos

-sin

y =

sin

cos

which can also be written as,


P=Rz().P

Using cyclic permutation of the coordinate parameters x,y and z, the transformation
equations for rotations about the other two coordinate axes can be obtained.

The replacements we can use are


x---->y---->----z---->x

X axis rotation

The equations are:


y' = y cos - z sin
z' = y sin + z cos
x=x

This can be written in homogeneous coordinate form as


x

or

y =

cos

-sin

sin

cos

P=Rx().P

y axis rotation

The equations are:


z' = z cos - x sin
x' = z sin + x cos
y=y

This can be written in homogeneous coordinate form as


x

cos

-sin

y =

-sin

cos

P=Ry().P

or

2.2 3D Viewing and Projections

The 3D viewing process is inherently more complex than the 2D viewing process.

In 2D viewing we have 2D window and 2D viewport and objects in the world


coordinates are clipped against the window and are then transformed into the
viewport for display.

The complexity added in the 3D viewing is the added dimension (z) and the fact that
eventhough objects are 3D the display devices are only 2D.

The mismatch between 3D objects and 2D displays is compensated by introducing


projections.

The projections transform 3D objects into a 2D projection plane.The figure below


shows the conceptual model of the 3D transformation process.

In 3D viewing, we specify a view volume in the world coordinates using modeling


transformation.

The world coordinate positions of the objects are then converted into viewing
coordinates by viewing transformation.

The projection transformation is then used to convert 3D description of objects in


viewing coordinates to the 2D projection coordinates.

Finally the workstation transformation transforms the projection coordinates into the
device coordinates.

2.3 Viewing Coordinates

We can view the object from the side or the top or even from behind.

Therefore it is necessary to choose a particular view for a picture by first defining a


view plane.

A view plane is nothing but the film plane in the camera which is positioned and
oriented for a particular shot of the scene

World coordinate positions in the scene are transformed to viewing coordinates ,then
viewing coordinates are projected on to the view plane.

A view plane can be defined by establishing the viewing-coordinate system or view


reference coordinate system as shown in the figure.

The first viewing parameter we must consider is the view reference point.

This point is the center of our viewing coordinate system.

It is often chosen to be close to or on the surface of some object in a scene.

Its coordinates are specified as Xr,Yr and Zr.

The next viewing parameter is a view plane normal vector. This normal vector is the
direction perpendicular to the view plane.

The view plane normal vector is a directed line segment from the view plane to the
view reference point. The length of this directed line segment is referred to as view
distance. This is another viewing parameter. It tells how far the camera is positioned
from the view reference point.In other words we can say that a view plane is
positioned view-distance away from the view reference point in the direction of the
view plane normal.

It is possible to obtain the different views by rotating the camera about the view plane
normal vector and keeping view reference point and direction of N vector fixed.

At different angles, the view plane will show the same scene, but rotated so that a
different part of the object is up.The rotation of a camera or view plane is specified by
a view-up vector V which is another important viewing parameter.

2.3.1 Transformations from World to Viewing Coordinates

The conversion of object descriptions from worldcoordinates to viewing coordinates


is achieved by following transformation sequence
1. Translate the view reference point to the origin of the world-coordinate system.
2. Apply rotations to align the xv, yv and zv axes with the world xw, yw and zw
axes, respectively.

If the view reference point is specified at world position (xo yo, zo), this point is
translated to the world origin with the matrix transformation

The rotation sequence can require up to three coordinate-axis rotations, depending on


the direction we choose for N.

In general, if N is not aligned with any world-coordinate axis, we can superimpose


the viewing and world systems with the transformation sequence Rx.Ry.Rz

That is, we first rotate around the world xw axis to bring zv into the xwzw , plane.

Then, we rotate around the world yw axis to align the zw and zv axes. The final
rotation is about the zw axis to align the yw and yv. axes.

If the view reference system is left-handed, a reflection of one of the viewing axes
(for example, the z,, axis) is also necessary.This is illustrated in the figure

Another method for generating the rotation-transformation matrix is to calculate unit


uvn vectors.If we know N and V vectors, the unit vectors are calculated as

This method also automatically adjusts the direction for V so that v is perpendicular
to n. The composite rotation matrix for the viewing transformation is then

which transforms u onto the world xw axis, v onto the yw.axis, and n onto the zw.
axis. In addition, this matrix automatically performs the reflection necessary to
transform a left-handed viewing svstem onto the right-handed world system.
2.4 Projections

Once world-coordinate descriptions of the objects in a scene are converted to viewing


coordinates, we can project the three-dimensional objects onto the twodimensional
view plane. There are two basic projection methods.

In a parallel projection, coordinate positions are transformed to the view plane along
parallel lines, as shown in the ,example figure

For a perspective projection object positions are transformed to the view plane along
lines that converge to a point called the projection reference point (or center of
projection).The projected view of an object is determined by calculating the
intersection of the projection lines with the view. plane.

Types of Parallel Projections

Parallel projections are basically categorized into two types, depending on the relation
between the direction of projection and the normal to the view plane.

When the direction of the projection is normal(perpendicular) to the view plane,we


have an orthographic parallel projection.

Otherwise we have an oblique parallel projection

Orthographic projections

They are most often used to produce the front, side, and top views of an object, as
shown in the figure.

Front, side, and rear orthographic projections of an object are called elevations; and a
top orthographic projection is called plan view.

In all these the projection plane is perpendicular to the principle axis.

Engineering and architectural drawings commonly employ these orthographic


projections, because lengths and angles are accurately depicted and can be measured
from the drawings.

We can also form orthographic projections that displav more than one face of an object. Such
view are called axonometric orthographic projection

Unit III -Multimedia Systems Design


3.1 Multimedia

It is an ideal language for communication

It is any integrated combination of text, art/images, sound, animation and video


delivered by computer or other electronic or digitally manipulated means.

A Multimedia system is characterized by computer controlled, integrated production,


manipulation, presentation, storage and communication of independent information,
which is encoded at least through a continuous and a discrete medium.

If the user has control over the multimedia presentation then it becomes a non-linear
and Interactive Multimedia presentation.

Applications that involve more than conventional data types

Multimedia is a computer-based interactive communication process that incorporates


text, graphics, sound, animation, and video

Hypertext

Text which contains links to other texts/web pages or other media.

It allows a nonlinear way of navigation through the content.

Hypermedia:

Media having links to other media.

All the web based applications and web sites are hypermedia based.

3.2 Applications
i) Document imaging

The fundamental concepts of storage, compression, and decompression and display


technologies used for multimedia systems were developed for document image
management.

Document imaging makes it possible to store, retrieve, and manipulate very large
volumes of drawings, documents and other graphical representations of data.

A compression efficiency of over 20:1 is considered highly desirable for document


images for most office systems.

For high-resolution images, processing of the order of 10 pixels/ns is considered


adequate for monochrome still images.

ii) Image Processing and Image recognition

Image processing involves image recognition, image enhancement, image synthesis,


and image reconstruction.

Image enhancement includes image calibration, real-time alignment, gray-scale


normalization, RGB hue intensity adjustment, Color separation, Frame averaging.

Image animation scanned images can be displayed sequentially at controlled display


speeds

Image annotation as a text file stored along with the image. The annotation is
overlaid over the original image for display purposes.

OCR is used for data entry by scanning typed or printed words in a form.

Handwriting recognition ability to recognize writer-independent continuous cursive


handwriting accurately in real time. Two factors are important; strokes or shapes
being entered and the velocity of input or the vectoring that is taking place.

The strokes are parsed and processed by a shape recognizer that tries to determine the
geometry and topology of the strokes. It attempts to compare it to existing shapes,
such as predefined characters. Then the word may be checked against a dictionary.

Non-textual image recognition: uses facial expressions, posture, and gestures which
represent important input.

iii) Full motion digital video applications

Full-motion video clips should be sharable but should have only one sharable copy

It should be possible to attach full-motion video clips to other documents such as


memos, chapter text, presentations, and so on.

Users should be able to take sections of a video clip and combine the sections with
sections from other video clips to form their own new video clip

All the normal features of a VCR metaphor, such as, rewind, FF,play and search etc
should be available.

Users should be able to search to the beginning of a specific scene, that is , the fullmotion video clip should be indexed.

Users should be able to place their own indexing marks to locate segments in the
video clip.

It should be possible to view the same clip on a variety of display terminal types with
varying resolution capabilities without the need for storing multiple copies in
different formats.

It should be possible for users to move and resize the window displaying the video
clip.

The users should be able to adjust the contrast and brightness of the video clip and
also adjust the volume of the associated sound.

Users should be able to suppress sound or mix sound from other sources.

When video clips are spliced, then sound components are also spliced automatically.

iv) Electronic messaging

Message store and forward facility

Message transfer agents to route messages to their final destinations across various
nodes in a multilevel network.

Message repositories (servers) where users may store them just as they would store
documents in a filing cabinet

Repositories for dense multimedia components such as images, video frames, audio
messages and full-motion video clips.

Ability for multiple electronic hypermedia messages to share the same multimedia
components residing in various repositories on the enterprise network.

Dynamic access and transaction managers to allow multiple users to access, edit, and
print these multimedia messages.

Local and global directories to locate users and servers across an enterprise network

Automatic database sync of dynamic electronic messaging databases.

Automatic protocol conversions and data format conversions

Administrative tools to manage enterprise wide networks.

v) A universal multimedia application

An application that manipulates data types that can be combined in a document,


displayed on a screen, or printed with no special manipulations that the user needs to
perform

Full motion video messages

Viewer interactive live video

Audio and video indexing

Other Applications

Medical applications

Real-estate on-line video clips with property descriptions

multimedia help and training material

security systems for employee identification

Advantages

Reduced production costs

Ease of use and development

Better way of communication

Can be used by a wide section of target users

Utilizes the power of E-delivery platforms

Convergence of computers, telecom, and TV

Collaboration, virtual environments, and web casting

Elements

Fascimile

Document images

Photographic images

Geographic information systems maps

Voice commands and voice synthesis

Audio messages,Video messages

Full-motion stored and live video

Holographic images

fractals

3.3 Multimedia systems architecture

APPLICATIONS
Graphical User Interface
Operating System

Multimedia Extensions
Software Drivers

Multimedia Driver Support

System Hardware

Add-on Multimedia

(Multimedia-Enabled)

Devices and Peripherals

Network architecture for multimedia systemsThe network congestion can be attributed to


a combination of the following causes

Increased computing power of the desktop systems, workstations, and PCs and their
ability to run multiple applications concurrently.

Business needs for more complex networks for a larger variety of data transmissions
including voice, data, and video messages

Increased traffic loads on existing backbone networks.

Use of client server architectures for a wide range of applications

Graphics-intensive applications

Voice and video based multimedia applications that require large volumes of data
storage.

Number of users accessing the network

3.4 Evolving Technologies of Multimedia


Hypermedia Documents
Technical and business documents are compiled, written and distributed in electronic form.
Also

Fast networks transform it to Computer based electronic hypermedia documents

Hypermedia documents In addition to text, embedded or linked multimedia objects


such as image, audio, hologram or full motion video

Hypertext is the root of hypermedia

Hypertext

Allows the author to link the information together and create information path
through a large volume of related text in doc.

Eg. Annotating the text, Append the notes that directs the readers to bibliographic
information/ Reference material

Hypertext - Merits

Fast and Easy searching

Reading of selected excerpts through text spanning up to 100 of 1000s of pages

Allow multimedia messaging facility

Allows for searching of not only the text through keywords

Also video clips audio clips etc

Hypertext - Demerits

Critical

Maintaining version control

Managing organized access to documents

Locating the documents with required information

Storage

Does not meant that full copies of each component of hypermedia doc embed within
the doc file. -> Include other documents

Hyper speech

Development of Multimedia and cellular networks

Speech Synthesis used in limited form

Eg. Mail message can be used to generate a hyper speech file user can easily
navigate concept to concept.So, User get synopsis of a report in vary short time and
effectively respond

Similar to Voice mail

Speech Recognition

Voice mail requires this

Speech recognition requires substantial processing power

High performance Microprocessors such as main CPU workstations, DSPs and


codecs of sound handles this process

Converting analog speech into a computer action i.e . ASCII text

HDTV and UDTV

Development and usage of PCs raise the resolution levels of commercial TV


broadcasting

NTSC,PAL,SECAM,NHK TV broadcasting standards

Single High Definition TV HDTV world together

Japanese broadcasting services 1125 line MUSE systems

U.S changes analog to digital tech. 1125 lines digital HDTV - developed

UDTV

NHK of japan UDTV Ultra Definition TV (digital UDTV) 3000 lines

Requires Ultra resolution displays at commercially liable prices, High speed video
processing,, Ultra broadband communication bandwidths for WAN services

Benefit the computer industry Merging Communication and display

Development in digital codecs, modulators and demodulators

Fuzzy Logic

A subject of research used in low level process controllers

FL working in DSP FLSP

Graphics rendering, data compression

Voice recognition and synthesis

Signal processing

High resolution facsimile

Still photographic images

Digital Signal Processing

DSP Chips are used in Digital Cellular telephone systems

Digital servos in hard disk drives, fax.modems

Used in Wireless Communications

Digital Servo tech- greater track densities and faster seek times

3.5 Multimedia Database


DBMS for Multimedia

Challenges Faced:
1.Necessary to incorporate the different forms of information including
text,graphics and video into their applications
2.Even the compressed multimedia object- large
3.Audio and Video objects are played at fixed rate
Since the multimedia application. is based on communication , the database system
must be fully distributed

Various databases are available Choose the best

Extend the existing RDBMS to support various objects of multimedia as binary


objects

Extend RDBMS beyond the binary objects inheritance and classes -> OOP

Convert to full-fledged OOD that supports the std SQL languages

Convert the database and application to OOD and use OOP/Object enabled SQL for
development

Limitations of RDBMS

Lacked the ability to support multimedia databases

Key limitation for RDBMS-Multimedia application can stem from 2 areas: Relational
Data model and Relation computational model

RDBMS designed to manage only the tabular column of alphanumeric data while
multimedia combine numeric,text,images,audio,video, and more

RDBMS Extensions for Multimedia

Leading RDB adapts BLOB Binary Large Object Free form text and binary data

BLOB images and binary data types

RDB table location information for BLOBs stored outside the DB on separate
image/video servers

RDB extended access the BLOB Complete data set user

Important feature RDBMS lacked in ODBMS (Encapsulation and Inheritance)

OODB for Multimedia

Object Databases-route to multimedia support

OOP Principle of reusability and modularity Ease the maintenance of databases

Object database capabilities such as message passing, extensibility and the support for
hierarchical structures important for multimedia systems

ODBMS extensible and allow incremental changes to database applications

Properties

Message Passing- allows the object to interact with each other by invoking each
others method and the process of handling of data from one component of the
application to other

Extensibility Set of operations,structures and constraints available to the operations


are not fixed and developers can define new one which then can be added

ncapsulation Ability to deal with S/W entities as units that interact in predefined
and controlled manner

Association Ability to define a S/W entity in terms of its difference from another
entity

Classification Ability to represent a single entity by a no. of data items all having
same attribute and behavior

Merits of OODBMS

Encapsulation : - Hide the function of one part to other

Hides the inner functioning leaving only the interfaces as the means of
communication

Builds autonomy for each database

DB Organization for Multimedia Application


Key issues for organizing the database for multimedia are :

Data Independence

Common distributed database architecture

Distributed database servers

Multimedia object Management

Data Independence

Flexible access by no. of databases data to be independent from application

Future application can access without any constraints

Key features of data independent designs :


o Storage design- independent of specific application
o Explicit data definition - independent of application programs
o Integrity Assurance - independent of application programs
o Recovery - independent of application programs
o Users need not know data formats of physical storage structures

Insulation b/w Data and Application - RDBMS

Common Distributed Database Architecture


Insulation offers the opportunity to employ this
Key features:
o Multiple independent data structures in system (server)
o Uniform distributed access by clients
o A single point for recovery of each database server
o Convenient data reorganization to suit requirements
o Tunability and creation of object classes
o Expandability
Distributed Database Servers

Dedicated resources on a N/W accessible to a no. of applications

DB servers build for growth and enhancement and the N/W provides an opportunity
for growth of applications and distributed access to the data

Multimedia Object Management

Hypermedia documents and database records may contain the linked multimedia
objects

OMS - Indexing,grouping and storing multimedia objects in distributed hierarchical


optical storage and accessing on keyed basis

Design of OMS Indexing the objects in such a manner so that there is no need to
maintain multiple storage copies

Transaction Management

Multimedia transactions- Complex

Users request Completed User releases the hypermedia document and stored the
edited versions and discards the copy in memory

Conflict Two users attempt to read same document

As hypermedia not presented successfully until all the components are available for
display

Distributed Object-Oriented Data System Design all the components of hypermedia


documents are referenced within an object as attributes

UNIT IV - MULTIMEDIA FILE HANDLING


4.1 Compression

Large volume of data requires huge storage area as well more time for transmission.

Maintaining large volume of data online in a network poses network congestion.

Inorder to maintain large multimedia data objects efficiently compression is


needed.

Compression
o reduces the file size for storage

o eliminate redundancies in the data


o coding mechanism can be used to count the pixel stored
o requires less memory space and less transmit time.
Types of Compression
Lossy Compression
Lossless Compression
Applications
FAX
Printer syaytem
Document storage
Video teleconferencing
Email
Lossless compression

Data is not altered or lost in the process of compression or decompression


Decompression generates an exact original image.
E.g) Text Compression

Spread sheets, word processor files, database files, program executable files usually
contain repeated sequences of characters. Compression techniques (usually reducing
the repeated character count) are used for saving disk space.

When decompressed the repeated characters are reinstated.

So there is no loss of information in this approach.

Similarly image and gray scale images contain information that is repetitive in nature,
that is series of successive pixels may be of the same type

If you compresed an image scanned at 300 dpi then, the image resolution is
maintained at 300dpi

While decompress the image produces the exact 300 dpi resolution image

CCITT Group 3 1-D

Based on run- length encoding

Designed only for black and white not for gray scale images

Application: Facsimile and document imaging systems

Huffman Encoding

Modified version of run length encoding

Used for many S/W document imaging

Used for encoding the pixel run length in CCITT G3 and G4

It is variable length encoding. It generates the shortest code for frequently occurring
run

length and longer code for less occurring fun length

Mathematical Algorithm for Huffman Encoding

Huffman encoding is based on coding tree

Based on Probability of occurrence of a bit straem of length Rn is P (Rn)

Table shows codes for white and black run length

Code Table
Black run length

00110101

0000110111

000111

010

0111

11

1000

10

1011

011

For eg : run length code for 16 white pixels 101010

6 black pixels 0000010111

Statistically the occurrence of 16 white is more frequent than 16 black pixels

Shorter code for white than black

Code greater than string 1792 identical for white and black pixels

Make up codes run length in multiple of 64 pixels

Terminating codes run length of less than 64 pixels

Eg. 132 White pixels 100101011

Make up code for 128 white pixels 10010

Terminating code for 4 white pixels- 1011

Merits and Demerits of CCITT G3 1D

Simple to implement in both H/W and S/W

World-wide standard for facsimile and document imaging systems

Very simple format

Demerits:

One dimensional as it encodes one row at a time

Reliable comm.n but not error protection

CCITT Group 3 2D Compression

Modified run length encoding

Used for software based imaging system and facsimile

Easier to decompress in software than CCITT G4

Uses a k factor where the image is divided into several group of lines. Based on the
statistical nature of images

Image data across the adjacent line are redundant

Eg. If black and white transition occurs , chances of same transition will be within
+3 to -3

First line reference line and two dimensional scheme is used

First line coded with CCITT G3 1 D. From this further is proceeded

Data Formatting for CCITT G3 2D

Vertical code, Pass code, Horizontal code

Pass code 0001

Horizontal code 001

Seven types of Vertical code

Difference between pixel position in ref

Vertical code

line and coding line


3

0000010

000010

010

-1

011

-2

000011

-3

0000011

Merits and Demerits

Allow error free transmission

Compression ratio

Accepted for document imaging app.n

Does not provide dense compression

CCITT G4 2D

2D without k-factor

Ref line is imaginary

High level compression

Single error leads to rest of page being skewed

4.2 Need of Data and File Format Standardization

Standards are a snapshot of the current state of the technology and reflect the current
demands of applications.

Sharing of data among multiple applications and for exchanging information between
applications.

Data and File formats for Multimedia Systems

Rich Text Format (RTF)

Tagged Image file format (TIFF)

Resource Interchange file format (RIFF)

WAVE file format for digital audio

MIDI file format for musical sounds

DIB file format for device-independent mapping

PAL file format for colors in RGB

AVI file format for audio-video sequences

Joint Photographic Experts Group (JPEG)

DIB file format for still images

Motion JPEG images

Audio Video Interleaved (AVI) Indeo file format

TWAIN

Rich-Text File (RTF)

Rich Text Format is a standard formalized by Microsoft Corporation for specifying


formatting of documents.

RTF files are actually ASCII files with special commands to indicate formatting
information, such as fonts and margins.

Rtf documents can be viewed in a number of programs including Microsoft Word and
Notepad and can be interpreted across platforms.

Rich-Text Format

Character set

Font table

Color table

Document formatting

Section formatting

Paragraph formatting

General formatting

Character formatting

Special characters

Significance of RTF in a Multimedia System

RTF is used to attach, embed or link other text files or even binary files such as
executables, audio and video files.

TIFF File FormatTIFF is an acronym for Tag(ged) Image File Format. It is one of
the most popular and flexible of the current public domain raster file formats.

Tagged Image File Format (abbreviated TIFF) is a file format for storing images,
including photographs and line art.

Features of TIFF

TIFF is capable of describing bi-level, grayscale, palette-color, and full-color image


data in several color spaces.

TIFF includes a number of compression schemes that allow developers to choose the
best space or time tradeoff for their applications.

TIFF is not tied to specific scanners, printers, or computer display hardware.

TIFF is portable. It does not favor particular operating systems, file systems,
compilers, or processors.

TIFF is designed to be extensibleto evolve gracefully as new needs arise.

TIFF allows the inclusion of an unlimited amount of private or special-purpose


information.

4.3 Digital Audio & Video


Analog vs. Digital
Analog: A signal that has a continuous nature rather than a pulsed or discrete nature.
Note: Electrical or physical analogies, such as continuously varying voltages, frequencies,
or phases, may be used as analog signals.
Digital: A signal in which discrete steps are used to represent information.
Basic Digital Audio Concepts

Sampling rate
Number of sample taken of a signal in a given time (usually one second)

Bit depth
Describes the accuracy of the audio data

Channels
E.g. Stereo has two channels

Bit rate
Measured in kilobits per second (Kbps) is a function of the bit depth and sampling

rate
Sampling rate

The more sample taken per second, the higher the accuracy.

Typically measured in kilohertz (KHz).

CD audio has 44,100 samples per second (44.1KHz).

8 KHz produces lower quality radio sound.

Standard sampling rates include 8KHz, 11.025KHz,

The high-end 96K is used in DVD, but is not applicable to the Web.

Bit depth

Also called sampling resolution or word length.

The more bits, the better is the quality of the audio (and a larger file of course).

Common bit depths are 8-bit (telephone like), 16-bit (CD quality), and 20, 24, 32, 48bit depths.

How many signal can a 8-bit and a 16-bit data represent?

0000 0000 1111 1111


0000 0000 0000 0000 1111 1111 1111 1111

Channels

Audio file can support one to six channels of audio formats.

Mono one channel

Stereo two channels

Some others three, four channels.

Six channels 5.1-channel surround sound.

More multi-channel formats announce in the coming years.

Bit rate

Audio files are measured in terms of bit rate which is measured in kilobits per second
(Kbps).

it can be calculated by dividing the file size by the time (in second) to play the audio
clip.
E.g. 3Mb file play in 30 seconds
3000k / 30 = 100kbps.

Quality at different compression rates

Optimizing for the Web

Length of the audio clip


Keep the audio clip as short as possible.
E.g. just keep the most sweetest part of your greeting.

Number of channels
A mono audio file is halved the space of a stereo file.
Depends on your actual needs.

Bit depth

Audio file on the Web are usually 8-bits.


Half the size of a 16-bit file.

Sampling rate
Half the sampling rate will also halve the space needed.
Voice only audio file can be reduced to 8KHz.
22 KHz music clips are acceptable.

Putting all things together: Mono, 8-bit, 22KHz, MP3 compression.

Calculate audio size

8-bit mono: seconds x KHz

16-bit mono: (seconds x KHz) x 2

8-bit stereo: (seconds x KHz) x 2

16-bit stereo: ([seconds x KHz] x 2)x2

E.g. the file size of 30 seconds of 16-bit, 11KHz mono audio:


(30 x 11) x 2 = 660K.

Streaming Audio

What is it?
Play almost immediately after the request, continues playing the transferring data.

Advantages:
Address the problem of long download time.
Control distribution and protect copyright, because the user cannot get a copy of the
file.

Disadvantages:
Sound quality may be be affected by low speed or unstable Internet connection.

Web Audio Formats

WAV/AIFF (.wav/.aif/.aiff)
The Waveform Audio File format (.wav) was developed by Microsoft, supports
arbitrary sampling rates and bit depths.
The Audio Interchange File format (.aif, .aiff) was developed for Macintosh

platform.
They are less likely used on the Web, because people use mp3 or streaming.

MP3 (.mp3)
Able to maintain excellent sound quality at very small file sizes.
The compression reduces an audio file to one-tenth of its original size.
E.g. 40MB file 3.5MB

MP3 is actually MPEG-1 Layer-III

Good for distribution of HQ audio.

What is MP3 digital encoding?

MP3 is actually the file extension for MPEG, audio layer 3.

Layer 3 is one of three coding schemes (layer 1, layer 2, and layer 3) for the
compression of audio signals.

Layer 3 uses perceptual audio coding and psychoacoustic compression to remove all
superfluous information. (More specifically, it removes the redundant and irrelevant
parts of a sound signal--the stuff the human ear doesn't hear anyway).

It also adds a MDCT (Modified Discrete Cosine Transform) that implements a filter
bank, increasing the frequency resolution 18 times higher than that of layer 2.

MIDI (.mid/.midi)

MIDI stands for Musical Instrument Digital Interface which is developed for
electronic musical instruments.

MIDI files are very compact and very good for low-bandwidth delivery.

Instruments are piano, drums, bass, orchestral strings,

It is very attractive for adding MIDI file to your website with very little download
time.

Windows Media (.wma/.asf)

Windows Media is a streaming system.

It wraps all media elements into a Active Streaming File (.asf).

Audio may be saved as non-streaming Windows Media Audio format (.wma).

Good for continuous-play audio.

The encoder and player is Free, shipped with Windows OS.

Choosing an audio format


Audio Needs

Suggested formats

Short voice greetings

WAV, AIFF, MP3

News broadcasts

Streaming solutions (RealAudio, Windows


Media)

Background music

MIDI, WAV

Music samples for some audience

MP3 or QuickTime

Radio-style or Live broadcasting

RealMedia System

Musical E-greeting card

MIDI, WAV

4.4 Video Image And Animation


Movie length

File size is proportional to the movie length.

Videos longer than 1 or 2 minutes cause long download times.

If it is a long video, consider to use streaming video.

Frame size

Full-screen video is 640x480 pixels.

The most common frame size for web video is 160x120 pixels.

Not recommend to use a frame size larger than 320x240.

The size depends on the CPU power and the Internet connection bandwidth.

Frame rate

Frame rate is measured in number of frames per second (fps).

Standard TV-quality video uses 30 fps.

For the web, 15 or even 10 fps is more appropriate and produces fair smooth quality
for the user.

Commercial Internet Broadcasts are using 0.5, 0.25 frames per second.

Quality

Many video-editors allow you to set the overall quality of the video.

The degree of compression controls the target quality.

The low or medium setting results a fairly high compression which is appropriate for
web delivery.

Frame rate and quality are usually tradeoff in different applications.

Color bit depth

The number of pixel colors in each frame affects the size of the video.

The file size of the video will be greatly reduced by changing the number of colors
from 24-bit to 8-bit.

It sacrifices the image quality of the video.

Data rate (bit rate)

This is the rate that the data must be transferred in order to ensure the video can play
smoothly without interruption.

It is measured in kilobytes per second (K/sec or Kbps).

It can be calculated by dividing the size of the file (in K) by the movie length (in
seconds).
E.g. the video file size is 1.9MB 1900K
Play 40 seconds long, Data rate = 47.5K/sec

Consider the Internet bandwidth!

Calculate space requirements of Video

NTSC video (640 x 480 and 29.97 fps)


Frame size = ([Pixel width x pixel height x bit depth]/8)/1024
E.g. 200KB/Frame : 6.0 MB/sec
200KB x 30 fps = 6000KB/s, 6 MB/sec

PAL video (768 x 576 and 25 fps)


E.g. 200KB/Frame : 5.0 MB/sec
200KB x 25 fps = 5000KB/s, 5 MB/sec

Video File Formats

QuickTime Movie (.mov)


Introduced by Apple Computer in 1991.
First developed for Macintosh, now also supports the PCs.
Also supports streaming

RealMedia (.rm)
-Industry standard streaming format.
-RealPlayer for playback.
-RealServer for serving streams.
-RealProducer for creating .rm files.
Good for
Long-playing video or broadcast to many people

Windows Media (.wmv/ .asf)


-Created by Microsoft, closely integrated with Windows OS.
-Support Windows Media Video (.wmv) and Advanced Streaming Format (.asf) and
other formats (.avi, .mpeg, )
-Also support streaming.

AVI (.avi)
-Stands for Audio/Video Interleaved.
-Introduced by Microsoft in 1992.
-In a AVI file, the audio and video information are interleaved every frame.
Good for
Short web clips, high-quality video

MPEG (.mpg/ .mpeg)


-Created by Moving Picture Experts Group (MPEG).
-Supports 1) Video, 2) Audio, 3) Streaming.
-Extremely high compression rates with small quality degradation (lossy).
-MPEG-1 : VHS quality
-MPEG-2 : HQ standard for TV broadcast
-MPEG-4 : Very HQ for AV compression
-MPEG can be compressed by using three schemes: Layer-I, Layer-II, Layer-III.

4.5 Storage and Retrieval Technologies

What is RAID?
-RAID stands for Redundant Array of Inexpensive Disks; Originally Redundant
Array of Independent Disks.
-A way of storing the same data in different places (thus, redundantly) on multiple

disks.
-Set of disks viewed as one
-Data is distributed across disks
-Increase performance
-Access distributed data in parallel
-Increase reliability
-Through redundancy or error correction
-Six different approaches

RAID Level 0 Disk Striping


-Multiple drives connected to a single disk controller.
-High performance
-Data transfer capacity, I/O request rate
-Data is split across drives (strips), resulting in higher data throughput.
-Strips: (blocks, sectors, )
-No support for redundancy
-Since no redundant information is stored, performance is very good, but the failure
of
any disk in the array results in data loss.
-This level is commonly referred to as striping.
Disk Striping
-Striping maps multiple physical drives to a single logical drive.
-Disk striping writes data across all disks concurrently rather than on one disk at a
time.
-Although termed RAID 0, it is not a true implementation of RAID because there is
no
facility for redundancy.
-Therefore, in the event of a disk failure, data is lost.

RAID Level 1 Disk Mirroring


-Duplicate all data strips on a second drive
-Access either drive (whichever is free), high performance for reads
-Must update both drives on a write

-Recovery is simple
-Duplication increases cost considerably
-This is a good entry-level redundant system, since only two drives are required;
however, since one drive is used to store a duplicate of the data, the cost per
megabyte
is high.
-This level is commonly referred to as mirroring.

RAID Level 2 Error-Correcting Coding


-Not a typical implementation and rarely used.
-Level 2 stripes data at the bit level rather than the block level.
-Redundancy with error correction codes
-Level 2: Hamming Code (multiple bits per word)
-RAID Level 2, which uses Hamming error correction codes, is intended for use with
drives which do not have built-in error detection.
-All SCSI drives support built-in error detection, so this level is of little use when
using
SCSI drives.
-Single access involves all drives.

RAID Level 3 Byte-Interleaved Parity


-RAID Level 3 stripes data at a byte level across several drives, with parity stored on
one drive.
-Redundancy with error correction codes
-Level 3: Parity bit (1 bit per word)
-It is otherwise similar to level 4.
-Byte-level striping requires hardware support for efficient use.
-Single access involves all drives.
-Level 3, which can not service simultaneous multiple requests, also is rarely used.

RAID Level 4 Parallel Disk Array


-In RAID 3 data is distributed to a striped array and a disk is added to store redundant
information.
-The array consists of three disks for the data and one parity disk for the redundancy.

-In the event of a disk failure, data can be mathematically reconstructed from the
remaining disks in the array.

RAID Level 5
-Use sector interleaving.
-Every sector belongs to a different portion of the logical volume.
-Large writes can go in parallel
-Independent / large reads can go in parallel
-Problem: parity disk is a bottleneck!

RAID Level 6
-Block Interleaving
-Provides data striping at the byte level and also stripe error correction information.
-This results in excellent performance and good fault tolerance.
-Level 6 is one of the most popular implementations of RAID.

Storage Requirements of Multimedia Data Objects

Demanding on storage systems in terms of both storage as well as transfer.

Large multimedia objects are stored in sequential sectors.

Time dimension associated with the objects are also stored.

Requires guaranteed minimum transfer rate.

If the transfer rate is not sustained, it results in unprectiable delivery, thereby causing
video frame dropouts seen as jumpy motion and choppy audio.

Storage Size and Transfer Bandwidths for Display


Object Type

Storage Size

Bandwidth

Text

2.5KB per page

2KB/s

Binary Image Uncompressed

1MB

500KB/s

Binary Image Uncompressed 100 KB

50KB/s

G3 1D
Fax G3 1D Image

100 KB

Video at 320240 resolution 768 KB


with 16 bits for color and 5
frames/sec

50KB/s
768 KB/s

Video at 640480 resolution 27.64 MB

27.64 MB/s

with 24 bits for color and 30


frames/sec
Video at 320240 resolution 2-3 MB

2-3 MB/s

with 8 bits for color and 30


frames/sec
Animated Video at 320240 3.1 MB

3.1 MB/s

resolution with 16 bits for


color and 20 frames/sec
Audio at 8KHz sample rate 8 KB for 1 sec

8 KB/s

with 8-bits/sample and mono


Audio at 44.1KHz sample 176 kb for 1 sec
rate with 16-bits/sample and
stereo

Optical Storage

Reflected light off a mirrored or pitted surface

CD-ROM
o Spiral 3 miles long, containing 15 billion bits!
o CLV all blocks are same physical length
o Block 2352 bytes

2k of data (2048 bytes)

16 bytes for header (12 start, 4 id)

288 bytes for advanced error control

DVD-ROM
o 4.7G per layer
o Max 2 layers per side, 2 sides = 17G

176 kb/s

UNIT V - HYPERMEDIA
Multimedia
Refers to Integration of multiple media such as Text, Audio, Video, Animation and
Visual imagery
Example
Games
CBT (Computer based Training)
WBT (Web based Training)
Interactive Multimedia
If the user has the ability to control any of the multimedia components then the
multimedia becomes interactive multimedia
Example
Games (NFS)
Hypertext
Text which provides link to other chapter / Webpage / other media
Hypermedia
Interactive Multimedia becomes Hypermedia when link is provided for user to
navigate in a non linear way
5.1 Multimedia Authoring Systems
An Authoring System is a program which has pre-programmed elements for the development
of interactive multimedia Application
Advantages:

Provides an environment to organize and edit the elements of Multimedia project.

Each authoring tool support separate scripting language, so that the developer can
create

more interactivity

requires less Technical Knowledge

requires 1/8th the time to develop an interactive multimedia project, because of


re-use of codes.

Authoring Vs Programming
Authoring

assembly of Multimedia

possibly high level graphical interface design

some high level scripting.

Programming

involves low level assembly of Multimedia

construction and control of Multimedia

involves real languages like C and Java.

Example
Flash
Macro media Director
Tool book
Author ware
5.1.1 Design issues for Multimedia Authoring
i) User Expectations
1. Quality
2. Transferability
Design Issues
1.Display Resolution
2.File format
3.Compression
4.Network Interfaces
ii) Resolution

Measures the picture quality in pixels

Since wide variety of display systems and screen resolution are available we cannot
restrict the user

Instead we can standardize acceptable resolutions

Example:
TV- 640x480 is acceptable (since we watch TV from 10 to 15 feet away)
workstation-800x600 is acceptable (Since we watch from 12 to 18 inches away

iii) File format

Encode information for storage in a computer file

Various data format for image, audio, full motion video are available, but the ability
to control them is not good in most cases

Better select reliable conversion application tool

Compression

Process of encoding information using fewer bits

Since various compression algorithms are available standardize on one/ two


compression formats for each type of data.

iv) Network interfaces

Interconnects two users terminal with the help of public / private network

Since various protocols are available, standardize on reliable protocols so that


multimedia objects can be transferred without any loss.

v) Service Degradation policies


Addresses how the system deals with network overload during peak demand

Refuse further request with the message Try Later

Provide playback service, but at low resolution

Provide playback service at full resolution, but with dropped intermediate frames

Provide playback service at full resolution and frame rate, but this results in a picture
that frequently freezes.

5.1.2 Types of Multimedia Authoring System


1. Dedicated Authoring systems
Designed for single user, single stream (it can handle only one kind of an object.
Example
VCR Metaphor
Advantage
Very simple
Disadvantage
Combining even two object is complex
2.Timeline based Authoring

Objects are placed along timeline.

Timeline can be drawn on screen (or) created using script

Disadvantage
Editing a component cause all object in the timeline to be reassigned
To overcome
Define timing relation directly between objects.
3. Structured Multimedia Authoring

This approach is based on structured object level construction of complex


presentation

It involves two stages


1.construction of the structure
2.Assignment of timing constraint
Advantage
Allows explicit manipulation of the structure of multimedia presentation

4. Programmable Authoring systems


Allow authors to use functions for handling certain routine task
Advantage
In manual system, the author must check the temporal relation between objects and
gaps/ overlap. But programmable system automatically checks for gaps/overlap as
well as temporal parameters of the objects
5.2 User Interface Design
Provides window for the user for controlling, storing and retrieving data
5.2.1 Kinds of user interface development Tool
1.Media editor
create and edit a specific multimedia object
2.An authoring Application
use existing multimedia object or call upon media editor to create new object. It allow
user to combine different media steams
3.Hypermedia object creation
creates link between different media object
4.Multimedia object locator and browser

Allow the user to search for objects using some key that define the search criteria
Navigation through the Application:
Refers to the sequence in which the application progresses. To build both nodes and links are
used.
1.Direct mode
Successive navigation ( Sequential)
2.Free form mode
User determine the sequence of action (non-sequential)
3.Browse mode
Browsing allow the user to explore the database, when they need information about a
particular topic
It can be good/ bad. Since it depend on the perception of the user
5.2.2 Guidelines for good user interface design
1. Plan the overall structure of the Application
Structure must be easy to learn and guide the user along prompting action
Example
Ms Windows GUI.
Menu items are always placed in the same place
2. Plan the content of the Application
Content is designed to perform task. It includes
data entered in each task
data manipulated during each task
data output for each task and design the dialog boxes
3. Plan the interactive behavior of the Application
Find how the user is going to interact with the application
4. Plan the Look and feel of the Application
It depends on combination of the metaphor (symbol/image) being used to
simulate real life interfaces
5.2.3 Special metaphor for special applications
User Interface for multimedia applications requires the metaphors to which the users are
accustomed

1. The organizer metaphor

used for the preparation of appointment / maintaining address

Example

: Lotus organizer

where map/ voicemail directions can be associated with the address in the address
book image/ video may be added as background for preparing appointment, so that
user can view the appointment before accepting the other appointment
2. Telephone metaphor

The telephone metaphor can digitize the analog voice, and playback the digitized
sound

The User interface includes all the metaphors of telephone. This allow us to use the
computer interface just like telephone keypad
Use
Used as office appliance, before voicemail server came into existence

3. Aurl user interface (AUI)

Speech recognition based user interface

AUI allow the computer system to accept speech as direct input and provide oral
response to the user action

It provides good user interface with icons, menus and windows


Use
Provides Desktop support

4. VCR Metaphor

The User interface shows all the functions that are present in video camera, when it is
in video capture mode

Example
VCR metaphor that allow editing must have graduated bar, so that the user can mark the
start and end of the clip that is to be deleted/ edited
5.2.4 Audio/ Video Indexing Function
Index marking allowed the user to mark the location on tape
Use
Used in fast-forward and rewind searches

Three paradigms for indexing audio and video tapes


1.Revolution counter
counted the number of revolution of the tape on intake spool
2.Advanced counter
counted the inches of the tape that passed the playback head
3.Time-based counter
shows the play time in hrs:min:sec from the time the counter was reset
Advantage
Used for audio and video synchronization
(Though audio and video streams are stored in a single file they are compressed and
managed separately, so, while playback they need to be decompressed and played
synchronously )
Disadvantage
Used only with stored video and not with live video

5.3 Hypermedia Messaging

Messaging is one of the major application of multimedia

Starting from Simple text-based E-mail to add more multimedia objects

Become Complex

Discuss Components added to the messages

5.3.1

Mobile Messaging

Major new dimensions in users messaging system

Significantly influenced the messaging by wireless communication supporting widerange access using wireless modems and cellular telephone links

Role of telephone carriers and local cable companies are start to blur

Hypermedia messaging is not restricted to desktop, it is used from road by mobile


messaging

5.3.2

Hypermedia Message Components


Hypermedia message may be a simple message in the form of text with the embedded
graphics,sound track or video clip (or) it may be the result of analysis of book, CD
ROMs and on-line applications

Steps- Authoring sequence for message:


o Watch the clip Want to attach a part of clip in the msg. While watching,
save and quote annotated copy
o Page scanned by scanner Illustration of topic
o Write msg text using Word processor

Components of Hypermedia

Text

Rich Text messages

Voice Messages

Full motion Video Management

Text

Earliest Limited set of ASCII text

Later Short messages

Text messages fairly simple

New capabilities Delivery reports,Classes of service

Class of service Msg delivered immediately or due to seq in orderly queue of msgs.

Also give failure report

Typical mail message Message part - format by user while other by Email application
itself

Rich-Text Messages

Microsoft std exporting and importing the text data that included character set,font
table,section and paragraph formatting, doc. Formatting and color info RTF

Eg:- Windows based Desktop Publishing app.n Integrate text info with formatting

Cut and Copy to other Format is retained

RTM provide capability of creating msg in one word processor and edit on other end

Extensions to RTF

Extensions: Adding graphics , File Attachments

RTF - not only special char but bitmaps

Bitmap may be in TIFF,PCX,Windows metafile,Windows bitmaps formats

Bitmap Complete image,rep.n of attachment, embedded or linked object

Voice Messages

Voice - primary mode

Telephone allowed Communication

Answering Time Consuming one

Voice mail systems answers the caller with recorded messages or to direct the caller to
seq of touch-tone key

Hypermedia extends voice mail systems to voice messages that are linked or embedded
with text msg

Storing recorded voice or music lossy compression

To avoid loss of data, single text msg envelope the voice msg

Audio (Music)

MIDI allows music recording from musical instruments

Also allows computer control of musical instruments

MIDI interfaces are used in wide variety of peripherals with high fidelity sound output

Integrated messaging s/m allow to link or embed the music file in MIDI format to E-mail

Full Motion Video Management

More Informative

More info can be conveyed an comprehended in short full motion video clip

Example : Car accident

Also conveys news as well as educational programs to viewers

Authoring System allow the user to


o Capture video clip
o Edit by cutting and pasting sections
o Combining sections from other clips
o linking the clips with output from other applications
o Embedding them in messages

Full Motion Video Authoring Systems

Essential component

Authoring s/m provides tools such as:

o Video capture program to capture digital video


o Compression and Decompression interfaces
o Video editor to decompress,edit and compress digital video clips
o Video indexing and annotating Software for marking sections of video clips
and recording annotations
o Identifying and indexing video clips for storage
Full Motion Video Playback Systems

Allows recipient to detach the embedded video reference object, interpret its contents
and retrieval the actual video clip from video server and playback

Factors involved in Playing back the video correctly are:


o Compression format relates to avail S/W and H/W
o Resolution of screen Higher/Lower than that of source clip
o CPU Processing power
o Ability to determine H/W and S/W facilities of recipient s/m

Playback Systems

Video For Windows (VFW)

File format AVI (Audio Visual Interleaved)

Provides capture,edit and playback tools

Tools:

VidCap tool digital video capture

o VidEdit tool editing,decompressing and compressing full motion video


o VFW playback tool

Apples Quick Time - - four different Compression schemes

Intels Indeo digital recording format


o Compresion Vector Quatization, Huffman Coding

5.3.3

Hypermedia Linking and Embedding

Associating multimedia objects with documents

Linking in Hypertext documents

Linking Objects:

o When object is linked, the source data object is called link source continues to
reside wherever it was the time the link was created
o Copied link ref is transferred while doc is at original position
o Linked object is not a part of a hypermedia document, it does not take up the
storage space within the hypermedia document
Embedded Objects

If the copy of the object is physically stored in the doc, then the multimedia object is
said to be embedded

Ex:- Graphics and images can be inserted in a rich-text on embedded using tech such
as OLE

5.3.4

Voice and audio also can be included in text doc.


Creating Hypermedia Messages

HM Complex collection of variety of objects

Creating requires some preparations:


o Planning
o Creating each component
o Integrating Component

Planning determines the various source of input


o Text report word processing s/m
o Spreadsheet
o Diagrams
o Images of documents
o Sound clips
o Video clips
5.3.5

Integrated Multimedia Message Standards

Vendor Independent Messaging (VIM)

Multimedia API (MAPI)

Telephony API

X 400 Message Handling Service transfer agents

5.3.6

Integrated Document Management

Managing integrated documents

IDM for Messaging


o Specialized msg ing s/m LOTUS NOTES provide IDM
o User attach, embed and link variety of multimedia objects

Multimedia Object Server and Mail Server:


Mail server storing mails and link ref for objects
Object Server storing objects

Vous aimerez peut-être aussi