Exploiting Level- Exploiting Level -of of- -Detail Perception - - PDF document

exploiting level exploiting level of of detail perception
SMART_READER_LITE
LIVE PREVIEW

Exploiting Level- Exploiting Level -of of- -Detail Perception - - PDF document

Special Course on Networked Virtual February 26, 2004 Environments Exploiting Level- Exploiting Level -of of- -Detail Perception Detail Perception Multiple Multiple- -Channel Architecture Channel Architecture Nearby viewers Nearby


slide-1
SLIDE 1

Special Course on Networked Virtual Environments February 26, 2004 Jouni Smed 1

Exploiting Level Exploiting Level-

  • of
  • f-
  • Detail Perception

Detail Perception

  • Nearby viewers

Nearby viewers

  • expect full graphical

expect full graphical details details

  • accurate structure, position, orientation

accurate structure, position, orientation

  • update rate

update rate → → local frame rate local frame rate

  • Distant viewers

Distant viewers

  • can tolerate

can tolerate less less graphical graphical details details

  • less accurate structure, position, orientation

less accurate structure, position, orientation

  • User’s focus is typically nearby

User’s focus is typically nearby

  • Many inaccuracies cannot even be detected on a fine

Many inaccuracies cannot even be detected on a fine-

  • resolution display

resolution display

A

Multiple Multiple-

  • Channel Architecture

Channel Architecture

  • Multiple independent data channels for each entity

Multiple independent data channels for each entity

Low Low-

  • resolution channel

resolution channel

( (x x, , y y) ) ( (x x, , y y) )

High High-

  • resolution channel

resolution channel

High High-

  • frequency,

frequency, high high-

  • bandwidth

bandwidth information information Low Low-

  • frequency

frequency, , low low-

  • bandwidth

bandwidth information information

⇒ ⇒The overall bandwidth The overall bandwidth requirements are reduced requirements are reduced

Implementation Examples Implementation Examples

  • Client

Client-

  • server

server

  • each transmission identifies its channel

each transmission identifies its channel

  • server dispatches data from channels to clients

server dispatches data from channels to clients

  • Multicast group for each region

Multicast group for each region

  • assign multiple

assign multiple addresses addresses for each region for each region

  • ne group provides all of the entities’ high
  • ne group provides all of the entities’ high-
  • resolution channels,

resolution channels, another group provides all of the entities’ low another group provides all of the entities’ low-

  • resolution channels

resolution channels

  • Multicast group for each entity

Multicast group for each entity

  • assign multiple

assign multiple addresses addresses for each entity for each entity

  • Different reliabilities to each channel

Different reliabilities to each channel

  • low

low-

  • frequency updates are

frequency updates are important important

  • lost packets can have a significant impact

lost packets can have a significant impact

Selecting the Channels to Provide Selecting the Channels to Provide

  • How many channels to provide for an entity?

How many channels to provide for an entity?

  • more channels: better service for subscribers

more channels: better service for subscribers

  • each channel imposes a cost (bandwidth and

each channel imposes a cost (bandwidth and computational) computational)

  • To satisfy the

To satisfy the trade trade-

  • off
  • ff, three channels for each entity

, three channels for each entity is typically needed is typically needed

  • channels

channels provide order provide order-

  • of
  • f-
  • magnitude differences in

magnitude differences in

  • structural and positional accuracy

structural and positional accuracy

  • packet rate

packet rate Rigid Rigid-

  • body channel

body channel Approximate Approximate-

  • body channel

body channel Full Full-

  • body channel

body channel Far Far-

  • range viewers

range viewers Mid Mid-

  • range viewers

range viewers Near Near-

  • range viewers

range viewers

Rigid Rigid-

  • Body Channel

Body Channel

  • Demands the least bandwidth and computation

Demands the least bandwidth and computation

  • Represents the entity as a rigid body

Represents the entity as a rigid body

  • Ignores changes in the entity’s structure

Ignores changes in the entity’s structure

  • Update types:

Update types:

  • position

position

  • rientation
  • rientation
  • structure

structure

Approximate Approximate-

  • Body Channel

Body Channel

  • More frequent position and orientation updates

More frequent position and orientation updates

  • Hosts can render a rough approximation of the entity’s

Hosts can render a rough approximation of the entity’s dynamic structure dynamic structure

  • appendages and other articulated parts

appendages and other articulated parts

  • Provided information is entity

Provided information is entity-

  • specific

specific

  • corresponds

corresponds to the dominant changes of the structure to the dominant changes of the structure

slide-2
SLIDE 2

Special Course on Networked Virtual Environments February 26, 2004 Jouni Smed 2

Common Approximations Common Approximations

  • Radial length

Radial length

  • motion towards and away from a

motion towards and away from a centre point centre point

  • update packets include the

update packets include the current radius current radius

  • Articulation vector

Articulation vector

  • the current direction of the

the current direction of the appendage appendage

  • models a rotating turret, arms and

