Quality

of

Service

Specification

for

Multimedia

Presentations

Richard

Staehli

Jonathan

Walpole

and

David

Maier

fstaehli

walpole

maierg@cse.ogi.edu

Department

of

Computer

Science

Engineering

Oregon

Graduate

Institute

of

Science

Technology

N.W.

Walker

Rd.

PO

Box

Portland

OR

ABSTRACT

The

usefulness

of

a

multimedia

presentation

depends

on

the

accuracy

of

its

output

values

and

the

timing

of

those

outputs

A

Quality

of

Service

-LRB-

QOS

-RRB-

specification

is

a

vehicle

for

requesting

accuracy

guarantees

from

a

multimedia

system

This

paper

gives

a

formal

model

for

presentation-level

QOS

specification

that

constrains

presentation

outputs

only

Such

a

QOS

specification

leaves

a

multimedia

system

free

to

optimize

resource

management

while

providing

end-to-end

guarantees

for

multimedia

services

An

error

model

is

proposed

with

a

complete

set

of

QOS

parameters

for

specifying

presentation

quality

We

show

how

this

error

model

extends

the

opportunities

for

optimizing

resources

within

a

multimedia

system

Introduction

Multimedia

systems

today

support

presentations

with

continuous

media

-LSB-

-RSB-

such

as

video

and

audio

as

well

as

synthetic

compositions

such

as

slide

shows

and

computer-generated

music

We

call

these

presentations

time-based

because

they

communicate

part

of

their

information

content

through

presentation

timing

While

a

query

on

a

database

of

static

data

types

results

in

a

static

view

of

-LRB-

hopefully

-RRB-

correct

data

values

a

query

for

playback

of

time-based

data

should

result

in

a

presentation

with

a

dynamically

changing

view

The

usefulness

of

such

presentations

depends

on

the

accuracy

of

both

the

data

and

the

timing

Because

digital

presentations

can

only

approximate

continuous

values

and

timing

the

success

of

playback

is

a

question

of

quality

rather

than

correctness

Consider

the

reproduction

of

NTSC

video

in

a

digital

multimedia

system

The

video

stream

is

commonly

captured

at

samples/frame

and

frames/second

but

it

is

rarely

stored

or

played

back

at

this

bandwidth

Instead

lossy

compression

algorithms

such

as

the

MPEG

encoding

-LSB-

-RSB-

are

used

to

reduce

the

bandwidth

requirements

in

exchange

for

some

loss

in

quality

In

addition

if

the

display

window

does

not

have

the

same

resolution

as

the

source

data

then

the

presentation

can

only

approximate

the

original

data

by

pixel

interpolation

This

observation

raises

two

questions

How

accurate

must

a

presentation

be

and

how

can

we

ensure

that

a

presentation

achieves

that

accuracy

This

paper

attempts

to

answer

the

first

question

by

giving

a

formal

definition

of

presentation

quality

that

measures

both

accuracy

of

timing

and

This

research

is

supported

by

NSF

Grants

and

and

by

funds

from

Tektronix

Inc.

and

the

Oregon

Advanced

Computing

Institute

the

accuracy

of

output

values

This

definition

of

presentation

quality

can

then

be

used

to

specify

presentation-level

quality

requirements

The

question

of

how

to

ensure

that

quality

requirements

are

met

must

be

answered

by

a

multimedia

system

Whenever

time-based

presentations

compete

with

other

applications

for

resources

some

level

of

guarantees

are

needed

to

ensure

that

resources

are

not

wasted

on

presentations

that

provide

little

value

to

the

user

But

without

a

mechanism

for

specifying

user

quality

requirements

meaningful

guarantees

are

impossible

to

request

or

provide

Section

suggests

an

architecture

that

derives

guarantees

for

a

Quality

of

Service

-LRB-

QOS

-RRB-

specification

as

part

of

an

admission

test

QOS

specifications

for

presentation

requirements

are

still

a

novel

concept

Network

protocols

have

been

proposed

with

transport-level

QOS

specifications

that

bound

delay

minimum

throughput

and

error

rates

for

continuous

media

communications

-LSB-

-RSB-

More

recently

operating

systems

researchers

have

argued

that

bandwidth

reservations

are

needed

in

a

real-time

operating

system

to

support

end-to-end

QOS

guarantees

-LSB-

-RSB-

Both

the

network

and

operating

systems

QOS

goals

for

bandwidth

are

typically

derived

from

the

type

of

the

data

being

transmitted

with

the

assumption

that

multimedia

presentations

should

deliver

as

much

spatial

and

temporal

resolution

as

possible

But

with

current

capture

compression

and

storage

technology

multimedia

data

types

can

have

resolution

that

exceeds

both

the

output

device

capabilities

and

presentation

quality

requirements

As

the

resolution

of

the

data

sources

increases

users

should

be

able

to

choose

how

to

sacrifice

quality

in

order

to

reduce

the

resource

costs

of

playback

Many

existing

multimedia

systems

make

do

without

QOS-based

resource

reservations

For

example

personal

computer

systems

can

successfully

play

compressed

video

and

audio

from

CD-ROM

but

are

able

to

do

so

only

because

the

application

program

has

control

of

all

system

resources

and

because

the

data

has

been

carefully

crafted

to

suit

the

storage

device

's

throughput

and

latency

-LSB-

-RSB-

Device

independence

is

possible

with

adaptive

algorithms

that

adjust

the

playback

quality

to

the

resources

available

-LSB-

-RSB-

However

adaptive

playback

algorithms

frequently

degrade

quality

to

an

unacceptable

level

when

resources

overloads

occur

A

formal

definition

of

quality

is

needed

to

specify

which

presentations

are

acceptable

and

what

minimal

reservations

are

required

to

avoid

overloads

This

discussion

leads

to

a

number

of

goals

for

QOS

specifications

ffl

Model

user

perception

of

quality

The

value

of

a

presentation

depends

on

the

user

's

perception

of

quality

while

the

cost

of

a

presentation

depends

on

resource

usage

Just

as

modern

compression

algorithms

exploit

knowledge

of

human

perception

-LSB-

-RSB-

a

multimedia

system

can

better

optimize

playback

resources

if

it

knows

which

optimizations

have

the

least

affect

on

perceived

quality

ffl

Formal

semantics

Specifications

should

be

unambiguous

A

multimedia

system

should

be

able

to

prove

that

it

can

satisfy

a

QOS

specification

through

resource

reservations

ffl

Support

for

complex

presentations

Complex

presentations

can

specify

synchronization

between

media

streams

that

originate

at

independent

sources

and

at

different

times

-LSB-

-RSB-

QOS

specification

should

apply

to

any

content

and

not

just

a

small

number

of

continuous

media

streams

This

paper

defines

a

framework

for

specification

of

presentation

QOS

The

definitions

are

intended

to

be

general

enough

to

apply

to

non-interactive

presentations

in

any

multimedia

system

The

framework

considers

user

interactions

for

presentation

control

as

interruptions

that

may

require

re-computation

of

the

presentation

requirements

The

next

section

defines

our

terminology

in

terms

of

an

architectural

model

for

multimedia

presentations

Sections

and

elaborate

on

the

specification

of

content

and

view

respectively

for

a

presentation

We

then

define

quality

in

Section

as

a

function

of

a

presentation

's

fidelity

to

the

content

and

view

specification

Section

suggests

how

a

formal

QOS

specification

can

be

used

to

optimize

resource

usage

in

a

presentation

We

close

with

a

discussion

of

related

work

in

Section

and

our

conclusions

in

Section

resolutionjitter

prefetch

display

real-time

presentation

tasks

requirementsresource

Resource

Manager

Live

Sources

QOS

specification

guarantees

qualityviewcontent

presentationplan

displayVirtual

VCR

Timeline

Storagecontent

specificationdata

Player

Editor

Figure

An

architecture

for

editing

and

viewing

multimedia

presentations

Architectural

Model

In

our

architectural

model

shown

in

Figure

multimedia

data

comes

from

live

sources

or

from

storage

Digital

audio

and

video

data

have

default

content

specifications

associated

with

them

that

specify

the

sample

size

and

rate

for

normal

playback

A

time-based

media

editor

may

be

used

to

create

complex

presentations

from

simple

content

A

player

is

used

to

browse

and

play-back

content

specified

by

the

editor

A

user

may

control

a

player

's

view

parameters

such

as

window

size

and

playback

rate

as

well

as

quality

parameters

such

as

spatial

and

temporal

resolution

The

combination

of

content

view

and

quality

specifications

constitute

a

QOS

specification

When

a

user

chooses

to

begin

a

presentation

the

player

needs

to

verify

that

a

presentation

plan

consisting

of

real-time

tasks

will

satisfy

the

QOS

specification

A

presentation

plan

is

feasible

if

guarantees

can

be

obtained

from

a

Resource

Manager

for

the

real-time

presentation

tasks

that

transport

and

transform

the

multimedia

data

from

storage

or

other

data

sources

to

the

system

outputs

Content

View

and

Quality

This

architecture

is

similar

to

other

research

systems

that

provide

QOS

guarantees

based

on

an

admission

test

-LSB-

-RSB-

However

our

definition

of

QOS

is

novel

in

that

we

make

strong

distinctions

between

content

view

and

quality

specifications

A

content

specification

defines

a

set

of

logical

image

and

audio

output

values

as

a

function

of

logical

time

A

view

specification

maps

content

onto

a

set

of

physical

display

regions

and

audio

output

devices

over

a

real-time

interval

Quality

is

a

measure

of

how

well

an

