Computing

Multiscale

Curve

and

Surface

Skeletons

of

Genus

Shapes

Using

a

Global

Importance

Measure

Abstract-We

present

a

practical

algorithm

for

computing

robust

multiscale

curve

and

surface

skeletons

of

objects

of

genus

zero.

Based

on

a

model

that

follows

an

advection

principle,

we

assign

to

each

point

on

the

skeleton

a

part

of

the

object

surface,

called

the

collapse.

The

size

of

the

collapse

is

used

as

a

uniform

importance

measure

for

the

curve

and

surface

skeleton,

so

that

both

can

be

simplified

by

imposing

a

single

threshold

on

this

intuitive

measure.

The

simplified

skeletons

are

connected

by

default,

without

special

precautions,

due

to

the

monotonicity

of

the

importance

measure.

The

skeletons

possess

additional

desirable

properties:

They

are

centered,

robust

to

noise,

hierarchical,

and

provide

a

natural

skeleton-to-boundary

mapping.

We

present

a

voxel-based

algorithm

that

is

straightforward

to

implement

and

simple

to

use.

We

illustrate

our

method

on

several

realistic

objects.

S

KELETONS

are

compact

shape

descriptors.

The

skeleton,

or

medial

axis,

of

a

object

can

be

defined

as

the

centers

of

maximally

inscribed

discs

In

this

definition

can

be

extended

to

the

centers

of

maximally

inscribed

balls.

Alternative

definitions

are

the

set

of

interior

points

that

have

at

least

two

closest

points

on

the

object

surface,

the

first-order

singularities

of

the

distance-to-boundary

field,

or

distance

transform

(DT).

Using

these

definitions

for

a

object,

we

obtain

the

so-called

surface

skeleton

S,

or

medial

surface,

which

consists

of

a

set

of

manifolds,

or

skeletal

sheets,

and

a

set

of

curves.

The

skeleton

points,

together

with

their

distance

to

the

object

boundary,

define

the

medial

surface

transform

(MST),

which

can

be

used

for

volumetric

animation

surface

smoothing

or

topological

analysis

used

in

shape

recognition,

registration,

simplification,

or

feature

tracking..

A

different

type

of

skeleton

is

the

curve

skeleton

C,

which

consists,

for

a

object,

of

curves

locally

centered

with

respect

to

the

object

boundary.

Curve

skeletons

have

a

low

dimensionality,

which

makes

them

suitable

for

"stickfigure"

object

representations

in

animation,

morphing,

and

geometric

processing

In

contrast

to

surface

skeletons,

curve

skeletons

lack

a

formal

and

unanimously

accepted

definition..

It

is

widely

accepted

that

skeletons

and

surface

and

curve

skeletons

should

fulfill

several

desirable

properties

homotopic,

invariant

under

isometric

transformations,

reconstruction,

thin,

centered,

junction

detective,

robust,

efficient

to

compute,

and

hierarchical.

Although

skeletonization

is

a

well-studied

problem,

computing

skeletons

with

all

of

the

above

properties

is

still

an

open

problem..

The

robustness

and

hierarchical

properties

deserve

further

attention.

The

robustness

property

means

that

the

skeleton

is

insensitive

to

small-scale

boundary

noise.

This

is

needed

in

all

practical

applications

because

the

boundary

discretization,

whether

voxel-based

or

polygon-based,

inevitably

introduces

noise.

The

hierarchical

property

means

computing

a

multiscale

of

nested

skeletons,

each

one

representing

the

shape

details

on

a

different

spatial

scale.

Hierarchical

skeletons

are

typically

also

robust,

since

boundary

noise

can

be

seen

as

small-scale

object

details.

To

the

above,

we

add

the

uniformity

and

inclusion

properties.

The

uniformity

property

requires

that

both

curve

and

surface

skeletons

are

computed

and

treated

similarly.

For

example,

if

a

method

provides

a

parameter

for

multiscale

skeleton

simplification,

this

parameter

should

be

the

same

for

both

curve

and

surface

skeletons.

The

inclusion

property

requires

that

C

is

a

subset

of

S,

motivated

by

the

fact

that

curve

skeletons

can

be

considered

a

limit

case

of

surface

skeletons

for

objects

with

local

circular

symmetry

(e.g.,

a

tube)..

In

this

paper,

we

introduce

the

collapse

measure,

a

novel

importance

measure

for

computing

both

curve

and

surface

skeletons

of

shapes.

Our

measure

possesses

all

the

desirable

properties

mentioned

earlier:

It

is

robust

to

compute

on

complex,

noisy

shapes,

it

always

delivers

connected

skeletons,

its

thresholding

produces

a

hierarchy

of

nested

skeletons

describing

the

shape

at

different

scales,

it

treats

surface

and

curve

skeletons

uniformly,

and

it

is

simple

to

implement.

Additionally,

our

collapse

measure

has

a

geometrically

motivated

definition,

which

makes

its

use

in

practice

intuitive.

Conceptually,

the

collapse

measure

is

based

on

an

advection

process

that

generalizes

to

the

global

featuredistance

measure

used

to

compute

skeletons

by

several

authors

Intuitively,

this

can

be

explained

as

follows:

Mass,

initially

located

on

the

object

boundary,

is

advected

onto

and

then

along

the

skeleton.

The

collapse

measure

of

an

object

point

is

the

amount

of

mass

advected

through

that

point.

All

object

points

are

treated

equally,

yielding

a

uniform

collapse

measure

for

nonskeleton,

surface

skeleton,

and

curve

skeleton

points.

Hence,

our

method

merges

the

skeleton

detection

and

simplification

in

a

single

step.

We

present

a

voxel-based

algorithm

that

computes

an

approximation

of

the

collapse

measure.

The

algorithm

does

not

simulate

the

advection

process

explicitly

but

computes

the

collapse

measure

directly.

We

demonstrate

the

algorithm

on

several

real-world

examples..

The

structure

of

this

paper

is

given

as

follows:

In

Section

we

give

an

overview

of

related

work.

In

Section

we

discuss

our

informal

model

in

show

its

equivalence

to

the

feature-distance

measure,

and

propose

an

extension

to

The

informal

model

motivates

our

algorithm,

which

is

presented

in

Section

Section

presents

the

results

of

the

algorithm.

Section

discusses

how

our

method

fulfills

the

desirable

skeleton

properties

and

compares

it

with

existing

methods.

Section

concludes

this

paper.

We

have

proposed

the

collapse

measure,

a

novel

importance

measure

that

enables

the

robust

computation

of

multiscale

curve

and

surface

skeletons

of

objects.

To

our

knowledge,

this

is

the

first

truly

global

importance

measure

that

can

be

used

to

obtain

both

surface

and/or

curve

skeleton

hierarchies

in

a

uniform

manner.

Underpinning

the

collapse

measure

is

a

physical

process

in

which

mass

from

the

object

boundary

is

advected

or

"collapses"

onto

the

skeleton.

This

gives

the

measure

an

intuitive

meaning

and

allows

us

to

reason

about

it

and