models a rotating turret, arms and legs legs

  • Local co

Local co-

  • ordinate system points
  • rdinate system points
  • subset of the entity’s significant

subset of the entity’s significant vertices relative to the entity’s vertices relative to the entity’s local co local co-

  • ordinate system
  • rdinate system
  • the entity is composed of

the entity is composed of multiple components multiple components

Radius Radius

Full Full-

  • Body Channel

Body Channel

  • Highest level of detail

Highest level of detail

  • High bandwidth and computational requirements

High bandwidth and computational requirements

  • viewer

viewer can subscribe to a limited number of full can subscribe to a limited number of full-

  • body

body channels channels

  • Frequent transmissions

Frequent transmissions

  • Position and orientation

Position and orientation

  • Accurate structure information

Accurate structure information

Exploiting Temporal Perception Exploiting Temporal Perception

  • Render the entity in an accurate location

Render the entity in an accurate location — — albeit slightly out albeit slightly out-

  • f
  • f-
  • date

date

  • As long as the local user does not interact, small temporal

As long as the local user does not interact, small temporal inaccuracies inaccuracies can be can be allowed allowed

  • Advantages

Advantages: :

  • works

works on

  • n WANs

WANs having great latency having great latency

  • can

can enhance packet aggregation enhance packet aggregation

  • can

can enhance dead reckoning enhance dead reckoning

Active and Passive Entities Active and Passive Entities

  • An active entity

An active entity

  • takes actions on its own

takes actions on its own

  • generates updates

generates updates

  • human participants, computer

human participants, computer-

  • controlled entities

controlled entities

  • cannot be predicted typically

cannot be predicted typically

  • rendered using state updates

rendered using state updates adjusted for the latency adjusted for the latency

  • A passive entity

A passive entity

  • reacts to events from the

reacts to events from the environment, does not generate environment, does not generate its own actions its own actions

  • inanimate objects (e.g., rocks,

inanimate objects (e.g., rocks, balls, books) balls, books)

  • active entities interact with

active entities interact with passive entities passive entities

  • rendered according to the latency

rendered according to the latency

  • f its nearest active entity
  • f its nearest active entity
  • reacts

reacts instantaneously to instantaneously to the the actions actions of

  • f a nearby

a nearby active entity active entity

Example: Pong Example: Pong

  • Two active entities:

Two active entities: paddles paddles

  • movement unpredictable

movement unpredictable

  • One passive entity: ball

One passive entity: ball

  • movement predictable

movement predictable

  • Latency of

Latency of d d seconds seconds d d

View of View of the Blue the Blue Player Player

slide-3
SLIDE 3

Special Course on Networked Virtual Environments February 26, 2004 Jouni Smed 3

View View of the

  • f the Red Player

Red Player Pong: Pong: A Summary A Summary

  • Each player sees a different representation of

Each player sees a different representation of the same the same playing playing field field

  • The ball accelerates as it approaches the local player’s paddle

The ball accelerates as it approaches the local player’s paddle

  • The ball decelerates as it approaches the remote player’s

The ball decelerates as it approaches the remote player’s paddle paddle

  • The ball’s rendered position alternates between

The ball’s rendered position alternates between

  • the current time

the current time

  • meaningful interaction for local player

meaningful interaction for local player

  • a past time reference

a past time reference

  • network latency

network latency

  • bserving meaningful interaction for remote
  • bserving meaningful interaction for remote player

player

3 3½ ½-

  • Dimensional Playing Field

Dimensional Playing Field

  • Represent each player’s perception as a four

Represent each player’s perception as a four-

  • dimensional

dimensional co co-

  • ordinate
  • rdinate system (

system (x x, , y y, , z z, , t t) )

  • x

x, , y y, , z z: the spatial position relative to the local : the spatial position relative to the local player’s current position player’s current position

  • local player at (

local player at (0, 0, 0 0, 0, 0) )

  • t

t: the time associated with rendered information : the time associated with rendered information from that position from that position

  • local player rendered at current time:

local player rendered at current time: t t = 0 = 0

  • pposing player:
  • pposing player: t

t = − = −d d

(0, 0, 0 (0, 0, 0) )

d d

Co Co-

  • ordinate
  • rdinate Systems

Systems

t t = 0 = 0 t t = − = −d d

Blue Player Blue Player

t t = − = −d d t t = 0 = 0

Red Player Red Player

Properties of the Co Properties of the Co-

  • ordinate System
  • rdinate System
  • The co

The co-

  • ordinate system is defined
  • rdinate system is defined

independently for each player independently for each player

  • Depends on the player’s current

Depends on the player’s current position and the delay of arriving position and the delay of arriving information information

  • Changes dynamically as the player

Changes dynamically as the player moves or as the network properties moves or as the network properties change change

  • Defines how a passive object

Defines how a passive object should be rendered should be rendered

  • Two interacting objects are