actual

presentation

matches

the

ideal

presentation

of

content

on

a

view

and

a

quality

specification

defines

a

minimum

acceptable

quality

measure

We

will

refer

to

quality

when

we

mean

the

measure

and

QOS

when

we

mean

the

combination

of

content

view

and

quality

specifications

By

allowing

independent

control

of

content

view

and

quality

a

multimedia

system

can

offer

a

wider

range

of

services

that

take

advantage

of

the

flexibility

of

computer

platforms

To

illustrate

these

services

consider

the

presentation

of

video

and

audio

as

described

in

Figure

The

first

video

clip

refers

to

seconds

of

a

digital

video

file

The

video

file

is

named

because

it

was

captured

with

the

first

of

two

cameras

recording

the

same

bicycle

racing

event

The

digital

video

videoaudio

time

Figure

Timeline

view

of

content

specification

for

a

presentation

of

bicycling

video

with

audio

for

has

a

resolution

of

pixels

A

second

video

file

named

shows

another

view

of

the

bicycling

event

and

has

a

higher

resolution

of

pixels

The

video

presentation

cuts

from

to

for

seconds

and

then

back

to

for

the

last

seconds

The

audio

clip

file

contains

a

digital

audio

sound-track

recorded

at

the

same

time

as

the

video

clips

After

selecting

this

content

for

presentation

a

user

should

be

able

to

choose

view

parameters

and

quality

levels

independently

For

example

if

the

user

chooses

a

view

with

a

pixel

display

window

but

a

quality

specification

that

requires

only

pixels

of

resolution

then

the

player

may

be

able

to

avoid

generating

the

full

resolution

images

from

The

quality

specification

allows

the

user

to

indirectly

control

resource

usage

independent

of

the

content

and

view

selections

The

player

can

optimize

resource

usage

so

long

as

the

presentation

exceeds

the

minimum

quality

specification

Users

might

also

like

to

specify

an

upper

bound

on

cost

for

resource

usage

but

measuring

costs

is

beyond

the

scope

of

this

paper

Content

Specification

To

make

the

definitions

of

content

view

and

quality

as

clear

as

possible

this

paper

invents

a

simple

framework

for

specifying

multimedia

presentations

The

Z

specification

language

-LSB-

-RSB-

is

used

to

describe

the

framework

in

order

to

focus

attention

on

the

framework

's

mathematical

properties

rather

than

on

details

of

syntax

and

implementation

The

framework

supports

composition

of

audio

and

video

data

to

create

complex

non-interactive

presentations

Other

media

such

as

text

and

still

images

are

supported

by

converting

to

a

video

representation

with

finite

duration

Our

content

specifications

define

a

set

of

logical

output

channels

and

the

acceptable

realnumber

values

for

those

outputs

that

may

vary

continously

with

time

It

is

an

important

feature

of

this

model

that

the

audio

and

video

specifications

may

have

infinite

resolution

For

example

the

visualization

of

a

continuous

function

whose

values

can

be

computed

rather

than

read

from

storage

is

limited

by

the

computational

resources

and

the

display

device

but

not

by

the

content

specification

We

assume

only

two

basic

types

Real

numbers

and

Integers

Digital

inputs

and

outputs

will

be

declared

as

Integers

but

nearly

all

other

quantities

will

be

modeled

as

Real

numbers

Real

numbers

are

used

for

the

specification

of

logical

values

to

avoid

placing

an

artificial

limit

on

the

content

resolution

We

begin

our

specification

in

Z

with

a

declaration

of

these

basic

types

-LSB-

R

AE

-RSB-

A

Space

schema

specifies

intervals

for

each

coordinate

dimension

and

the

output

value

To

make

it

easier

to

treat

all

outputs

uniformly

this

single

schema

must

contain

the

maximal

set

of

dimensions

for

all

output

types

When

used

for

audio

output

specifications

we

simply

ignore

the

x

and

y

intervals

Interval

start

R

extent

R

Space

t

Interval

x

Interval

y

Interval

z

Interval

A

Content

specification

is

a

recursive

construct

built

from

basic

audio

and

video

sources

Each

audio

video

sampledAudio

and

sampledVideo

construct

defines

a

single

logical

output

channel

More

complex

content

may

be

specified

using

clip

transform

cat

synch

and

select

constructs

The

LogicalOutput

type

is

used

in

the

select

construct

to

reference

a

particular

logical

output

The

exact

meaning

of

each

of

these

constructs

is

described

below

LogicalOutput

aLog

AE

j

vLog

AE

Content

audio?Space

-LRB-

R

R

-RRB-

j

video?Space

-LRB-

R

R

R

R

-RRB-

j

sampledAudio?Space

-LRB-

AE

R

-RRB-

j

sampledVideo?Space

-LRB-

AE

AE

AE

R

-RRB-

j

clip?Space

Content

j

transform?Space

Content

j

cat?seq

Content

j

synch?seq

Content

j

select?LogicalOutput

Content

Figure

illustrates

a

content

specification

for

the

example

presentation

from

Figure

We

'll

describe

this

specification

from

the

bottom

up

beginning

with

the

two

sampledVideo

specifications

and

the

one

sampledAudio

specification

that

form

the

leaves

of

the

tree

The

first

video

specification

declares

that

the

file

contains

samples

in

frames

and

each

frame

has

pixels

The

second

video

file

named

has

only

frames

but

each

frame

has

pixels

The

audio

file

has

seconds

worth

of

samples

at

samples/second

Both

videos

are

scaled

in

time

to

play

at

frames/second

and

their

z

ranges

are

normalized

by

the

transform

specifications

The

first

video

is

also

scaled

by

a

factor

of

to

match

the

dimensions

of

the

second

video

and

is

offset

by

seconds

so

that

the

clip

can

begin

at

logical

time

zero

The

audio

is

normalized

and

scaled

in

time

to

play

at

samples/second

The

video

presentation

is

assembled

by

concatenating

a

clip

of

seconds

from

the

first

transformed

video

with

seconds

from

the

second

followed

by

the

clip

of

seconds

from

the

first

again

The

result

is

then

synchronized

with

a

clip

of

seconds

from

the

transformed

audio

The

transform

clip

cat

synch

and

select

specifications

support

stretching

and

shrinking

cut

paste

and

synchronization

of

logical

outputs

Although

other

features

are

desirable

such

as

the

ability

to

mix

several

logical

outputs

together

the

constructs

described

are

sufficient

for

editing

useful

time-based

multimedia

presentations

and

for

illustrating

the

meaning

of

view

and

quality

specifications

in

the

next

sections

Meaning

of

Content

Specifications

The

meaning

of

a

content

specification

is

defined

by

a

set

of

allowed

logical

output

values

for

every

point

of

the

logical

output

space

A

few

more

declarations

make

it

easier

to

define

this

logical

meaning

We

first

introduce

the

notation

r

i

to

express

the

constraint

that

a

real

number

r

is

within

the

interval

i

The

Z

notation

for

declaring

the

relation

is

R

Interval

r

i

-LRB-

i

start

r

-RRB-

-LRB-

r

i

start

i

extent

-RRB-

We

also

declare

two

functions

tr

and

utr

that

respectively

transform

and

untransform

a

real

synch

cat

t

clip

t

z

trans

catt

clip

t

clip

sampledAudio

t

z

t

x

y

t

z

transsampledVideo

x

y

t

z

sampledVideo

x

y

t

z

trans

x

y

t

z

clip

Figure

Content

specification

in

normal-form

for

example

presentation

number

r

by

a

scale

factor

i

extent

and

an

offset

i

start

For

example

if

i

is

an

Interval

with

i

start

and

i

extent

then

tr

i

tr

utr

R

Interval

R

tr

r

i

r

i

extent

i

start

utr

r

i

-LRB-

r

i

start

-RRB-

i

extent

Content

specifications

constrain

logical

output

values

only

during

explicit

time

intervals

For

example

the

content

specification

in

Figure

allows

any

output

values

before

logical

time

and

after

logical

time

The

functions

start

end

and

duration

are

used

to

reference

the

logical

time

interval

over

which

output

values

are

constrained

by

a

content

specification

The

logical

start

of

a

content

specification

is

the

minimum

time

t

at

which

some

output

value

is

not

acceptable

The

logical

end

is

the

minimum

time

t

such

that

no

output

value

is

constrained

for

times

greater

than

or

equal

to

t

The

function

aLogs

returns

the

integral

number

of

logical

audio

outputs

that

are

constrained

by

a

content

specification

and

vLogs

returns

the

number

of

logical

video

outputs

start

end

duration

Content

R

aLogs

vLogs

Content

AE

start

c

min

f

t

R

j

-LRB-

l

LogicalOutput

x

y

z

R

ffl

-LRB-

l

x

y

t

z

-RRB-

logical

c

-RRB-

g

end

c

min

f

t

R

j

t

R

ffl

-LRB-

t

t

-RRB-

-RRB-

-LRB-

l

LogicalOutput

x

y

z

R

ffl

-LRB-

l

x

y

t

z

-RRB-

logical

c

-RRB-

g

duration

c

end

c

start

c

aLogs

-LRB-

c

-RRB-

max

f

n

AE

j

-LRB-

x

y

t

z

R

ffl

-LRB-

aLog

-LRB-

n

-RRB-

x

y

t

z

-RRB-

logical

c

-RRB-

g

vLogs

-LRB-

c

-RRB-

max

f

n

AE

j

-LRB-

x

y

t

z

R

ffl

-LRB-

vLog

-LRB-

n

-RRB-

x

y