deduce

several

properties

of

interest.

For

the

practical

implementation

of

the

proposed

measure,

we

do

not

explicitly

simulate

the

advection

process,

as

this

can

be

computationally

unstable

and

complex.

Instead,

we

propose

a

practical

algorithm

that

is

straightforward

to

implement,

does

not

need

any

postprocessing

steps,

and

is

robust,

as

it

uses

only

integral

operations.

Our

algorithm

delivers

good

results

on

a

wide

range

of

real-world

complex

objects.

A

limitation

of

our

measure

is

that

objects

with

tunnels

cannot

be

handled.

However,

this

is

a

known

limitation

for

the

analogous

feature-distance

measure

In

detail,

we

can

compute

curve

skeletons

for

such

objects

but

not

simplify

them

since

we

have

no

importance

measure

for

their

loop

parts..

In

future

work,

we

want

to

apply

our

skeletons

in

various

applications

such

as

the

simplification

of

complex

objects.

Also,

we

consider

an

extension

of

the

collapse

measure

that

can

handle

objects

with

tunnels.

The

recursive

nature

of

our

approach

makes

it

interesting

to

look

at

generalizations

and

applications

beyond

for

example,

for

time-dependent

surfaces.

Finally,

on

a

more

theoretical

ground,

we

plan

to

investigate

our

conjecture