Two interacting objects are rendered at the same time rendered at the same time reference point reference point

  • Each user perceives all collisions

Each user perceives all collisions correctly correctly

  • Objects that approach the local

Objects that approach the local user are rendered in the user’s user are rendered in the user’s time time

  • Smooth movement

Smooth movement

Generalizing the Local Temporal Contour Generalizing the Local Temporal Contour

  • Limitations:

Limitations:

  • players are capable of moving along a single axis only

players are capable of moving along a single axis only

  • supports two

supports two active objects only active objects only

  • Generalization to a 4D

Generalization to a 4D co co-

  • ordinate
  • rdinate system

system requires preserving requires preserving for the local user: for the local user:

  • interacting

interacting naturally with naturally with passive objects passive objects in vicinity in vicinity

  • seeing

seeing remote interactions remote interactions (passive (passive-

  • to

to-

  • passive,

passive, passive passive-

  • to

to-

  • active)

active) naturally naturally

  • perceiving

perceiving smooth motion of remote objects smooth motion of remote objects

slide-4
SLIDE 4

Special Course on Networked Virtual Environments February 26, 2004 Jouni Smed 4

Local Temporal Contour Local Temporal Contour

  • The local user at (

The local user at (0, 0, 0 0, 0, 0) )

  • Each active object is

Each active object is assigned a assigned a t t value value corresponding corresponding to its latency to its latency

  • Interpolate

Interpolate the contour the contour over

  • ver

all active objects including all active objects including local local

  • Contour defines a suitable

Contour defines a suitable t t value for each spatial point value for each spatial point local local t t y y x x

Limitations Limitations

  • Varying latency can cause entities to (unnaturally) jump

Varying latency can cause entities to (unnaturally) jump forward or backward in time forward or backward in time

  • use

use averaged averaged latency to dampen the effect latency to dampen the effect

  • What if an update

What if an update packet is packet is delayed delayed considerably? considerably?

  • predict entity’s past position, dead reckoning

predict entity’s past position, dead reckoning

  • Computational requirements

Computational requirements

  • compute

compute the contour the contour using only the nearest active entities using only the nearest active entities

§6.4 Enhancing the System Architecture §6.4 Enhancing the System Architecture

  • Change the network software architecture

Change the network software architecture

  • Basic structures: client

Basic structures: client-

  • server and peer

server and peer-

  • to

to-

  • peer

peer

  • Augment and combine basic structures

Augment and combine basic structures

  • server clusters

server clusters

  • partition clients across multiple servers

partition clients across multiple servers

  • partition the NVE across multiple servers

partition the NVE across multiple servers

  • server hierarchies

server hierarchies

  • peer

peer-

  • server systems

server systems

M M H H B B T T P P

Traditional Client Traditional Client-

  • Server

Server

  • Server may act as

Server may act as

  • broadcast reflector

broadcast reflector

  • filtering reflector

filtering reflector

  • packet aggregation server

packet aggregation server

  • Scalability problems

Scalability problems

  • all traffic

all traffic goes through goes through the the server server

⇒ ⇒Server clusters Server clusters

S S C C C C C C C C C C C C C C C C C C C C C C C C C C C C

Partitioning Clients Partitioning Clients across across Multiple Servers Multiple Servers

  • The servers exchange control

The servers exchange control messages among themselves messages among themselves

  • inform the interests

inform the interests of their

  • f their

clients clients

  • Reduces the workload on each

Reduces the workload on each server server

  • Incurs a greater

Incurs a greater latency latency

  • The total

The total processing and processing and bandwidth requirements are bandwidth requirements are greater greater

S S S S S S S S C C C C C C C C C C C C C C C C C C C C C C C C C C C C

Partitioning the NVE Partitioning the NVE across across Multiple Servers Multiple Servers

  • Each server manages clients

Each server manages clients located within a certain region located within a certain region

  • Client communicates with

Client communicates with different serves as it moves different serves as it moves

  • Eliminates a lot of network traffic

Eliminates a lot of network traffic

  • Requires

Requires advanced advanced configuration configuration

  • Is

Is a region a region visible from another visible from another region? region?

  • Aggregation

Aggregation servers are servers are a special a special case of NVE server partitioning case of NVE server partitioning

C C C C C C C C C C C C C C S S S S S S S S

slide-5
SLIDE 5

Special Course on Networked Virtual Environments February 26, 2004 Jouni Smed 5

Server Hierarchies Server Hierarchies

  • Servers themselves

Servers themselves act as act as clients clients

  • Packet from

Packet from an upstream an upstream server: server:

  • deliver to

deliver to the interested the interested downstream clients downstream clients

  • Packet from

Packet from a downstream a downstream client: client:

  • deliver to

deliver to the interested the interested downstream clients downstream clients

  • if other regions are interested in

if other regions are interested in the the packet packet then then deliver it deliver it to to the the upstream upstream server server

C C C C C C C C C C C C C C S S S S S S S S S S S S S S