t

z

-RRB-

logical

c

-RRB-

g

The

meaning

of

each

of

the

content

constructs

is

captured

by

the

following

definition

of

a

function

for

logical

content

For

a

given

content

specification

the

logical

function

returns

a

relation

between

a

point

in

the

logical

output

space

and

the

acceptable

output

values

for

that

point

We

read

the

expression

-LRB-

l

x

y

t

z

-RRB-

logical

c

as

the

content

specification

c

specifies

that

logical

output

l

at

point

-LRB-

x

y

-RRB-

and

time

t

may

have

value

z

Note

that

specifications

reduce

the

set

of

acceptable

values

and

where

nothing

is

specified

all

values

are

acceptable

LogicalValue

LogicalOutput

R

R

R

R

logical

Content

ff

LogicalValue

logical

-LRB-

audio

-LRB-

s

f

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

j

-LRB-

l

aLog

-RRB-

-LRB-

t

s

t

-RRB-

-RRB-

z

f

t

ffl

-LRB-

l

x

y

t

z

-RRB-

g

logical

-LRB-

video

-LRB-

s

f

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

j

-LRB-

l

vLog

-RRB-

-LRB-

x

s

x

-RRB-

-LRB-

y

s

y

-RRB-

-LRB-

t

s

t

-RRB-

-RRB-

z

f

t

y

x

ffl

-LRB-

l

x

y

t

z

-RRB-

g

logical

-LRB-

sampledAudio

-LRB-

s

f

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

j

-LRB-

l

aLog

-RRB-

-LRB-

t

s

t

-RRB-

z

f

btc

ffl

-LRB-

l

x

y

t

z

-RRB-

g

logical

-LRB-

sampledVideo

-LRB-

s

f

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

j

-LRB-

l

vLog

-RRB-

-LRB-

x

s

x

-RRB-

-LRB-

y

s

y

-RRB-

-LRB-

t

s

t

-RRB-

-RRB-

z

f

btc

bxc

byc

ffl

-LRB-

l

x

y

t

z

-RRB-

g

logical

-LRB-

clip

-LRB-

s

c

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

j

-LRB-

x

s

x

-RRB-

-LRB-

y

s

y

-RRB-

-LRB-

t

s

t

-RRB-

-LRB-

z

s

z

-RRB-

-RRB-

-LRB-

l

x

y

t

z

-RRB-

logical

c

ffl

-LRB-

l

x

y

t

z

-RRB-

g

logical

-LRB-

transform

-LRB-

s

c

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

j

-LRB-

l

x

y

t

z

-RRB-

logical

c

ffl

-LRB-

l

tr

x

s

x

tr

y

s

y

tr

t

s

t

tr

z

s

z

-RRB-

g

logical

-LRB-

cat

-LRB-

hi

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

ffl

-LRB-

l

x

y

t

z

-RRB-

g

logical

-LRB-

cat

-LRB-

q

-RRB-

-RRB-

logical

-LRB-

head

-LRB-

q

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

j

-LRB-

l

x

y

t

z

-RRB-

logical

-LRB-

cat

-LRB-

tail

-LRB-

q

-RRB-

-RRB-

-RRB-

ffl

-LRB-

l

x

y

t

end

-LRB-

head

-LRB-

q

-RRB-

-RRB-

start

-LRB-

cat

-LRB-

tail

-LRB-

q

-RRB-

-RRB-

-RRB-

z

-RRB-

g

logical

-LRB-

synch

-LRB-

hi

-RRB-

-RRB-

f

l

LogicalOutput

x

y

t

z

R

ffl

-LRB-

l

x

y

t

z

-RRB-

g

logical

-LRB-

synch

-LRB-

q

-RRB-

-RRB-

f

n

AE

x

y

t

z

R

j

-LRB-

aLog

n

x

y

t

z

-RRB-

logical

head

-LRB-

q

-RRB-

ffl

-LRB-

aLog

-LRB-

n

-LRB-

aLogs

-LRB-

synch

-LRB-

tail

-LRB-

q

-RRB-

-RRB-

-RRB-

-RRB-

x

y

t

z

-RRB-

g

f

n

AE

x

y

t

z

R

j

-LRB-

vLog

n

x

y

t

z

-RRB-

logical

head

-LRB-

q

-RRB-

ffl

-LRB-

vLog

-LRB-

n

-LRB-

vLogs

-LRB-

synch

-LRB-

tail

-LRB-

q

-RRB-

-RRB-

-RRB-

-RRB-

x

y

t

z

-RRB-

g

logical

-LRB-

synch

tail

-LRB-

q

-RRB-

-RRB-

logical

-LRB-

select

-LRB-

aLog

-LRB-

n

-RRB-

c

-RRB-

-RRB-

f

x

y

t

z

R

j

-LRB-

aLog

-LRB-

n

-RRB-

x

y

t

z

-RRB-

logical

c

ffl

-LRB-

aLog

-LRB-

-RRB-

x

y

t

z

-RRB-

g

logical

-LRB-

select

-LRB-

vLog

-LRB-

n

-RRB-

c

-RRB-

-RRB-

f

x

y

t

z

R

j

-LRB-

vLog

-LRB-

n

-RRB-

x

y

t

z

-RRB-

logical

c

ffl

-LRB-

vLog

-LRB-

-RRB-

x

y

t

z

-RRB-

g

Some

explanation

is

needed

regarding

audio

and

video

source

functions

An

audio

source

is

modelled

as

a

function

from

a

real

time

coordinate

to

a

signal

value

For

example

a

sine

function

could

be

given

as

an

audio

source

without

specifying

a

limit

on

the

resolution

of

the

signal

As

described

in

the

following

sections

the

resolution

of

a

presentation

is

limited

only

by

an

actual

implementation

on

digital

outputs

A

video

source

is

also

modelled

as

a

continuous

function

of

time

but

it

requires

additional

arguments

for

the

x

and

y

screen

coordinates

The

domain

and

range

for

the

functions

are

specified

with

the

Space

argument

Sampled

audio

and

video

sources

are

modelled

as

functions

of

integer

coordinates

For

simplicity

this

definition

supports

only

monochrome

video

but

the

same

approach

can

be

generalized

to

specify

a

tuple

of

values

at

each

point

for

color

The

first

predicate

for

logical

-LRB-

audio

-LRB-

s

f

-RRB-

-RRB-

says

that

if

l

is

the

logical

output

aLog

and

t

is

within

the

interval

s

t

then

the

only

acceptable

value

for

z

is

the

function

f

-LRB-

t

-RRB-

Otherwise

any

values

are

acceptable

for

z

Note

that

the

interval

s

z

may

indicate

the

intended

range

of

source

values

but

there

is

no

need

to

enforce

this

range

when

defining

the

logical

content

The

predicate

for

logical

-LRB-

video

-LRB-

s

f

-RRB-

-RRB-

expresses

a

similar

constraint

for

the

logical

output

For

sampled

audio

and

video

the

logical

coordinates

are

rounded

down

to

the

nearest

integer

Consequently

the

number

of

samples

-LRB-

frames

-RRB-

is

given

by

bs

t

extentc

and

the

pixel

dimensions

for

video

frames

is

bs

x

extentc

bs

y

extentc

This

information

about

sample

resolution

is

needed

only

for

accessing

the

source

functions

and

is

not

carried

explicitly

in

the

definition

of

logical

content

A

clip

-LRB-

s

c

-RRB-

construct

specifies

that

for

all

logical

outputs

points

within

the

Space

s

are

constrained

to

have

the

same

values

as

specified

by

c.

All

points

not

in

s

are

effectively

clipped

out

and

may

have

any

value

A

transform

-LRB-

s

c

-RRB-

construct

specifies

a

linear

transformation

of

points

in

the

content

specified

by

c.

For

example

if

start

c

duration

c

s

t

start

and

s

t

extent

then

start

-LRB-

transform

-LRB-

s

c

-RRB-

-RRB-

and

duration

-LRB-

transform

-LRB-

s

c

-RRB-

-RRB-

The

transformation

construct

transform

-LRB-

s

c

-RRB-

with

all

start

fields

in

s

equal

to

zero

and

all

extent

fields

in

s

equal

to

one

is

the

identity

transformation

and

has

no

effect

A

temporal

sequence

of

content

can

be

specified

with

a

cat

-LRB-

q

-RRB-

construct

The

content

for

a

member

of

the

sequence

q

is

logically

shifted

in

time

to

start

just

as

the

previous

content

in

the

sequence

ends

The

synch

-LRB-

q

-RRB-

construct

specifies

that

a

set

of

logical

outputs

all

reference

the

same

time

scale

If

the

content

specifications

cn

and

cm

specify

n

and

m

logical

outputs

respectively

then

synch

-LRB-

hcn

cmi

-RRB-

specifies

m

n

logical

outputs

The

select

-LRB-

l

c

-RRB-

construct

offers

a

way

to

reference

only

the

content

of

a

single

logical

output

within

a

complex

specification

Where

the

synch

construct

aggregates

multiple

logical

outputs

into

a

single

content

specification

select

-LRB-

l

c

-RRB-

specifies

only

a

single

logical

output

with

the

same

content

as

c

specifies

for

logical

output

l

For

any

n

the

logical

output

defined

by

select

-LRB-

l

c

-RRB-

is

-LRB-

aLog

-RRB-

if

l

-LRB-

aLog

n

-RRB-

and

-LRB-

vLog

-RRB-

if

l

-LRB-

vLog

n

-RRB-

If

a

content

construct

does

not

specify

the

logical

output

