9.4 Local Perception Filters 9.4 Local Perception Filters - - PDF document

9 4 local perception filters 9 4 local perception filters
SMART_READER_LITE
LIVE PREVIEW

9.4 Local Perception Filters 9.4 Local Perception Filters - - PDF document

9.4 Local Perception Filters 9.4 Local Perception Filters Exploiting Exploiting Perceptual Limitations Perceptual Limitations exploiting humans perceptual limitations exploiting humans perceptual limitations Humans Humans


slide-1
SLIDE 1

1

§9.4 Local Perception Filters §9.4 Local Perception Filters

  • exploiting human’s perceptual limitations

exploiting human’s perceptual limitations

  • level

level-

  • of
  • f-
  • detail: less details where they cannot be observed

detail: less details where they cannot be observed

  • image, video and audio compression

image, video and audio compression

  • local perception filters

local perception filters

  • exploits temporal perception

exploits temporal perception

  • shows possibly out

shows possibly out-

  • of
  • f-
  • date information (≠ dead reckoning)

date information (≠ dead reckoning)

  • ensures consistent interaction

ensures consistent interaction

  • allows to introduce artificial delays (e.g., bullet time)

allows to introduce artificial delays (e.g., bullet time)

Exploiting Exploiting Perceptual Limitations Perceptual Limitations

  • Humans

Humans have have inherent perceptual limitations inherent perceptual limitations Two approaches to exploit Two approaches to exploit

  • Information can provided at multiple levels of detail and at

Information can provided at multiple levels of detail and at different update rates different update rates

  • Mask the timeliness characteristics of information

Mask the timeliness characteristics of information

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

slide-2
SLIDE 2

2

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

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

Local Perception Filters (LPFs) Local Perception Filters (LPFs)

  • introduced by Sharkey, Ryan & Roberts (1998)

introduced by Sharkey, Ryan & Roberts (1998)

  • a method for hiding communication delays in networked

a method for hiding communication delays in networked virtual environments virtual environments

  • exploits the human perceptual limitations by rendering entities

exploits the human perceptual limitations by rendering entities slightly out slightly out-

  • of
  • f-
  • date locations based on the underlying network

date locations based on the underlying network delays delays

  • causality of events is preserved

causality of events is preserved

  • rendered view may have temporal distortions

rendered view may have temporal distortions

  • rendered view ≠ real view

rendered view ≠ real view

Active and Passive Entities Active and Passive Entities

  • An active

An active entity (i.e., player) entity (i.e., player)

  • 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

slide-3
SLIDE 3

3

Rules of LPFs Rules of LPFs

1. 1.

Player should be able to interact in real Player should be able to interact in real-

  • time with the nearby

time with the nearby entities. entities.

2. 2.

Player should be able to view remote interactions in real Player should be able to view remote interactions in real-

  • time, although they can be out

time, although they can be out-

  • of
  • f-
  • date.

date.

3. 3.

Temporal distortions in the player’s perception should be as Temporal distortions in the player’s perception should be as unnoticeable as possible. unnoticeable as possible.

p p n n r r q q

Interaction Between Players Interaction Between Players

  • interaction = communication between the players

interaction = communication between the players

  • local players: immediate

local players: immediate

  • remote players: subject to the network latency

remote players: subject to the network latency

  • time frame = current time

time frame = current time – – communication delay communication delay

  • interaction = players exchanging passive entities

interaction = players exchanging passive entities

  • passive entities are predictable

passive entities are predictable ⇒ ⇒ they can be rendered in the past (or in the they can be rendered in the past (or in the future) future)

  • a passive entity can change its time frame dynamically

a passive entity can change its time frame dynamically

  • the nearer to a local player, the closer it is rendered to the c

the nearer to a local player, the closer it is rendered to the current time urrent time

  • the nearer to a remote player, the closer it is rendered to its

the nearer to a remote player, the closer it is rendered to its time frame time frame

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

The View The View of

  • f the Blue

the Blue Player Player

t t

The View The View of the

  • f the Red

Red Player Player

t t

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

slide-4
SLIDE 4

4

3 3½ ½-

  • Dimensional

Dimensional Temporal Contour Temporal Contour

  • 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

Temporal Contours in Pong Temporal Contours in Pong

Red Red player player Blue Blue player player