(see

Section

in

more

depth

to

acquire

more

insight

into

the

relation

of

shapes

with

their

skeletal

counterparts.

Because

curve

and

surface

skeletonization

methods

differ

in

the

precise

skeleton

definition

that

they

use,

the

object

representation

they

work

on,

and

the

applications

they

target,

they

are

usually

compared

by

their

results

based

on

various

desirable

properties,

as

mentioned

in

Section

In

Section

we

discuss

how

our

approach

satisfies

these

desirable

properties.

In

Section

we

discuss

how

several

key

aspects

of

our

approach

relate

to

other

approaches.

Methods

for

computing

medial

axes

and

skeletons

are

commonly

classified

into

four

groups

thinning

or

erosion

geometric

methods

distance-field

methods

and

general-field

methods

Such

methods

usually

work

either

on

a

raster

or

voxelbased

object

representation

or

on

a

boundary

sampling.

Thinning

methods

iteratively

remove

boundary

voxels

as

long

as

connectivity

is

not

violated.

Removing

voxels

in

order

of

a

true

distance-to-boundary

fashion

enforces

the

centeredness

criterion

Geometric

methods

often

use

the

Voronoi-diagram

of

a

boundary

sampling

and

deliver

a

polygonal

skeleton

description

These

methods

are

quite

complex

to

implement

in

and

the

resulting

surface

skeletons

can

be

difficult

to

handle.

Other

geometric

methods

compute

skeletons

using

edge

collapses

from

a

mesh

segmentation

or

by

sphere

sweeping

Distance-field

methods

detect

skeletons

as

singularities

of

various

types

of

the

DT

of

the

object

and

have

been

efficiently

implemented

using

graphics

hardware

In

general-field

methods,

alternatives

for

the

DT

are

used

These

methods

are

generally

less

sensitive

to

noise

due

to

the

averaging

effect

that

the

field

has..

A

key

aspect

of

any

skeletonization

method

is

its

ability

to

produce

robust,

hierarchical

skeletons.

At

the

core

of

any

such

method

is

an

importance

measure

for

the

skeleton

points.

Such

measures

have

the

desirable

property

that

small

values

correspond

to

skeleton

points

that

represent

object

details,

whereas

large

values

correspond

to

points

that

represent

the

object's

main

structure.

Simplified

skeletons

can

be

obtained

by

pruning

the

skeleton

using

the

importance

measure

We

distinguish

between

local

and

global

measures.

Local

measures

use

only

object

properties

from

a

small

limited

vicinity

of

every

object

point

and

are

thus

incapable

of

distinguishing

between

locally

identical

configurations

such

as

those

sketched

in

in

Fig.

Thresholding

local

measures

usually

delivers

disconnected

skeletons.

Connectivity

can

be

enforced,

but

this

requires

extra

work

and

often

makes

the

simplification

noncontinuous

thus

less

intuitive.

In

contrast,

global

measures

monotonically

increase

from

the

skeleton

boundary

to

its

center

and

describe

a

skeleton

point's

importance

to

representing

the

whole

object.

Pruning

global

measures

by

simple

thresholding

always

delivers

connected

skeletons..

In

the

feature-distance

measure,

also

called

the

collapsed

boundary

measure,

is

a

simple,

robust,

and

efficient

to

compute

the

global

importance

measure

used

both

for

polygonal

and

pixel

object

representations

by

several

authors

Fig.

sketches

this

measure:

The

importance

of

the

skeleton

point

p

equals

the

length

of

the

smaller

boundary

curve

delimited

by

points

p

a

and

p

b

where

p

a

p

b

are

the

points

at

minimum

distance

of

p:

the

socalled

feature

points.

By

this

measure,

the

importance

of

q

is

regarded

lower,

which

agrees

with

intuition.

In

the

-SMA

method

uses

a

local

measure

based

on

the

angle

between

the

feature

(or

anchor)

points

Combining

the

angle

with

the

distance-to-boundary

value

yields

a

more

robust

measure

Siddiqi

et

al.

propose

a

range

of

methods

that

use

a

local

divergence-based

measure

to

detect

and

classify

skeleton

points

in

A

similar

approach

using

first-order

moments

is

given

by

Rumpf

and

Telea

Pizer

et

al.

give

a

comparison

of

methods

that

compute

multiscale

skeletons.

The

generalfield

method

by

Cornea

et

al.

delivers

smooth

curve

skeleton

hierarchies.

However,

only

a

limited

number

of

hierarchy

levels

is

generated,

and

the

different

levels

are

not

treated

uniformly.

Recently,

Dey

and

Sun

presented

a

method

that

computes

robust

curve

skeletons.

Similar

to

Prohaska

and

Hege's

method

they

use

the

shortest

geodesic

length

between

feature

points

as

an

importance

measure

for

the

surface

skeleton

points.

This

is

a

global

importance

measure

used

to

find

the

middle

of

the

surface

skeleton.

They

obtain

a

curve

skeleton

by

using

the

local

divergence

measure

in

on

this

geodesic-length

measure..

Related

to

the

curve

skeleton

is

the

Reeb

graph:

A

structure

encoding

geometrical

and

topological

properties

of

shapes

It

is

constructed

by

following

the

evolution

of

the

level

sets

of

a

real-valued

function

on

the

object

boundary.

The

critical

points

of

this

function

are

represented

by

nodes

in

the

Reeb

graph,

and

the

edges

represent

connections

between

critical

points.

The

realvalued

function,

defined

on

the

object

boundary,

should

be

chosen

carefully

to

obtain

a

Reeb

graph

that

is

suitable

for

Fig.

A

shape

and

its

skeleton.

Points

p,

q

S,

and

their

feature

points

p

a

p

b

and

q

a

q

b

respectively,

have

locally

identical

configurations.

Globally,

however,

p

is

considered

more

important

than

q..

the

application

at

hand.

In

contrast,

our

approach

uses

curve

and

surface

skeleton

definitions

to

obtain

a

realvalued

function

on

the

skeleton,

the

importance

measure,

which

is

then

used

to

simplify

it..

In

this

paper,

we

propose

a

global

importance

measure

for

computing

multiscale

surface

and

curve

skeletons

by

generalizing

the

feature-distance

measure

to

At

the

core

of

our

measure

is

an

advection

principle.

In

Section

we

present

the

conceptual

model.

We

present

now

a

voxel-based

algorithm

that

computes

simplified

skeletons

by

first

computing

the

collapse

measure

and

then

thresholding

it

A

strong

point

of

our

algorithm

is

that

it

works

on

the

object-boundary

voxels

only

and

not

on

any

derived

structures.

In

particular,

there

is

no

need

to

compute

S

first.

It

is

important

to

note

that

we

do

not

need

to

explicitly

compute

the

flow

vector

field

F

and

simulate

an

advection

process,

which

would

be

unstable.

Instead,

we

compute

the

collapse

measure

at

surface

and

curve

skeleton

voxels

directly

as

a

length

and

object

surface

area,

respectively.

In

Section

we

present

an

outline

of

the

algorithm.

Section

discusses

the

implementation

in

more

detail.

Section

explains

how

the

algorithm

deals

with

the

nongeneric

cases.

The

pseudocode

of

the

algorithm

is

shown

in

Fig.

The

algorithm

takes

as

input

a

binary

object

voxelized

on

a

regular

grid.

The

output

is

the

simplified

skeleton

S

represented

on

the

same

voxel

grid.

The

voxelized

boundary

is

represented

as

a

graph

in

which

nodes

are

voxels.

An

edge

in

the

graph

corresponds

to

two

neighboring

voxels

that

are

that

is,

share

at

least

one

corner.

The

object

voxels

are

that

is,

they

are

connected

if

sharing

a

face.

The

algorithm

consists

of

four

stages:

computing

the

(extended)

feature

transform,

the

shortest

path

sets,

the

collapse

measure,

and,

finally,

the

simplified

skeleton..

In

the

first

stage

(Fig.

line

we

compute

the

feature

transform

F

using

Next,

we

compute

the

extended

feature

set

F

of

a

voxel

p

by

merging

the

feature

set

of

p

with

the

feature

sets

of

its

that

lie

in

the

first

octant

(line

The

purpose

of

F

is

to

combat

two

discretization

problems,

as

outlined

in

Section

The

first

problem

is

that,

although

surface

skeleton

points

always

have

at

least

two

feature

points

in

IR

this

is

not

necessarily

so

in

discrete

(Z

Z

space

In

a

box

of

even

height,

no

voxels

on

the

center

surface

skeleton

sheet

contain

two

feature

voxels.

Second,

curve

skeleton

points

have

the

two

shortest

geodesics

between

their

feature

points

in

IR

but

in

Z

Z

the

geodesic

length

cannot

be

computed

exactly,

and

we

may

find

only

one

shortest

path

in

practice..

In

the

second

stage,

we

compute

the

set

of

the

shortest

paths

P

between

each

pair

of

feature

voxels

in

F

(line

The

shortest

path

between

two

feature

voxels

a,

b

is

computed

as

a

chain

code

using

the

A

Ã

shortest

path

algorithm

on

the

boundary

graph

with

euclidean

distance

as

the

search

heuristic.

The

A

Ã

algorithm

computes

only

one

shortest

path

between

two

feature

voxels

a,

b.

This

is

not

a

problem

because

we

compute

the

set

of

shortest

paths

between

each

pair

of

feature

voxels

in

F

Although

computing

shortest

paths

between

each

pair

of

feature

voxels

seems

computationally

expensive,

the

size

of

F

is

typically

small

and

half

of

the

paths

are

between

neighboring

feature

voxels..

In

the

third

stage,

the

collapse

measure

ðpÞ

is

computed.

We

compute

the

set

of

connected

components

C

in

the

boundary

graph

in

which

the

voxels

of

the

shortest

path

set

P

are

removed.

A

simple

spatial

subdivision

scheme

on

the

boundary

is

used

to

speed

up

the

flood

fills

used.

Moreover,

we

prevent

computing

the

collapse

for

voxels

that

certainly

are

nonskeleton

voxels,

that

is,

have

only

a

few

voxels

in

P

If

C

contains

two

or

more

connected

components,

p

is

a

curve

skeleton

voxel

and

the

collapse

at

p

is

n

c,

where

c

C

is

the

largest

connected

component

in

terms

of

voxel

count.

The

collapse

measure

is

equal

to

the

number

of

voxels

in

n

c

(line

We

could

use

a

surface-area

estimator

to

better

approximate

the

collapse

area

on

the

original

continuous

but

taking

the

cardinality

of

the

collapse

yields

good

results

in

practice.

If

C

contains

only

one

connected

component,

p

is

either

a

surface

skeleton

or

nonskeleton

voxel.

In

that

case,

the

collapse

at

p

is

the

longest

shortest

path

in

P

As

a

collapse

measure,

we

could

take

the

amount

of

voxels

in

this

longest

path.

However,

using

the

length

estimator

in

instead

gives

better

results

in

practice

(line

Although

the

algorithm

does

not

differentiate

between

surface

skeleton

and

nonskeleton

voxels,

for

which

jCj

is

also

the

length

of

the

longest

shortest

path

for

nonskeleton

voxels

will

be

between

neighboring

voxels,

resulting

in

a

very

small

The

object

voxels

will

be

of

low

importance

and

will

disappear

first

when

increasing

the

threshold.

Next,

is

normalized,

as

explained

in

Section

(line

The

above

method

of

detecting

curve

skeleton

points

and

computing

their

collapse

measure

works

well

only

for

genus

objects,

that

is,

objects

without

tunnels,

whose

skeleton

is

a

tree.

Detecting

curve

skeleton

points

in

this

manner

for

objects

with

genus

greater

than

zero

does

not

work

because

the

Jordan

curve

theorem

does

not

hold:

For

points

where

the

shortest

paths

P

are

adjacent

to

a

tunnel,

P

does

not

divide

the

boundary

into

two

or

more

connected

components.

A

simple

variation

of

the

algorithm

for

detecting

curve

skeleton

points

for

objects

with

tunnels

is

given

as

follows:

We

replace

the

curve

skeleton

detection

(lines

and

Fig.

with

a

"Jordan

curve

test"

on

P

See

for

details.

The

choice

of

a

meaningful

importance

measure

for

the

points

situated

on

C-loops

is

subject

to

future

research.

Nevertheless,

the

variation

suggested

above

allows

a

simple

and

robust

computation

of

curve

skeletons

for

objects

of

arbitrary

genus.

Fig.

shows

such

a

curve

skeleton

extracted

for

an

object

with

two

tunnels..

In

the

fourth

and

final

stage,

we

simplify

the

skeleton

with

the

desired

value

by

applying

(line

In

order

to

compute

the

equalized

skeleton

S

the

algorithm

can

be

slightly

modified

by

taking

the

square

root

of

on

C

(Fig.

line

and

normalizing

by

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

ffi

O O O O B I O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Structure and energetics of a turbulent trailing edge flow Abstract--Results Turbulent flow past a finite-thickness rectangular trailing edge is a difficult problem to model computationally because the sudden removal of the solid boundary surface allows the upper and lower boundary layers to interact and the presence of a finite-thickness step creates an attached recirculation bubble. The bubble is unstable and the flow oscillates in similar way to a bluff-body wake to produce a von K&man vortex street that extends downstream. However, the flow differs from the usual vortex street in several ways. First, the vortex shedding is not strictly periodic in time and is not highly correlated along the spanwise direction. Second, the equilibrium structure of the turbulence in the approaching boundary layers is dramatically modified as it passes through the highly sheared oscillating flow just behind the trailing edge and into the wake. There is a balance. between additional turbulence being produced by the oscillating component of the flow, and the destruction of the coherent oscillations by the increased levels of turbulence. This unsteady balance is difficult to capture using conventional turbulence models, but can be treated naturally by direct numerical simulation techniques. The flow system has the characteristics of a forced oscillator with relatively strong coupling between the large-scale and small-scale motions. The present DNS calculation is arranged as shown in Figure 1 . A boundary layer (precursor) simulation is used to generate the inflow data for the following trailing edge (successor) simulation. By sampling the precursor simulation at widely separated times, two statistically independent inflow streams can be produced.. The Reynolds number Re = U,h/v is set equal to 1000; here, U, denotes the free stream velocity, h the plate thickness, and u the kinematic viscosity. An analysis of the energetics of turbulent flow past a blunt trailing-edge has revealed a number of key features. First, the production is found to have negative values over a significant portion of the recirculation region.. The necessary existence of such a region has been demonstrated by a simple asymptotic analysis.. A novel topological analysis of the turbulent flux vector has then been used to study energy flows through the complex flowfield. Energy flux lines show the direction of turbulent transport of energy through the flow. Energy is added,or subtracted as the lines pass through regions with an imbalance of production and dissipation. The regions where modelling assumptions break down are the regions of strong activity of coherent vortex structure, illustrated by visualization of the instantaneous flow field.

O O O O O O B I O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


FO(ID) as an extension of DL with rules Abstract There are many interesting Knowledge Representation questions surrounding rule languages for the Semantic Web. The most basic one is of course: which kind of rules should be used and how do they integrate with existing Description Logics? Similar questions have already been addressed in the field of Logic Programming, where one particular answer has been provided by the language of FO(ID). FO(ID) is an extension of first-order logic with a rule-based representation for inductive definitions. By offering a general integration of first-order logic and Logic Programs, it also induces a particular way of extending Description Logics with rules. The goal of this paper is to investigate this integration and discover whether there are interesting extensions of DL with rules that can be arrived at by imposing appropriate restrictions on the highly expressive FO(ID). In this paper, we have investigated the extension of DL with rules that is induced by FO(ID). We first argued that this is quite natural for the following reasons:. -there is an appealing match between the intuitive notion of a "case" in an inductive definition and the formal construct of a definitional rule in FO(ID); -since non-inductive definitions are already a key feature of DL, it makes sense to exploit this match by adding definitional rules to DL, in order to extend the class of definitions that can be represented.. Motivated by these arguments, we have defined a fragment ALCI(ID) of FO(ID), which offers a DL-like syntax for representing (inductive) definitions. For FO(ID), and therefore also for ALCI(ID), there exist useful inference tasks that can be performed efficiently; in Section 6, we discussed the task of model expansion, which can be used to compute the next state of the game we modeled in Section 5. This is despite the fact that the language as a whole is undecidable for deductive inference. We have defined a decidable guarded fragment of ALCI (ID) . A more comprehensive analysis of this and other decidable fragments of FO(ID) is left for future work. The goal of the current paper is not to present a single DL rule-language that is suitable for all purposes, but rather to point towards FO(ID) in general as an interesting foundation from which such languages can be derived. In this section, we discuss several related approaches. For clarity, we divide them into a number of different categories, the first being that of hybrid languages.

B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


CROSS CORRELATION AND DECONVOLUTION OF NOISE SIGNALS IN RANDOMLY LAYERED MEDIA Abstract. It is known that cross correlation of waves generated by noise sources, propagating in an unknown medium, and recorded by a sensor array, can provide information about the medium. In this paper the medium is a three-dimensional small-scale randomly layered medium with slow macroscopic variations. The main objective is here to set forth a framework for analysis of cross correlations of waves generated by noise sources and propagating in such a medium, moreover, use this framework to design estimators for macroscale medium features. The noise sources are located at the bottom of a random medium slab and generate a random wave field that is scattered by the rapid random fluctuations of the medium and then recorded at the surface. Taking into account the pressure release boundary conditions at the surface, this situation corresponds to the so-called daylight configuration. The analysis is carried out in the asymptotic framework where the typical wavelength is small compared to the scale of the macroscopic variations of the background medium and large compared to the decoherence length of the random fluctuations of the medium. It is shown that the cross correlation of the waves recorded at the surface contains statistically stable information about the background medium.Key words. Passive sensor imaging, noise sources, random media.AMS subject classifications. 35R30, 35R60, 86A15.1. Introduction. In this paper we consider background velocity estimation using noise sources in a geophysical context. We consider a medium (the earth's crust) that comprises two types of one-dimensional variations: slow, smooth, and deterministic variations that we want to image on the one hand, and rapid, possibly rough, and random fluctuations that are responsible for the main wave scattering on the other hand. One cannot hope to be able to, and typically one does not wish to, image the rapid fluctuations in the medium. However, we will show that slow variations in the medium can be imaged based on the deconvolution of correlations of wave fields recorded at the surface and emitted by noise sources in the subsurface.We shall assume that acoustic noise sources located deep in the earth crust generate random stationary signals that propagate through the medium and are recorded at the surface. We study the properties of the cross correlation of the signals recorded at the surface with the specific objective of showing that it is possible to reconstruct the background properties of the medium, such as background velocity and dissipation. Travel time estimation and tomographic background velocity estimation using wave field cross correlations were studied by physicists [12, 13] and by geophysicists who have shown the efficiency of the method for travel time estimation [6, 14, 16, 18] . More recently the Green's function estimation by cross correlation was analyzed by mathematicians in different frameworks (geometric optics [2, 4, 5, 10] , parabolic approximation [7] ). In contrast to these works, we consider in this paper a situation in which the random fluctuations of the medium play a very strong role and the observation region only consists of the surface of the random medium to be imaged. This is a typical model situation in the context of many inverse problems where only surface measurements are available.

O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Visualization of concurrent tones in music with colours Visualizing music in a meaningful and intuitive way is a challenge. Our aim is to visualize music by interconnecting similar aspects in music and in visual perception. We focus on visualizing harmonic relationships between tones and colours. Related existing visualizations map tones or keys into a discrete set of colours. As concurrent (simultaneous) tones are not perceived as entirely separate, but also as a whole, we present a novel method for visualizing a group of concurrent tones (limited to the pitches of the 12-tone chromatic scale) with one colour for the whole group. The basis for calculation of colour is the assignment of key spanning circle of thirds to the colour wheel. The resulting colour is not limited to discrete set of colours: similar tones, chords and keys have similar colour hue; dissonance and consonance are represented by low and high colour saturation respectively. The proposed method is demonstrated as part of our prototype music visualization system using extended 3-dimensional piano roll notation. There are many possible ways to visualize music, but not every visualization is meaningful and of practical use, so our aim is to have a visualization that is not just to pleasing to Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. the eye but can be used in analysis and comprehension of music, is easy to understand and is of aesthetic value. The basic idea behind our proposal is to interconnect similar aspects in music and in visual perception. In our visualization we put emphasis on modelling harmony: affinity of tones and consonance with colours. Our goal is to help understand the harmonic relationships in music, which may be sometimes difficult to comprehend for untrained people, but may be clarified using visual clues. Furthermore, it could be used in the other direction -for assistance in teaching or when creating music: i.e. play-by-colour.. Existing visualizations use colour to visualize different aspects of music, one of possibilities is to represent pitch classes with colours. To show harmonic relationships between pitch classes, they can be organized into the circle of fifths. To get the colour of a particular tone the colour wheel is assigned to the circle of fifths. This also means when we have a group of concurrent (simultaneous) tones, each tone is separately assigned to a colour. However a group of concurrent tones is not perceived by spectral pitches of tones alone, but also as whole [9, 10, 13] .. As the basic assignment of colour covers only pitch classes, major and minor chords, we propose in this paper to address this deficiency with a novel method of visualizing also tone combinations (in our implementation concurrent tones). In comparison to previous methods, the proposed method takes into account also the loudness of tones, including dynamic change of the loudness of a tone from start to end (decaying of tones). The proposed method uses key spanning circle of thirds, which was proposed by Gatzsche et al. [3] . The key spanning circle of thirds is assigned to a colour wheel in which tones are represented as vectors of appropriate direction and length. The resultant colour is obtained by vector addition and is thus not limited to discrete set of colours. The demonstration of the method is part of our system for visualization of music based on MIDI input [5] . The visualization itself uses a 3-dimensional piano roll notation and allows interactive real-time observation of the resulting visualization.. The rest of the paper is organized as follows: in Section 2 relevant related previous work is reviewed, the method for assigning initial colours and calculating common colour for concurrent tones is presented in Section 3, Section 4 contains description of implementation of the proposed method as part of our music visualization system, the results are presented and discussed in Section 5 and conclusions are in Section 6. Visualizing music in a meaningful and intuitive way is a challenge. In this paper we focused on visualizing harmonic relationships between tones and colours. Related existing visualizations map tones or keys into a discrete set of colours. As concurrent (simultaneous) tones are not perceived as entirely separate, but also as a whole, we presented a novel method for visualizing a group of concurrent tones with one colour for the whole group. The method takes a group of tones of the 12-tone chromatic scale as input and the resulting colour is not limited to a discrete set of colours. The basis for calculation of colour is the assignment of key spanning circle of thirds to the colour wheel. In this way we map similar tones and keys with similar colour hue. Dissonance is represented with low saturation and consonant tone com- binations have high saturation. Because loudness of tones influences the perception of concurrent tones, it is also taken into account in the proposed method.. The method is implemented as part of our prototype music visualization system using MIDI input. We have shown that the method works relatively well and could be used to help visualize harmony in music. However, in some cases there are still problems. Major and related minor chords are differentiated but have very similar colours, failing to represent a psychological difference. Sometimes resulting colours may be too saturated. Another limitation of the method is that it is based on the pitches of the 12-tone chromatic scale. The visualization could be improved by taking into account a broader time range in addition to concurrent tones, as human perception is not limited to a moment in time.. The colour model and our visualization system strive to establish a unity of perception of two distinct senses, creating a form of synaesthesia. In consequence, it enables easier understanding of music and thus colours may be used also to facilitate learning of music. No formal studies have been conducted with our visualization system yet, but the feedback from users has been positive.. The main purpose of our visualization is to visualize harmonic relationship in music with colour but structure can be seen as well and together they can give us greater insight into nature of a musical piece. Consonant dyads (e.g. C and G) have saturated colours and dissonant (e.g. C and C , C and F ) have low saturation. Major triads have hues corresponding to hue between the root tone of the chord and its fifth, minor triads have hues that correspond to hue of minor third of the root (e.g. Am chord corresponds to hue of C), but an augmented triad is dissonant and has therefore zero saturation (grey), to name a few examples.. Examples from visualizations of excerpts of classical pieces are presented in Figure 3 Figure 3 (a) where we can observe transition from A major to D major to B major then back to D major and then to G major. An example of dissonant intervals can be seen as grey areas in Tchaikovsky's Swan lake (Figure 2) , where dissonance is caused by tritone interval. Dissonant intervals are unstable and cause tension, so they are resolved, which can be seen as saturation of colour increases in tone combinations afterwards.. Currently broken chords may pose a problem to the visualization because the calculation of colour is limited to concurrent tones. The problem could be solved by extending the analysis to broader group of tone concerning time dimension.. Although presented examples are classical compositions, the visualization also works for other genres such as folk music, popular music, jazz etc. (additional examples are presented in the accompanying video). In music, which uses a lot of dissonant intervals, we can see colours of low saturation, but problems outlined in connection with broken chords make the results sometimes to colourful. Different attempts have been made at visualizing music. Basic visualizations usually include a time axis and some other value of interest on the other axis (e.g. pitch), some also include colour in their mapping. Smith and Williams [12] discussed visualizing MIDI music in 3-dimensional space and using colour to mark timbre. The comp-i system [8] tries to show the structure of music as a whole by using 3-dimensional piano roll visualization and allow the user to visually explore the underlying MIDI dataset. Music Animation Machine [6] , which is also MIDI based, encompasses a number of visualizations including a basic 2-dimensional piano roll notation for visualizing structure. This visualization is additionally expanded with colours based on pitch classes using the circle of fifths. Mapping of pitch classes into hue by aligning related keys or tones into closely related colours was proposed already by Scriabin (for a historical review of mappings of pitch to colour refer to Wells [14] ). Mardirossian and Chew [7] use colours based on circle of fifths for visualization in Lerdahl's 2-dimensional tonal pitch space. Bergstrom's isochord [1] visualizes consonant intervals between tones and chords and is based on Tonnetz grid. Some other visualization possibilities are summarized by Isaacson [4] . The existing visualizations using colour do not address the issue of merging of concurrent tones.

O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B I O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B I


Preserving quality of service guarantees in spite of flow aggregation We investigate the preservation of quality of service guarantees to a flow of packets in the presence of flow aggregation. In flow aggregation, multiple flows, known as the constituent flows, are merged together resulting in a single aggregate flow. Packet schedulers located after the network point where the aggregation occurred are aware of the aggregate flow, but are unaware of its constituent flows. In spite of this, we show that quality of service may be guaranteed to the constituent flows provided the aggregation is performed fairly. Furthermore, contrary to intuition, the quality of service guarantees of a flow may be better under flow aggregation than in the case where no aggregation is performed. Consider a computer network that consists of a set of computers interconnected with point-to-point communication channels.. A flow in the computer network is a potentially infinite sequence of packets generated by the same source and having the same destination in the network.. Each output channel of a computer is equipped with a scheduler process, as shown in Figure 1 . From the input channels, the scheduler receives packets from flows whose next hop to the destination is the output channel of the scheduler.. Whenever its output channel becomes idle, the scheduler chooses a received packet and forwards the packet to the output channel.. One type of schedulers, known as guaranteed-rate schedulers, guarantee that the packets of each flow will be forwarded at a designated rate. Examples of these scheduling protocols can be found in [17, 18] .. In all of these schedulers, the following steps are taken to reserve bandwidth for a new flow. First, the network finds a path from the source of the flow to the destination of the flow. Then, the network reserves for the flow a fraction of the bandwidth of each output channel along the path. The new flow is admitted into the network only if there is enough available bandwidth along the entire path.. Due to the reservation of bandwidth, the network can provide service guarantees to each flow, such as end-toend packet delays, provided the rate of the flow does not exceed the agreed-upon rate. These service guarantees are of particular importance to real-time applications, such as interactive audio and video [6] .. In this paper, we investigate the effects of aggregating multiple flows, known as the constituent flows, into a single aggregate flow. Once the aggregation is done, the remaining schedulers along the path will have no knowledge of the constituent flows of the aggregate flow, and will treat the aggregate flow as a single flow whose rate is the sum of the reserved rates of the constituent flows.. One practical implementation of flow aggregation is virtual paths in virtual circuit networks [13] . Multiple virtual circuits may be combined into a single virtual path. Schedulers along the virtual path are aware only of the virtual path, and are unaware of the virtual circuits that constitute the virtual path. Thus, a virtual circuit may be viewed as a constituent flow, and a virtual path may be viewed as an aggregate flow.. The purpose of flow aggregation is to improve the efficiency of the schedulers and to simplify the management of flows. For example, buffer management is simplified, because only one queue per aggregate flow is required, rather than one queue per constituent flow. Furthermore, rerouting an aggregate flow in the event of a failed channel along its path is much more efficient than rerouting each of the constituent flows individually.. In this paper, we examine if it is possible to provide quality of service guarantees to the constituent flows. In particular, we consider end-to-end delay guarantees. We show that, if the aggregation of flows is performed fairly, then an upper bound on end-to-end delay is guaranteed for the constituent flows, even though schedulers are unaware of these flows. We also show that, contrary to intuition, the upper bound on end-to-end delay of the constituent flows may be lower under flow aggregation than in the case where no aggregation is performed.. The paper is organized as follows. In Section 2, we review the concept of rate-proportional schedulers, which will be the foundation for computing end-to-end delays. In Section 3, we define flow aggregation and present examples. In Section 4, we identify the property that the aggregation must satisfy in order to preserve a low endto-end delay. In Section 5, we show how to implement schedulers that satisfy this property. Future work is given in Section 6.. A note on notation: throughout the paper we use quantifications of the form (⊕ x : R(x) : B(x)) Above, ⊕ is a commutative and associative operator, such as +, -, max, min, ∀ (conjunction), or ∃ (disjunction). R(x) is a boolean function defining the range of values for the dummy variable x, and B(x) is a function defining the value given as an operand to ⊕. For example, (min x : 1 ≤ x ≤ 3 : x 2 ) denotes the minimum of 1 2 , 2 2 , and 3 2 . If R(x) is omitted, all values in the type of x are included. The advantages of flow aggregation are simplified scheduling and management of flows, and in some cases, a reduction in the end-to-end delay. The disadvantage is that an aggregate flow may only be separated into its immediate constituents. In the full version of the paper, we will present a more flexible way in which flows may be aggregated and separated.. Some scheduling protocols (e.g., [5, 19] among others) guarantee to each flow f a per-hop delay of δ.f, chosen by the source of f, rather than the usual per-hop delay of L.f max /R.f. This is accomplished by enhancing the scheduling algorithm to take into consideration the δ.f per-hop delay, and accepting a new flow only if it passes a schedulability condition. In the full paper, we will show how a more flexible delay of this type can be guaranteed to a flow even in the presence of flow aggregation.

O B I I O O O O B I O O O O O B I I O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O B I I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I


Fast Concurrent Access to Parallel Disks Abstract. High performance applications involving large data sets require the efficient and flexible use of multiple disks. In an external memory machine with D parallel, independent disks, only one block can be accessed on each disk in one I/O step. This restriction leads to a load balancing problem that is perhaps the main inhibitor for the efficient adaptation of single-disk external memory algorithms to multiple disks. We solve this problem for arbitrary access patterns by randomly mapping blocks of a logical address space to the disks.We show that a shared buffer of O(D) blocks suffices to support efficient writing. The analysis uses the properties of negative association to handle dependencies between the random variables involved. This approach might be of independent interest for probabilistic analysis in general.If two randomly allocated copies of each block exist, N arbitrary blocks can be read within N /D + 1 I/O steps with high probability. The redundancy can be further reduced from 2 to 1 + 1/r for any integer r without a big impact on reading efficiency. From the point of view of external memory models, these results rehabilitate Aggarwal and Vitter's "single-disk multi-head" model [1] that allows access to D arbitrary blocks in each I/O step. This powerful model can be emulated on the physically more realistic independent disk model [2] with small constant overhead factors. Parallel disk external memory algorithms can therefore be developed in the multi-head model first. The emulation result can then be applied directly or further refinements can be added.

O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O


Inapproximability of the Tutte polynomial The Tutte polynomial of a graph G is a two-variable polynomial T (G; x, y) that encodes many interesting properties of the graph. We study the complexity of the following problem, for rationals x and y: take as input a graph G, and output a value which is a good approximation to T (G; x, y). Jaeger, Vertigan and Welsh have completely mapped the complexity of exactly computing the Tutte polynomial. They have shown that this is #P-hard, except along the hyperbola (x − 1)(y − 1) = 1 and at four special points. We are interested in determining for which points (x, y) there is a fully polynomial randomised approximation scheme (FPRAS) for T (G; x, y). Under the assumption RP = NP, we prove that there is no FPRAS at (x, y) if (x, y) is is in one of the half-planes x < −1 or y < −1 (excluding the easy-tocompute cases mentioned above). Two exceptions to this result are the half-line x < −1, y = 1 (which is still open) and the portion of the hyperbola (x − 1)(y − 1) = 2 corresponding to y < −1 which we show to be equivalent in difficulty to approximately counting perfect matchings. We give further intractability results for (x, y) in the vicinity of the origin. A corollary of our results is that, under the assumption RP = NP, there is no FPRAS at the point (x, y) = (0, 1 − λ) when λ > 2 is a positive integer. Thus, there is no FPRAS for counting nowhere-zero λ flows for λ > 2. This is an interesting consequence of our work since the corresponding decision problem is in P for example for λ = 6. Although our main concern is to distinguish regions of the * Partially supported by the EPSRC grant Discontinuous Behaviour in the Complexity of Randomized Algorithms. A preliminary version of this paper appeared in the proceedings of the ACM Symposium on Theory of Computing [9]

O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O


Schedulability Analysis of Global Scheduling Algorithms on Multiprocessor Platforms Abstract-This paper addresses the schedulability problem of periodic and sporadic real-time task sets with constrained deadlines preemptively scheduled on a multiprocessor platform composed by identical processors. We assume that a global work-conserving scheduler is used and migration from one processor to another is allowed during a task lifetime. First, a general method to derive schedulability conditions for multiprocessor real-time systems will be presented. The analysis will be applied to two typical scheduling algorithms: Earliest Deadline First (EDF) and Fixed Priority (FP). Then, the derived schedulability conditions will be tightened, refining the analysis with a simple and effective technique that significantly improves the percentage of accepted task sets. The effectiveness of the proposed test is shown through an extensive set of synthetic experiments. T HE integration of multiple processors on a single chip constitutes one of the most important innovations in the design and development of modern embedded systems. In contrast, a complete theory of real-time scheduling for multiprocessor systems is still to come. Much of the research efforts in the past have been concentrated on scheduling and schedulability analysis of single-processor systems. Unfortunately, most of the results do not extend to multiprocessor systems.. In this paper, the problem of preemptively scheduling a real-time task set on a symmetric multiprocessor (SMP) system consisting of m processors is addressed. This problem can be solved in two different ways: by partitioning tasks to processors or with a global scheduler. In the first case, tasks are allocated to processors at design time with an offline procedure. The partitioning problem is analogous to the binpacking problem, which is known to be NP-hard in the strong sense [1] . However, once the tasks are allocated, the scheduling problem is reduced to m single-processor scheduling problems, for which optimal solutions are known when preemptions are allowed. The main advantages of this approach are its simplicity and efficiency. If the task set is fixed and known a priori, in most cases, the partitioning approach is the most appropriate solution. On the other hand, if tasks can join and leave the system at runtime, it may be necessary to reconfigure the system by reallocating tasks to processors. As an example, consider a nonsaturated multiprocessor system, in which a task requests to join at a certain time and there is no processor with enough spare capacity to accommodate the new task. Thus, the partitioning algorithm needs to be executed online to see if by reallocating some existing tasks, it is possible to accommodate the new one. Alternatively, a load balancing algorithm must be periodically executed to reallocate tasks to processors so as to avoid the potential waste of computational resources. The efficiency of the system depends on the frequency at which load-balancing routines are called and on the complexity of these algorithms. However, repeatedly calling nontrivial routines imposes a heavy load on the system, becoming infeasible for systems with highly variable workloads.. An alternative solution is represented by global schedulers, which maintain a single systemwide queue of ready tasks, from which tasks are extracted at runtime to be scheduled on the available computing resources. As opposed to partitioned approaches, different instances of the same task can execute on different processors. We say that a task migrates if it is moved from one processor to another during its lifetime. If tasks can change processors only at job boundaries, we say that task migration is allowed; we call instead job migration the possibility of moving a task from a processor to another during the execution of a job. Using global scheduling algorithms, tasks are dynamically assigned to the available processing units. This allows maintaining the system load to be always balanced, suggesting the use of global scheduling algorithms when the workload significantly varies at runtime or is not known a priori. An intermediate solution between global and partitioned scheduling is given by semipartitioned scheduling algorithms [2] . A semipartitioned scheduler limits the number of processors among which a task can migrate, simplifying the implementation of systems composed by a large number of processors and reducing the penalties associated to task migrations.. The Pfair class of global scheduling algorithms is known to be optimal for scheduling periodic and sporadic real-time tasks with job migration when deadlines are equal to periods [3] , [4] . Such algorithms are based on the concept of quantum (or slot): the time line is divided into equal-size intervals called quanta, and at each quantum, the scheduler allocates tasks to processors. A disadvantage of this approach is that all processors need to synchronize at the quantum boundary, when the scheduling decision is taken. Moreover, if the quantum is small, the overhead in terms of the number of context switches and migrations may be too high. Solutions to mitigate this problem have been proposed in the literature [5] ; however, the complexity of their implementation increases significantly.. A more reasonable number of context switches can be obtained by reducing the number of times the priority of a job can change. Using a task-level fixed-priority (FP) scheduler, all jobs generated by the same task have identical priorities. A job-level FP scheduler, instead, can change the priority of a task only at job boundaries. An example of such a scheduler is given by Earliest Deadline First (EDF). Note that Pfair algorithms can change the priority of a job even during its execution. Such kind of schedulers are called job-level dynamic. The advantage of using a task-or job-level FP scheduler is the relatively simple implementation and the minor overhead. However, the overhead of migrating a task from one processor to another still needs to be taken into account.. The schedulability analysis of job and task-level FP scheduling algorithms on SMPs has only recently been addressed [6] , [7] , [8] , [9] , [10] , [11] , [12] , [13] , [14] . The feasibility problem appears to be much more difficult than in the uniprocessor case. For example, EDF loses its optimality on multiprocessor platforms. Due to the complexity of the problem, only sufficient conditions have been derived so far. As shown in our simulations, the existing schedulability tests consider situations that are overly pessimistic, leading to a significant number of rejected task sets that are instead schedulable. We developed a new schedulability analysis of real-time systems globally scheduled on a platform composed by identical processors. We presented sufficient schedulability algorithms that are able to check in polynomial and pseudopolynomial time whether a periodic or sporadic task set can be scheduled on a multiprocessor platform. The tests we proposed vary in terms of computational complexity and number of schedulable task sets detected. Our experiments show that the iterative algorithm given by procedure SCHEDULABILITYCHECK detects the highest number of schedulable task sets among all existing tests. Only a negligible percentage of task sets is detected by some algorithm in the literature but not by our iterative test. This improvement in terms of schedulable task sets detected is given at a low computational cost. This consideration suggests the use of our iterative test also for runtime admission control.. Even if we contributed to significantly increase the number of schedulable task sets that can be detected at a reasonable computational effort, we still do not know how big is the gap from a hypothetical necessary and sufficient schedulability condition. Note that the TOT curve in our simulations does not represent the number of task set schedulable with EDF or FP, nor does it indicate how many task sets are feasible. If an exact feasibility test existed, its curve would be below the TOT curve. A necessary and sufficient schedulability test for EDF or for FP would have an even lower curve. While an exponential-time exact schedulability test for strictly periodic FP systems has been proposed in [25] , we are not aware of any such test for sporadic task sets with deadlines different than periods.. Since the provable superiority of EDF in the uniprocessor case cannot be generalized to multiprocessor platforms, there is no known reason why EDF should be used for nonpartitioned approaches. 2 A simpler FP scheduler could have similar schedulability performances at a lower implementation cost. Moreover, it is widely known that RealTime system developers are interested in high scheduling performances at least as much as they are interested in predicting if a deadline will be missed with such schedulers. Therefore, using an allegedly better scheduling algorithm that does not come with a good schedulability test is probably worse than relying on a simple FP scheduler that can take advantage of a good test. We showed that the schedulability test we proposed for FP systems (I-BCL FP) detects the highest number of schedulable task sets among the existing schedulability algorithms for globally scheduled multiprocessor systems. Using a simple FP scheduler in combination with our schedulability algorithm seems to be a good solution for guaranteeing the hard real-time constraints of a given application.. When a FP scheduler is used, an open question is which priority assignment allows scheduling the highest number of task sets. In our experiments, we used DM. An interesting task could be to explore which priority assignment could further magnify the performances of the I-BCL FP schedulability test. For example, an option could be to single out the heaviest tasks by assigning them higher priorities and scheduling the light tasks with DM. In this way, tasks having tighter timely requirements can execute at a privileged level, without being interfered by the other tasks. We intend to analyze this issue in future works, together with the analysis of more general scheduling algorithms, like hybrid or dynamic-job-priority schedulers, which are expected to have a lower gap from a necessary and sufficient feasibility condition.. Another factor that we intend to include into our analysis is the blocking time due to the exclusive access to shared resources. Thanks to the intuitive form of the slack-based test we presented, we believe that an extension of our tests to account as well for the blocking times can be easily derived for the most used shared resource protocols.. Further improvements on our schedulability analysis are possible. One of the potential drawbacks of the approach we followed consists of assuming all tasks being always maximally interfered. This is an overly pessimistic assumption that we introduced to simplify the final test. We have ideas on how to refine the estimation of the relative interferences among the various tasks, increasing the complexity of the schedulability tests. Anyway, we believe that the algorithms we proposed here are a good compromise between the number of schedulable task sets detected and the overall computational cost. Michele Cirinei received the laurea degree (summa cum laude) in computer science engineering from the University of Pisa, Pisa, Italy, in 2004 and the PhD degree in computer science, for his research on the use of multiprocessor platforms for real-time systems, from the Scuola Superiore Sant'Anna, Pisa, in 2007. His research particularly focused on how to improve both the computational power and fault tolerance of systems with strict time constraints. Since July 2007, he has moved to Arezzo, where he is a software designer at SECO, a European designer, manufacturer, and marketer of highly integrated board computers and systems for embedded applications.. Giuseppe Lipari received the degree in computer engineering from the University of Pisa in 1996 and the PhD degree in computer engineering from the Scuola Superiore Sant'Anna, Pisa, Italy, in 2000. Currently, he is an associate professor of operating systems with the Scuola Superiore Sant'Anna. His main research activities are in real-time scheduling theory and its application to real-time operating systems, soft real-time systems for multimedia applications, and component-based real-time systems. He has been a member of the program committees of many conferences in the field. He is currently an associate editor of the IEEE Transactions on Computers. He is a member of the IEEE.. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib.

O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Mesh Optimization Using Global Error With Application to Geometry Simplification In this paper we present a linear running time optimization algorithm for meshes with subdivision connectivity, e.g. subdivision surfaces. The algorithm optimizes a model using a metric defined by the user. Two functionals are used to build the metric: a rate functional and a distortion (i.e. error) functional. The distortion functional defines the error function to minimize, whereas the rate functional defines the minimization constraint. The algorithm computes approximations within this metric using jointly global error and an optimal vertex selection technique inspired from optimal tree pruning algorithms used in compression. We present an update mechanism, that we name merging domain intersections (MDIs), allowing the control of global error through the optimization process at low computational cost. Our method has application in progressive model decomposition, compression, rendering and finite element methods. We apply our method to geometry simplification and present an algorithm to compute a decomposition of a model into a multiresolution hierarchy in Ç´Ò ÐÓ Òµ time using global error, where Ò is the number of vertices in the full-resolution model. We show that a direct approach, i.e. not using MDIs, recomputing global error has at least cost Ç´Ò ¾ µ.We analyze the optimality of the algorithm and give several of its properties. We present results for semi-regular meshes obtained from approximation of subdivision surfaces whose connectivity is obtained from (triangulated) quadrilateral quadrisection (e.g. 4-8 or Catmull-Clark subdivision). Meshes with subdivision connectivity, e.g. semi-regular triangulations constructed using iterated subdivision rules, are popular in many applications, such as visualization [10] and finite element mesh generation, to name a few. Their irregular counterparts have also been extensively studied, however semi-regular meshes are preferred because of their superior performance and flexibility for editing [4] , transmission [16] , and compression [13] . The arbitrary topology is obtained by subdividing an initial coarse mesh with irregular connectivity.. In the strictly regular setting, e.g. subdivision of a single quadrilateral, meshes with subdivision connectivity are used to visualize terrain data [10, 20, 23] , as shown in Figure 1a . Terrain models are given as elevation matrices (i.e. the parametrization is implicit) and the mesh is used to connect, i.e. triangulate, the input matrix. Semi-regular meshes are used to represent surfaces with arbitrary topology. The topology is fixed using an initial coarse mesh with irregular connectivity (Figure 2a ). The vertices forming this mesh are called extraordinary vertices. Semi-regular meshes are used to compute approximations of subdivision surfaces (Figure 1b) . Subdivision surfaces are an increasingly popular representation for piecewise-smooth surfaces. Algorithms used to compute subdivision surfaces use recursive subdivision rules to create vertices. Examples of such rules are Kobbelt ( Ô ¿) [14] , Loop [22] , Catmull-Clark [6, 8] and Velho-Zorin (4-8) subdivision [28] . Today, the properties of subdivision surfaces are an important area of investigation (e.g. see [29] ).. A particular class of meshes with subdivision connectivity are 4-8 meshes. In these meshes, the valence of the vertices alternates between four and eight. In Figures 2a-d , we show an example of 4-8 subdivision: Figure 2a shows the initial coarse mesh, and Figures 2b-d show successive subdivision steps. At each step, detail vectors computed from the original (i.e. irregular) model are added to the vertex locations. The computation of detail vectors is typically part of a remeshing process used to convert the irregular input model to a mesh having subdivision connectivity (e.g. see [18] ). Finally, note that a 4-8 mesh is also used to triangulate the terrain in Figure 1a . Although in this case, as stated previ-ously, the dataset given by the input matrix is just triangulated using 4-8 connectivity and no additional vertices are generated. In this context, 4-8 meshes are also called quadtree triangulations since quadtrees are often used to store them [17, 23, 25] . Optimization algorithms for meshes with subdivision connectivity hold a great interest for many applications. For example, geometry simplification algorithms are used to obtain adaptive, multi-resolution representations and are an important topic of investigation [10, 20, 21, 23] . Other applications include compression

B I O B I O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O