l

then

select

-LRB-

l

c

-RRB-

is

the

specification

that

is

all

values

are

permissible

on

all

outputs

It

is

worth

noting

that

no

matter

how

a

content

specification

is

composed

its

logical

content

may

be

equivalently

specified

by

a

content

specification

with

the

normal-form

shown

in

Figure

In

normal-form

every

specification

is

a

tree

with

a

synch

construct

at

the

root

The

synch

construct

specifies

a

sequence

of

cat

constructs

Each

cat

construct

specifies

a

single

logical

output

with

a

sequence

of

clip

constructs

Each

clip

specifies

a

portion

of

a

transform

construct

and

each

transform

construct

defines

the

logical

dimensions

of

a

basic

media

source

A

basic

media

source

must

be

either

an

audio

video

sampledAudio

or

sampledVideo

construct

View

Specification

The

logical

outputs

of

a

content

specification

have

both

temporal

and

spatial

proportions

but

they

have

no

physical

size

or

real

duration

A

View

specification

allocates

physical

devices

for

logical

outputs

and

maps

logical

time

to

a

real-time

clock

While

the

physical

devices

may

present

an

upper

bound

on

spatial

and

temporal

resolution

the

view

does

not

specify

presentation

quality

Figure

shows

a

view

specification

that

allocates

an

unusually

small

pixel

window

on

a

monochrome

-LRB-

black

and

white

-RRB-

display

for

the

bicycling

video

presentation

Although

the

output

device

clearly

limits

the

quality

of

the

presentation

the

view

does

not

specify

how

the

content

is

to

be

represented

on

the

display

It

is

the

presentation

plan

that

must

choose

how

to

resample

the

source

and

how

to

represent

gray

scale

information

The

combination

of

content

and

view

specifications

serve

as

a

device-independent

specification

of

a

perfect

quality

presentation

The

idea

of

an

ideal

presentation

is

formally

defined

below

In

the

next

section

we

define

less-than-perfect

quality

based

on

the

difference

between

this

ideal

presentation

and

actual

presentation

outputs

Since

we

are

not

interested

in

the

details

of

the

physical

device

I/O

we

simply

assume

that

there

is

a

set

of

audio

output

devices

AudioDev

and

video

output

devices

VideoDev

A

Device

is

either

one

of

the

audio

devices

or

one

of

the

video

devices

-LSB-

AudioDev

VideoDev

-RSB-

Device

AudioDev

-LSB-

VideoDev

The

logical

dimensions

in

a

content

specification

are

generally

not

the

same

as

the

physical

dimensions

of

the

view

The

Output

schema

declares

a

field

tr

that

defines

the

transformation

from

logical

to

view

output

dimensions

and

a

field

clip

that

defines

clipping

bounds

for

view

outputs

In

Figure

the

Output

specification

for

vLog

transforms

the

logical

image

size

to

and

then

offsets

the

image

pixels

in

x

and

in

y

The

z

values

are

transformed

from

the

logical

x

y

z

x

y

z

Outputdevcliptr

Screen

z

z

Outputdevcliptr

dev/audio

logical

output

-LRB-

-RRB-

-LRB-

-RRB-

Screen

vLog

Viewmaptrclip

Figure

Example

of

a

view

that

allocates

an

pixel

window

on

a

display

device

for

presentation

of

the

bicycling

video

range

of

-LSB-

-RRB-

to

the

view

range

of

-LSB-

-RRB-

The

clipping

bounds

for

both

audio

and

video

match

the

full

range

of

the

transformed

content

Note

that

the

time

fields

are

ignored

because

the

temporal

transformation

and

clipping

for

all

outputs

is

given

in

the

View

specification

This

assymetry

is

necessary

to

preserve

the

content

synchronization

while

allowing

flexibility

in

the

display

of

multiple

logical

outputs

Output

dev

Device

tr

clip

Space

A

View

specifies

a

partial

function

map

that

assigns

a

subset

of

the

logical

outputs

to

physical

output

specifications

Logical

content

that

is

to

be

presented

must

be

mapped

to

physical

outputs

of

the

appropriate

type

Logical

outputs

that

are

not

in

the

domain

of

the

map

function

are

ignored

The

tr

field

is

used

to

transform

logical

time

in

a

content

specification

to

a

real-time

clock

The

clip

field

specifies

the

real-time

start

and

duration

of

the

presentation

View

map

LogicalOutput

Output

tr

Interval

clip

Interval

-LRB-

aLog

n

dommap

-RRB-

-RRB-

-LRB-

d

AudioDev

ffl

-LRB-

map

-LRB-

aLog

n

-RRB-

-RRB-

dev

d

-RRB-

-LRB-

vLog

n

dommap

-RRB-

-RRB-

-LRB-

d

VideoDev

ffl

-LRB-

map

-LRB-

vLog

n

-RRB-

-RRB-

dev

d

-RRB-

A

view

specification

together

with

a

content

specification

defines

an

ideal

presentation

where

the

output

devices

are

assumed

to

have

infinite

resolution

This

assumption

is

necessary

for

the

device-independent

definition

of

quality

described

in

the

next

section

DeviceValue

Device

R

R

R

R

We

define

a

function

ideal

c

v

that

returns

the

relation

between

devices

and

the

values

specified

by

a

Content

specification

c

and

a

View

specification

v

The

relation

ideal

c

v

contains

all

points

-LRB-

d

x

y

t

z

-RRB-

where

the

view

maps

a

logical

output

l

to

a

device

d

and

x

y

and

t

are

within

the

clipping

bounds

for

d

only

if

the

corresponding

logical

value

is

allowed

by

the

content

specification

c

The

corresponding

logical

point

is

computed

by

substituting

l

for

p

and

un-transforming

x

y

t

and

z

back

to

logical

space

ideal

Content

View

ff

DeviceValue

ideal

c

v

f

d

Device

x

y

t

z

R

ffl

-LRB-

l

LogicalOutput

p

Output

ffl

-LRB-

-LRB-

l

domv

map

-RRB-

-LRB-

v

map

-LRB-

l

-RRB-

p

-RRB-

-LRB-

p

dev

d

-RRB-

-LRB-

d

AudioDev

-RRB-

-LRB-

t

v

clip

-RRB-

-RRB-

-RRB-

-LRB-

x

y

R

ffl

-LRB-

l

x

y

utr

t

v

tr

utr

z

p

tr

z

-RRB-

logical

c

-RRB-

-RRB-

-LRB-

l

LogicalOutput

p

Output

ffl

-LRB-

-LRB-

l

domv

map

-RRB-

-LRB-

v

map

-LRB-

l

-RRB-

p

-RRB-

-LRB-

p

dev

d

-RRB-

-LRB-

d

VideoDev

-RRB-

-LRB-

t

v

clip

-RRB-

-LRB-

x

p

clip

x

-RRB-

-LRB-

y

p

clip

y

-RRB-

-RRB-

-RRB-

-LRB-

-LRB-

l

utr

x

p

tr

x

utr

y

p

tr

y

utr

t

v

tr

utr

z

p

tr

z

-RRB-

logical

c

-RRB-

-RRB-

ffl

-LRB-

d

x

y

t

z

-RRB-

g

The

implementation

of

a

presentation

plan

uniquely

determines

the

value

for

every

device

at

every

point

and

time

The

schema

Presentation

models

the

implementation

with

separate

functions

for

audio

and

video

device

types

A

presentation

on

a

digital

audio

device

is

a

function

from

a

discrete

clock

value

for

time

to

an

integer

output

value

For

a

video

output

it

is

a

function

from

a

discrete

clock

value

and

integer

x

and

y

coordinates

to

an

integer

output

value

Presentation

aVal

AudioDev

AE

AE

vVal

VideoDev

AE

AE

AE

AE

We

define

a

function

actual

that

takes

a

particular

presentation

and

returns

a

relation

representing

these

output

values

The

relation

actual

P

contains

a

point

-LRB-

d

x

y

t

z

-RRB-

only

if

z

is

the

value

of

the

device

d

and

pixel

-LRB-

x

y

-RRB-

while

the

clock

value

is

t

as

defined

by

P

We

are

assuming

that

we

can

observe

only

one

output

value

per

clock

tick

and

that

the

output

value

is

constant

over

the

duration

of

a

clock

cycle

Because

the

relation

actual

P

and

the

relation

ideal

c

v

have

the

same

type

it

is

easy

to

define

a

mapping

between

them

for

any

presentation

P

content

specification

c

and

view

v

actual

Presentation

ff

DeviceValue

actual

P

f

d

Device

x

y

t

R

j

d

AudioDev

ffl

-LRB-

d

x

y

t

P

aVal

d

btc

-RRB-

g

-LSB-

f

d

Device

x

y

t

R

j

d

VideoDev

ffl

-LRB-

d

x

y

t

P

vVal

d

bxc

byc

btc

-RRB-

g

Quality

Specification

We

define

the

quality

of

a

presentation

to

be

the

ratio

of

the

worth

of

the

actual

presentation

to

the

worth

of

the

ideal

presentation

Although

worth

may

be

subjective

we

believe

the

ratio

can

be

usefully

modelled

with

a

few

assumptions

User

perception

of

presentation

quality

can

be

modelled

by

a

continuous

function

of

real-time

and

device

coordinates

The

quality

of

a

presentation

that

meets

the

specification

equals

one

The

quality

of

a

presentation

that

differs

from

the

specification

depends

only

on

user

perception

of

the

difference

User

perception

of

the

difference

between

a

presentation

and

the

specification

is

based

on

a

mapping

of

points

in

the

actual

presentation

to

points

in

the

ideal

presentation

With

these

assumptions

quality

is

independent

of

data

representations

and

transport

mechanisms

In

particular

our

definition

of

quality

is

not

based

on

the

data

throughput

required

for

a

presentation

but

instead

can

be

used

to

determine

throughput

requirements

as

shown

in

the

next

section

In

this

section

we

provide

a

model

for

computing

quality

and

define

quality

specifications

in

terms

of

this

model

The

declaration

for

an

ErrorInterpretation

below

is

the

most

important

part

of

our

QOS

specification

because

it

defines

an

error

model

for

measuring

presentation

quality

An

error

model

is

a

set

of

functions

that

describe

the

number

of

ways

in

which

an

actual

presentation

may

be

different

from

an

ideal

presentation

We

refer

to

these

functions

as

error

components

Figure

gives

a

simple

example

of

the

need

for

an

adequate

error

model

In

the

first

graph

the

difference

between

the

actual

and

ideal

curves

at

time

t

gives

a

fair

measure

of

the

perceived

error

In

the

second

graph

the

same

measurement

at

time

t

gives

a

very

large

error

measurement

even

though

most

users

will

recognize

that

the

signal

was

simply

shifted

to

start

at

time

The

same

error

can

be

explained

in

several

ways

but

the

addition

of

more

error

components

to

an

error

model

allows

greater

opportunities

to

distinguish

acceptable

errors

from

unacceptable

ones

We

can

more

accurately

model

the

way

users

perceive

the

error

in

Figure

if

we

include

both

value

error

and

time-shift

error

components

in

our

model

But

an

error

model

with

only

these

two

components

is

still

inadequate

for

the

common

errors

that

occur

in

multimedia

presentations

Our

error

model

below

proposes

a

set

of

error

components

that

correspond

to

well

known

quality

parameters

This

set

of

error

components

both

extends

the

quality

parameters

proposed

by

others

and

gives

them

a

formal

definition

Our

calculation

of

presentation

quality

can

be

improved

by

extending

or

customizing

the

error

model

Several

type

declarations

and

functions

simplify

the

definition

of

our

error

model

and

quality

constraints

An

xytFun

is

just

an

abbreviation

for

a

function

that

takes

three

real

numbers

for

x

y

and

t

coordinates

and

returns

a

real

number

xytFun

R

R

R

R

The

Error

data

type

provides

names

for

the

error

components

that

our

error

model

associates

with

each

output

The

motivation

for

this

set

of

error

components

is

described

in

Section

Comp

err

j

shift

j

rate

j

jitter

j

res

Error

X?Comp

j

Y

Comp

j

T?Comp

j

Z?Comp

Our

error

model

also

includes

a

function

for

the

synchronization

error

between

each

pair

of

outputs

The

reasons

for

choosing

this

particular

set

of

error

components

is

discussed

at

the

end

of

this

section

In

particular

though

it

is

useful

to

consider

spatial

and

temporal

resolution

in

order

to

correctly

model

user

perception

of

output

values

The

function

localAvg

-LRB-

xres

yres

tres

-RRB-

f

computes

an

xytFun

that

is

the

average

value

of

the

function

f

over

a

small

local

area

defined

by

xres

yres

and

tres

Because

audio

outputs

do

not

vary

in

x

or

y

localAvg

-LRB-

X

res

Y

res

T

res

-RRB-

f

is

independent

of

the

values

of

X

res

and

Y

res

in

that

case

and

is

therefore

well

defined

even

when

X

res

and

Y

res

are

not

specified

localAvg

-LRB-

xytFun

xytFun

xytFun

-RRB-

xytFun

xytFun

localAvg

-LRB-

xres

yres

tres

-RRB-

f

x

y

t

-LRB-

let

xr

xres

x

y

t

x

-LRB-

xr

-RRB-

x

-LRB-

xr

-RRB-

yr

yres

x

y

t

y

-LRB-

yr

-RRB-

y

-LRB-

yr

-RRB-

tr

tres

x

y

t

t

-LRB-

tr

-RRB-

t

-LRB-

tr

-RRB-

ffl

xr

yr?tr

R

R

R

-LRB-

f

x

y

t

-RRB-

dx

dy

dt

-RRB-

ErrorInterpretation

c

Content

v

View

P

Presentation

error

Output

Error

xytFun

synch

Output

Output

xytFun

p

Output

ffl

let

i

error

p

ffl

zideal

zactual

xytFun

ffl

-LRB-

x

y

t

R

ffl

-LRB-

p

x

y

t

zideal

x

y

t

-RRB-

ideal

c

v

-RRB-

-LRB-

x

y

t

R

ffl

-LRB-

p

x

y

t

zactual

x

y

t

-RRB-

actual

P

-RRB-

i

-LRB-

Z

err

-RRB-

-LRB-

x

y

t

R

ffl

zactual

x

y

t

zideal

-LRB-

x

i

-LRB-

X

err

-RRB-

x

y

t

-RRB-

-LRB-

y

i

-LRB-

Y

err

-RRB-

x

y

t

-RRB-

-LRB-

t

i

-LRB-

T

err

-RRB-

x

y

t

-RRB-

-RRB-

i

-LRB-

X

err

-RRB-

i

-LRB-

X

shift

-RRB-

i

-LRB-

X

jitter

-RRB-

i

-LRB-

Y

err

-RRB-

i

-LRB-

Y

shift

-RRB-

i

-LRB-

Y

jitter

-RRB-

i

-LRB-

T

err

-RRB-

i

-LRB-

T

shift

-RRB-

i

-LRB-

T

jitter

-RRB-

i

-LRB-

X

rate

-RRB-

@i

-LRB-

X

shift

-RRB-

@x

i

-LRB-

Y

rate

-RRB-

@i

-LRB-

Y

shift

-RRB-

@y

i

-LRB-

T

rate

-RRB-

@i

-LRB-

T

shift

-RRB-

@t

localAvg

-LRB-

i

-LRB-

X

res

-RRB-

i

-LRB-

Y

res

-RRB-

i

-LRB-

T

res

-RRB-

-RRB-

-LRB-

i

-LRB-

Z

err

-RRB-

-RRB-

-LRB-

let

perceivedErr

i

-LRB-

Z

shift

-RRB-

-LRB-

-LRB-

i

-LRB-

Z

rate

-RRB-

-RRB-

zideal

-RRB-

i

-LRB-

Z

jitter

-RRB-

ffl

localAvg

-LRB-

i

-LRB-

X

res

-RRB-

i

-LRB-

Y

res

-RRB-

i

-LRB-

T

res

-RRB-

-RRB-

perceivedErr

-RRB-

p

q

Output

ffl

synch

p

q

-LRB-

error

p

-LRB-

T

shift

-RRB-

-RRB-

-LRB-

error

q

-LRB-

T

shift

-RRB-

-RRB-

The

error

model

in

this

declaration

defines

a

set

of

error

components

for

each

output

through

the

error

function

as

well

as

an

error

component

for

each

pair

of

outputs

defined

by

the

function

synch

The

predicate

for

an

ErrorInterpretation

is

like

a

differential

equation

in

that

it

does

not

have

a

unique

solution

for

the

error

component

functions

Instead

we

observe

that

error

measurement

is

inherently

subjective

because

the

outputs

do

not

carry

meta-information

about

the

intended

relationship

with

the

specification

An

ErrorInterpretation

merely

defines

one

subjective

mapping

and

a

set

of

error

components

that

are

consistent

with

each

other

and

the

mapping

Figure

illustrates

the

point

with

two

different

interpretations

for

an

audio

presentation

We

declare

a

quality

specification

to

be

a

schema

that

gives

the

minimum

acceptable

level

of

quality

and

also

provides

values

for

calibrating

the

affect

of

each

error

component

on

presentation

quality

Quality

min

R

calib

Output

Error

R

calibSynch

Output

Output

R

-LRB-

min

-RRB-

-LRB-

min

-RRB-

t

t

actual

value

time

value

time

idealactual

ideal

Figure

Presentation

error

may

be

attributed

to

value

error

alone

as

illustrated

or

to

some

combination

of

timing

and

value

errors

The

meaning

of

the

quality

schema

in

conjunction

with

a

content

and

view

specification

is

given

by

the

following

schema

for

a

QOS

specification

QOS

c

Content

v

View

q

Quality

P

Presentation

i

ErrorInterpretation

ffl

i

c

c

i

v

v

i

:P

P

p

ran

v

map

x

y

t

R

ffl

q

min

Q

exp

-LRB-

j

i

error

p

m

x

y

t

q

calib

p

m

j

-RRB-

Q

v

map

exp

-LRB-

j

i

synch

p

x

y

t

q

calibSynch

p

j

-RRB-

This

schema

consists

of

Content

View

and

Quality

specifications

that

constrain

a

presentation

P

The

QOS

specification

is

satisfied

only

if

an

ErrorInterpretation

exists

for

c

v

and

P

such

that

at

all

times

and

all

points

on

every

output

the

quality

of

the

presentation

must

be

greater

than

or

equal

to

q

min

We

compute

quality

with

an

exponential

decay

function

that

depends

on

the

absolute

value

of

error

components

This

model

has

the

following

properties

ffl

quality

is

one

when

all

error

components

are

zero

ffl

quality

is

monotonically

decreasing

with

increasing

absolute

value

of

any

error

component

ffl

quality

approaches

zero

as

all

error

components

approach

infinity

To

calibrate

this

quality

function

to

approximate

user

preferences

we

can

adjust

the

values

returned

by

the

calib

and

synchCalib

functions

in

the

quality

specification

We

call

these

values

critical

error

values

For

every

error

component

in

our

error

model

there

is

a

corresponding

critical

error

value

in

the

quality

specification

When

an

error

component

equals

the

corresponding

critical

error

value

the

quality

is

at

most

e

or

approximately

Consequently

we

must

choose

these

critical

error

values

to

correspond

to

decidedly

poor

quality

Figure

shows

critical

error

values

for

the

example

in

the

next

section

A

quality

specification

q

can

use

these

values

for

its

calib

and

synchCalib

functions

For

example

for

all

video

outputs

p

q.calib

p

-LRB-

T

jitter

-RRB-

is

seconds

These

numbers

are

intended

to

correspond

to

noticeably

poor

quality

The

units

for

temporal

shift

jitter

res

and

synch

are

in

seconds

Measurements

for

x

and

y

shift

jitter

and

res

components

are

relative

to

v

clip

x

extent

and

v

clip

y

extent

respectively

for

a

View

v

Measurements

for

z

shift

shift

rate

jitter

res

synch

VideoDev

X

VideoDev

Y

VideoDev

T

VideoDev

Z

AudioDev

T

AudioDev

Z

Figure

Example

critical

error

values

The

err

component

does

not

appear

in

this

table

because

it

is

equivalent

to

the

sum

of

the

shift

and

jitter

components

least-conservative-specification

-LRB-

simple

error

model

-RRB-

least-conservative-specification

-LRB-

augmented

error

model

-RRB-

user

perception

Figure

Relationship

between

presentations

accepted

by

least-conservative-specifications

and

those

accepted

by

user

perception

and

jitter

are

also

made

relative

to

v

clip

z

extent

All

rate

error

components

are

measured

in

units

of

shift

per

second

This

definition

for

QOS

specification

is

very

strict

in

that

quality

must

exceed

the

minimum

everywhere

during

a

presentation

It

would

be

nice

to

extend

the

specification

semantics

to

allow

a

presentation

to

occasionally

drop

below

this

minimum

quality

but

this

extension

is

left

for

future

work

Justifying

the

error

model

The

choice

of

error

components

in

our

error

model

is

intended

to

provide

a

useful

model

of

human

perception

Ideally

a

presentation

QOS

specification

should

accept

all

presentations

that

humans

accept

and

reject

only

those

that

humans

reject

A

conservative

specification

is

one

that

never

accepts

a

presentation

that

humans

would

reject

and

a

least

conservative

specification

is

a

conservative

specification

that

accepts

the

largest

set

of

presentations

We

can

show

that

a

least

conservative

QOS

specification

for

a

minimal

error

model

needlessly

rejects

presentations

that

we

find

acceptable

Error

components

are

added

to

the

error

model

to

increase

the

space

of

presentations

accepted

by

a

least

conservative

specification

as

suggested

in

Figure

Consider

the

minimal

error

model

that

includes

a

function

for

error

in

the

Z

dimension

for

every

output

but

that

assumes

error

in

X

Y

and

T

dimensions

are

zero

This

simple

model

is

illustrated

in

Figure

where

the

error

function

returns

the

minimum

difference

between

the

actual

output

value

z

and

an

ideal

value

for

each

output

p

at

the

same

point

and

time

This

minimal

error

model

is

the

smallest

error

model

that

can

map

from

actual

P

to

ideal

c

v

for

any

P

c

and

v

We

say

that

an

error

model

is

complete

if

we

can

specify

arbitrarily

high

quality

-LRB-

as

judged

by

humans

-RRB-

by

requiring

that

all

error

components

in

the

error

model

are

sufficiently

close

to

zero

A

complete

error

model

is

essential

for

conservative

QOS

specifications

The

minimal

error

model

is

complete

because

the

presentation

becomes

indistinguishable

from

the

ideal

as

the

Z

error

component

goes

to

zero

everywhere

Unfortunately

the

minimal

error

model

does

not

yield

error

values

that

correspond

well

to

human

perception

The

second

case

in

Figure

shows

that

a

simple

startup

delay

produces

large

error

measurements

A

person

judging

the

quality

of

a

presentation

recognizes

a

delay

in

starting

the

presentation

but

then

sees

a

good

match

after

compensating

for

the

delay

If

human

ears

are

annoyed

by

noise

with

an

amplitude

ea

then

a

conservative

QOS

specification

must

constrain

error

in

Z

to

be

less

than

ea

This

constraint

limits

the

set

of

acceptable

presentations

to

a

narrow

band

around

the

ideal

presentation

But

the

human

listener

will

accept

the

much

larger

set

of

presentations

that

are

merely

delayed

in

starting

by

up

to

second

By

adding

a

constant

time

shift

error

to

the

error

model

we

can

accept

this

much

larger

set

of

presentations

with

a

QOS

specification

that

is

still

conservative

Our

error

model

adds

many

error

components

to

achieve

a

better

match

between

the

least

conservative

QOS

specification

and

human

perception

The

shift

component

for

time

is

intended

to

express

the

amount

by

which

a

presentation

is

seen

to

be

behind

schedule

The

shift

error

need

not

be

constant

in

our

model

but

may

increase

or

decrease

with

time

We

add

the

synch

error

component

because

shift

errors

are

not

likely

to

be

noticed

except

as

part

of

a

synchronization

error

between

outputs

Humans

are

sensitive

to

the

presentation

rate

so

the

error

model

includes

rate

error

which

we

define

as

the

rate

of

change

in

the

shift

error

with

respect

to

time

The

rate

error

is

zero

while

the

shift

error

is

constant

but

increases

in

magnitude

when

the

presentation

speeds

up

or

slows

down

The

addition

of

jitter

to

the

error

model

allows

us

to

isolate

high

frequency

noise

in

the

timing

from

the

shift

and

rate

components

For

example

logical

time

for

a

video

might

be

accurately

perceived

as

being

stopped

between

frames

and

then

advancing

rapidly

as

the

next

frame

is

presented

Rather

than

reflecting

this

rate

fluctuation

in

the

rate

error

component

the

jitter

error

component

accounts

for

these

small

timing

errors

As

discussed

below

the

error

model

does

not

need

to

specify

how

much

of

the

timing

error

is

due

to

jitter

and

how

much

to

shift

The

shift

rate

and

jitter

error

components

are

defined

similarly

for

X

and

Y

dimensions

since

video

presentations

can

suffer

from

displacement

scaling

and

small

distortions

that

are

analogous

to

the

temporal

error

components

Even

after

accounting

for

temporal

and

spatial

errors

the

difference

between

an

actual

presentation

value

and

the

corresponding

ideal

value

at

an

infinitesimal

point

is

not

particularly

meaningful

The

problem

is

that

humans

do

n't

perceive

independent

values

at

infinitesimal

points

but

instead

integrate

over

small

display

areas

and

time

intervals

This

fact

is

routinely

exploited

by

graphics

algorithms

that

use

dithering

For

example

a

black

and

white

display

can

represent

a

gray

tone

by

a

pattern

with

every

other

pixel

turned

on

Dithering

trades

off

spatial

resolution

for

more

accurate

average

values

Let

X

res

be

the

width

of

the

smallest

resolvable

vertical

stripe

in

a

presentation

We

define

Y

res

and

T

res

similarly

Then

the

interesting

measure

of

value

error

is

the

difference

in

average

value

over

a

region

with

dimensions

X

res

Y

res

T

res

This

separates

value

errors

into

what

we

perceive

as

resolution

loss

and

actual

wrong

values

Our

error

model

includes

Z

shift

Z

rate

and

Z

jitter

error

components

to

model

offset

scale

and

noise

errors

respectively

All

three

are

related

to

the

value

of

Z

err

averaged

over

a

region

defined

by

the

resolution

error

components

The

determination

of

error

component

functions

is

inherently

ambiguous

because

there

is

no

information

in

an

output

signal

about

the

intended

correspondence

with

a

specification

Each

user

perceives

error

in

a

presentation

subjectively

and

may

assess

the

error

differently

For

a

given

presentation

and

its

specification

there

are

an

infinite

number

of

interpretations

that

will

satisfy

our

error

model

each

with

a

different

affect

on

presentation

quality

What

matters

is

that

an

interpretation

exists

that

has

acceptable

errors

We

assume

that

users

are

good

at

recognizing

the

intended

presentation

content

and

that

they

therefore

perceive

the

interpretation

with

errors

that

vLog

z

z

Outputdevcliptr

dev/audio

Outputdev

cliptr

nullDev

Viewmapstartrate

now

Outputdevcliptr

Screenx

y

z

x

y

z

Figure

View

specification

for

playback

of

bicycling

video

at

four

times

normal

rate

are

the

most

acceptable

We

say

that

an

error

model

is

sound

if

for

any

trio

of

Content

View

and

Presentation

a

set

of

error

component

functions

exist

that

satisfy

the

definition

of

the

error

model

The

error

model

proposed

in

this

section

is

both

sound

and

complete

and

also

gives

formal

definitions

for

shift

rate

jitter

resolution

and

synchronization

errors

that

are

a

superset

of

the

QOS

parameters

proposed

by

other

researchers

-LSB-

-RSB-

The

utility

of

a

particular

error

model

depends

in

part

on

how

well

it

models

human

perception

of

errors

that

affect

quality

Further

work

is

needed

to

evaluate

the

utility

of

this

particular

error

model

Using

Quality

Specifications

for

Resource

Reservation

A

multimedia

player

can

generally

meet

a

QOS

specification

with

fewer

resources

than

are

needed

for

a

maximal

quality

presentation

Consider

the

bicycling

video

of

Figure

and

a

new

view

specification

shown

in

Figure

Let

the

quality

specification

q

have

the

critical

error

values

from

Figure

and

the

value

for

q

min

The

view

represents

a

user

request

to

play

the

presentation

at

times

the

normal

rate

The

resulting

ideal

specification

then

calls

for

frames/second

of

video

However

the

quality

specification

only

requires

that

quality

exceed

If

all

aspects

of

the

presentation

were

perfect

except

for

video

jitter

the

quality

specification

would

admit

a

presentation

with

jitter

less

than

or

equal

to

seconds

which

allows

the

playback

algorithm

to

drop

more

than

five

out

of

six

frames

This

result

follows

from

the

predicate

in

the

QOS

schema

Let

pv

be

the

video

output

and

i

be

an

interpretation

that

finds

all

error

components

to

be

zero

except

for

i

error

pv

-LRB-

T

jitter

-RRB-

Since

the

exponential

functions

are

equal

to

one

when

error

is

zero

we

get

x

y

t

R

ffl

exp

-LRB-

j

i

error

pv

-LRB-

T

jitter

-RRB-

x

y

t

q

calib

pv

-LRB-

T

jitter

-RRB-

j

-RRB-

-LRB-

-RRB-

Assuming

that

jitter

is

always

positive

we

can

substitute

the

critical

value

q

calib

pv

-LRB-

T

jitter

-RRB-

from

Figure

and

solve

for

the

jitter

j

i

error

pv

-LRB-

T

jitter

-RRB-

x

y

t

j

ln

-LRB-

-RRB-

-LRB-

-RRB-

Thus

the

absolute

value

of

the

jitter

can

be

as

large

as

seconds

Since

all

other

errors

are

assumed

to

be

zero

jitter

is

defined

by

the

error

model

to

be

the

difference

tideal

t

where

content

displayed

by

the

presentation

at

time

t

should

have

been

displayed

at

time

tideal

As

Figure

illustrates

if

the

duration

d

of

the

ith

frame

in

a

presentation

is

centered

on

the

ideal

time

for

presentation

of

that

frame

ti

then

the

absolute

value

of

the

jitter

is

always

less

than

d

seconds

Setting

d

and

solving

for

d

gives

us

a

maximum

frame

duration

of

seconds

and

a

minimum

frame

rate

of

approximately

frames/second

Analysis

of

a

QOS

specification

can

identify

a

range

of

presentation

plans

that

might

satisfy

the

specification

as

illustrated

above

A

multimedia

player

can

perform

this

analysis

automatically

actual

presentation

i

i

it

ideal

presentation

Figure

Example

mapping

from

actual

presentation

times

to

ideal

presentation

times

When

shift

error

in

an

interpretation

is

zero

all

timing

error

must

be

attributed

to

jitter

in

response

to

playback

requests

To

guarantee

that

a

particular

presentation

plan

will

satisfy

a

QOS

specification

a

player

must

reserve

resources

for

storage

access

decompression

mixing

and

presentation

processes

-LSB-

-RSB-

The

attempt

to

reserve

resources

is

called

an

admission

test

The

admission

test

may

invoke

resource

reservation

protocols

for

network

and

file

system

resources

with

resource-level

QOS

parameters

derived

from

the

process

timing

requirements

If

the

player

can

not

find

a

presentation

plan

that

both

satisfies

the

QOS

requirements

and

meets

the

admission

test

then

the

QOS

requirements

must

be

renegotiated

Related

Work

It

is

now

well

understood

that

time-based

multimedia

systems

require

some

form

of

resource

guarantees

for

predictable

performance

We

consider

related

research

in

the

categories

of

content

specification

QOS

specification

scheduling

mechanisms

and

reservation

protocols

The

Muse

system

-LSB-

-RSB-

is

one

of

the

earliest

full-featured

editing

tools

that

allows

multi-track

timeline

synchronization

of

media

objects

The

Muse

authoring

tools

support

content

and

view

specification

but

do

not

explicitly

constrain

presentation

quality

MAEstro

-LSB-

-RSB-

is

a

distributed

editing

and

playback

environment

that

achieves

effective

coarse-grained

synchronization

for

timeline-based

content

specifications

The

MAEstro

player

relies

on

UNIX

timer

interrupts

Sun

remote

procedure

calls

and

the

Unix

scheduler

for

best-effort

synchronization

The

CMIFed

-LSB-

-RSB-

environment

supports

content

editing

with

specification

of

allowed

deviations

in

synchronization

Our

work

can

be

applied

to

extend

these

tools

with

a

formal

model

for

specifying

quality

along

with

content

The

QOS

specifications

can

be

used

both

to

guarantee

acceptable

presentations

and

to

optimize

resources

when

the

quality

requirements

admit

multiple

presentation

plans

Researchers

have

suggested

a

variety

of

parameters

for

multimedia

QOS

specifications

Continuous

media

stream

access

is

generally

described

by

throughput

and

delay

or

jitter

bounds

-LSB-

-RSB-

Hutchinson

et

al.

-LSB-

-RSB-

suggest

a

framework

of

categories

for

QOS

specification

including

reliability

timeliness

volume

criticality

quality

of

perception

and

even

cost

They

provide

only

a

partial

list

of

QOS

parameters

to

show

that

current

QOS

support

in

OSI

and

CCITT

standards

is

severely

limited

While

these

lists

suggest

many

important

ways

to

describe

service

categories

they

go

beyond

presentation

requirements

and

into

specification

of

implementation

Our

definition

of

QOS

specification

excludes

volume

throughput

and

cost

values

because

these

values

are

secondary

and

can

be

derived

from

the

combination

of

presentation

requirements

and

system

configuration

The

Capacity-Based-Session-Reservation-Protocol

-LRB-

CBSRP

-RRB-

-LSB-

-RSB-

supports

reservation

of

processor

bandwidth

from

the

specification

of

a

range

of

acceptable

spatial

and

temporal

resolutions

for

video

playback

requests

The

resolution

parameters

are

intended

only

for

providing

a

few

classes

of

service

based

on

resource

requirements

and

not

for

completely

capturing

presentation

quality

requirements

Our

error

model

provides

a

complete

set

of

error

components

including

Z

shift

Z

rate

and

Z

jitter

components

for

image

value

errors

as

well

as

error

components

for

inter-stream

synchronization

Many

researchers

have

demonstrated

that

quality

can

be

traded

for

lower

bandwidth

requirements

during

a

presentation

A

variety

of

scaling

methods

may

be

applied

to

reduce

the

bandwidth

requirements

of

video

streams

-LSB-

-RSB-

Software

feedback

techniques

have

been

used

to

dynamically

adjust

stream

processing

workloads

to

available

system

bandwidth

-LSB-

-RSB-

These

techniques

can

be

used

aggressively

by

a

presentation

planner

to

reserve

minimal

resources

for

a

formal

QOS

specification

Resource

requirements

may

be

derived

from

a

presentation

plan

that

satisfies

a

QOS

specification

When

the

resource

requirements

are

known

resource

reservation

protocols

are

needed

to

guarantee

predictable

access

Several

groups

have

reported

reservation

protocols

for

network

resources

-LSB-

-RSB-

Processor

capacity

reservation

has

been

implemented

in

the

Real-Time

Mach

operating

system

-LSB-

-RSB-

and

file

systems

have

been

developed

to

support

reservations

for

continuous

media

streams

-LSB-

-RSB-

These

protocols

can

be

used

effectively

within

the

architecture

suggested

in

Section

Conclusions

This

paper

has

described

a

new

framework

for

QOS

specification

in

multimedia

systems

The

primary

contributions

of

this

framework

are

the

clear

distinction

between

content

view

and

quality

specifications

and

the

formal

definition

of

presentation

quality

Because

every

component

of

our

QOS

specifications

has

an

unambiguous

meaning

it

is

possible

to

prove

the

correctness

of

a

presentation

plan

These

formal

QOS

specifications

enable

system

designers

to

request

and

provide

meaningful

end-to-end

guarantees

for

multimedia

services

Section

gave

an

informal

illustration

of

how

the

QOS

specification

can

be

used

to

derive

a

minimal

frame

rate

for

an

acceptable

presentation

Our

formal

definition

of

presentation

quality

is

based

on

a

mapping

from

an

actual

presentation

to

an

ideal

specification

This

mapping

ensures

that

our

error

model

is

complete

because

as

all

error

components

in

the

model

approach

zero

the

presentation

necessarily

becomes

indistinguishable

from

the

ideal

specification

Previous

definitions

of

QOS

parameters

do

not

satisfy

this

completeness

criteria

We

have

proposed

an

extensible

set

of

error

components

that

are

a

superset

of

the

QOS

parameters

suggested

by

other

researchers

Another

important

achievement

of

this

definition

is

the

recognition

that

presentation

quality

should

be

specified

in

terms

of

a

subjective

interpretation

of

output

errors

and

not

in

terms

of

the

presentation

mechanism

Our

QOS

specifications

allow

a

player

to

choose

an

optimal

presentation

plan

according

to

current

resource

costs

and

availability

Knowledge

of

the

presentation

mechanism

can

then

be

used

to

prove

that

an

acceptable

quality

interpretation

of

the

presentation

exists

We

are

implementing

a

playback

system

that

uses

these

QOS

specifications

Further

work

is

needed

to

investigate

algorithms

for

translating

QOS

specifications

into

feasible

presentation

plans

Studies

of

human

perception

are

also

needed

to

improve

the

error

model

Acknowledgements

We

would

like

to

thank

Tom

Little

of

Boston

University

and

John

Nicol

of

GTE

Labs

for

their

comments

on

early

versions

of

this

work

Jim

Hook

of

The

Oregon

Graduate

Institute

of

Science

Technology

also

aided

our

understanding

of

the

formalisms

required

References

-LSB-

-RSB-

David

P.

Anderson

Ralf

Guido

Herrtwich

and

Carl

Schaefer

SRP

A

Resource

Reservation

Protocol

for

Guaranteed-Performance

Communication

in

the

Internet

Tech

Rep.

International

Computer

Science

Institute

February

-LSB-

-RSB-

David

P.

Anderson

Yoshitomo

Osawa

and

Ramesh

Govindan

A

File

System

for

Continuous

Media

ACM

Transactions

on

Computer

Systems

Vol

No.

November

pp.

-LSB-

-RSB-

David

P.

Anderson

Metascheduling

for

Continuous

Media

ACM

Transactions

on

Computer

Systems

Vol

No.

August

pp

-LSB-

-RSB-

Apple

Computer

Inc.

Inside

Macintosh

QuickTime

Addison-Wesley

-LSB-

-RSB-

Andrew

Campbell

Geoff

Coulson

Francisco

Garcia

and

David

Hutchison

A

Continuous

Media

Transport

and

Orchestration

Service

Proceedings

ACM

SIGCOMM

Baltimore

MD

August

-LSB-

-RSB-

Tzi-cker

Chiueh

and

Randy

H.

Katz

Multi-Resolution

Video

Representation

for

Parallel

Disk

Arrays

ACM

Multimedia

Proceedings

August

pp.

-LSB-

-RSB-

Geoff

Coulson

Gordon

S.

Blair

and

Philippe

Robin

Micro-kernel

Support

for

Continuous

Media

in

Distributed

Systems

Computer

Networks

and

ISDN

Systems

Vol

pp.

-LSB-

-RSB-

Luca

Delgrossi

C.

Halstrick

D.

Hehmann

R.G.

Herrtwich

O.

Krone

Jochen

Sandvoss

and

Carsten

Vogt

Media

Scaling

for

Audiovisual

Communication

with

the

Heidelberg

Transport

System

ACM

Multimedia

Proceedings

August

pp.

-LSB-

-RSB-

G.D.

Drapeau

Synchronization

in

the

MAEstro

Multimedia

Authoring

Environment

ACM

Multimedia

August

Anaheim

CA.

pp

-LSB-

-RSB-

Jim

Gemmell

and

Stavros

Christodoulakis

Principles

of

Delay-Sensitive

Multimedia

Data

Storage

and

Retrieval

ACM

Transactions

on

Information

Systems

Vol

No.

January

pp

-LSB-

-RSB-

Rei

Hamakawa

and

Jun

Rekimoto

Object

Composition

and

Playback

Models

for

Handling

Multimedia

Data

Multimedia

Systems

Vol

No

June

pp.

-LSB-

-RSB-

B.B.

Hehmann

M.G.

Salmony

and

H.J.

Stuttgen

Transport

Services

for

Multimedia

Applications

on

Broadmand

Networks

Computer

Communications

Vol

No.

May

pp.

-LSB-

-RSB-

M.E.

Hodges

R.M.

Sasnett

M.S.

Ackerman

A

Construction

Set

for

Multimedia

Applications

IEEE

Software

January

pp.

-LSB-

-RSB-

David

Hutchison

Geoff

Coulson

Andrew

Campbell

and

Gordon

S.

Blair

Quality

of

Service

Management

in

Distributed

Systems

Tech

Rep.

Lancaster

University

-LSB-

-RSB-

K.

Jeffay

D.L.

Stone

T.

Talley

F.D.

Smith

Adaptive

Best-Effort

Delivery

of

Digital

Audio

and

Video

Across

Packet-Switched

Networks

Proceedings

of

the

Third

International

Workshop

on

Network

and

Operating

System

Support

for

Digital

Audio

and

Video

November

pp.

-LSB-

-RSB-

A.

Lazar

G.

Pacifici

Control

of

Resources

in

Broadband

Networks

with

QOS

Guarantees

IEEE

Communications

Magazine

October

-LSB-

-RSB-

Didier

Le

Gall

MPEG

A

Video

Compression

Standard

for

Multimedia

Applications

CACM

Vol

No.

April

-LSB-

-RSB-

T.D.C.

Little

and

A.

Ghafoor

Network

Considerations

for

Distributed

Multimedia

Object

Composition

and

Communication

IEEE

Network

Magazine

November

pp.

-LSB-

-RSB-

T.D.C.

Little

A.

Ghafoor

Interval-Based

Conceptual

Models

for

Time-Dependent

Multimedia

Data

IEEE

Transactions

on

Knowledge

and

Data

Engineering

Vol

No.

August

pp.

-LSB-

-RSB-

P.

Lougher

and

D.

Shepherd

The

design

of

a

storage

server

for

continuous

media

The

Computer

Journal

Vol

No.

February

pp.

-LSB-

-RSB-

David

Maier

Jonathan

Walpole

and

Richard

Staehli

Storage

System

Architectures

for

Continuous

Media

Data

FODO

Proceedings

Lecture

Notes

in

Computer

Science

Vol

Springer-Verlag

-LSB-

-RSB-

C.W.

Mercer

S.

Savage

and

H.

Tokuda

Processor

Capacity

Reserves

Operating

System

Support

for

Multimedia

applications

Proceedings

of

the

International

Conference

on

Multimedia

Computing

and

Systems

May

pp.

-LSB-

-RSB-

Jason

Nieh

James

G.

Hanko

J.

Duane

Northcutt

and

Gerard

A.

Wall

Scheduler

Unacceptable

for

Multimedia

Applications

Proceedings

of

the

International

Workshop

on

Network

and

Operating

System

Support

for

Digital

Audio

and

Video

November

pp.

-LSB-

-RSB-

Calton

Pu

and

Robert

M.

Fuhrer

Feedback-Based

Scheduling

a

Toolbox

Approach

Proceedings

of

Fourth

Workshop

on

Workstation

Operating

Systems

October

-LSB-

-RSB-

K.K.

Ramakrishnan

Lev

Vaitzblit

Cary

Gray

Uresh

Vahalia

Dennis

Ting

Percy

Tzelnic

Steve

Glaser

and

Wayne

Duso

Operating

System

Support

for

a

Video-On-Demand

File

Service

Proceedings

of

the

International

Workshop

on

Network

and

Operating

System

Support

for

Digital

Audio

and

Video

November

pp.

-LSB-

-RSB-

G.

van

Rossum

J.

Jansen

K.S.

Mullender

and

D.C.A.

Butlerman

CMIFed

A

Presentation

Environment

for

Portable

Hypermedia

Documents

ACM

Multimedia

pp.

-LSB-

-RSB-

Lawrence

A.

Rowe

Ketan

D.

Patel

Brian

C.

Smith

Kim

Liu

MPEG

Video

in

Software

Representation

Transmission

and

Playback

High

Speed

Networking

and

Multimedia

Computing

IS&T

SPIE

February

-LSB-

-RSB-

J.M.

Spivey

The

Z

Notation

A

Reference

Manual

Second

edition

Prentice-Hall

International

-LSB-

-RSB-

Richard

Staehli

and

Jonathan

Walpole

Constrained-Latency

Storage

Access

Computer

Vol

No.

March

pp.

-LSB-

-RSB-

Ralf

Steinmetz

and

Clemens

Engler

Human

Perception

of

Media

Synchronization

Tech

Rep.

IBM

European

Networking

Center

-LSB-

-RSB-

Andrew

S.

Tanenbaum

Computer

Networks

-LCB-

Edition

Prentice-Hall

pp.

-LSB-

-RSB-

Hideyuki

Tokuda

Yoshito

Tobe

Stephen

T.-C

Chou

and

Jos?e

M.F.

Moura

Continuous

Media

Communication

with

Dynamic

QOS

Control

Using

ARTS

with

an

FDDI

Network

SIGCOMM

-LSB-

-RSB-

Hideyuki

Tokuda

and

Takuro

Kitayama

Dynamic

QOS

Control

based

on

Real-Time

Threads

Proceedings

of

the

International

Workshop

on

Network

and

Operating

System

Support

for

Digital

Audio

and

Video

November

pp.

-LSB-

-RSB-

Hideyuki

Tokuda

Operating

System

Support

for

Continuous

Media

Applications

In

Multimedia

Systems

Ch

Addison-Wesley

pp

-LSB-

-RSB-

H.

M.

Vin

and

P.

V.

Rangan

Designing

a

Multi-User

HDTV

Storage

Server

IEEE

Journal

on

Selected

Areas

in

Communication

Vol

No

January

-LSB-

-RSB-

Gregory

K.

Wallace

The

JPEG

Still

Picture

Compression

Standard

CACM

Vol

No.

April

pp.

-LSB-

-RSB-

Marek

Wernik

Osama

Aboul-Magd

and

Henry

Gilbert

Traffic

Management

for

B-ISDN

Services

IEEE

Network

September

pp

-LSB-

-RSB-

H.

Zhang

and

D.

Ferrari

Improving

Utilization

for

Deterministic

Service

in

Multimedia

Communication

Proceedings

of

the

International

Conference

on

Multimedia

Computing

and

Systems

May

pp.

multimedia
quality of service
resource reservations
synchronization