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 viewers � Multiple independent data channels for each entity Multiple independent data channels for each entity � � � expect full graphical expect full graphical details details � � accurate structure, position, orientation accurate structure, position, orientation � Low- Low -resolution channel resolution channel update rate → → local frame rate � update rate local frame rate � Low Low- -frequency frequency, , ( x , y ) ( x , y ) ( x , y ) ( x , y ) � Distant viewers Distant viewers � low low- -bandwidth bandwidth information information � can tolerate can tolerate less less graphical graphical details details � High- High -resolution channel resolution channel � less accurate structure, position, orientation less accurate structure, position, orientation � High High- -frequency, frequency, high- -bandwidth bandwidth high � User’s focus is typically nearby User’s focus is typically nearby information information � � Many inaccuracies cannot even be detected on a fine Many inaccuracies cannot even be detected on a fine- - � resolution display resolution display ⇒ The overall bandwidth ⇒ The overall bandwidth requirements are reduced requirements are reduced A Implementation Examples Selecting the Channels to Provide Implementation Examples Selecting the Channels to Provide � Client Client- -server server � How many channels to provide for an entity? How many channels to provide for an entity? � � � each transmission identifies its channel each transmission identifies its channel � � more channels: better service for subscribers more channels: better service for subscribers � � server dispatches data from channels to clients server dispatches data from channels to clients � � each channel imposes a cost (bandwidth and each channel imposes a cost (bandwidth and � � Multicast group for each region Multicast group for each region � computational) computational) � assign multiple assign multiple addresses addresses for each region for each region � To satisfy the trade trade- -off off, three channels for each entity , three channels for each entity � To satisfy the � � one group provides all of the entities’ high one group provides all of the entities’ high- -resolution channels, resolution channels, � is typically needed another group provides all of the entities’ low- another group provides all of the entities’ low -resolution channels resolution channels is typically needed � Multicast group for each entity Multicast group for each entity � � channels channels provide order provide order- -of of- -magnitude differences in magnitude differences in � � assign multiple assign multiple addresses addresses for each entity for each entity � � structural and positional accuracy structural and positional accuracy � � packet rate packet rate � � Different reliabilities to each channel Different reliabilities to each channel � Rigid Rigid- -body channel body channel Far- Far -range viewers range viewers � low low- -frequency updates are frequency updates are important important � Approximate Approximate- -body channel body channel Mid- Mid -range viewers range viewers � lost packets can have a significant impact lost packets can have a significant impact � Full- Full -body channel body channel Near Near- -range viewers range viewers Rigid- -Body Channel Body Channel Approximate- -Body Channel Body Channel Rigid Approximate � Demands the least bandwidth and computation Demands the least bandwidth and computation � � More frequent position and orientation updates More frequent position and orientation updates � � Represents the entity as a rigid body Represents the entity as a rigid body � � Hosts can render a rough approximation of the entity’s Hosts can render a rough approximation of the entity’s � � Ignores changes in the entity’s structure Ignores changes in the entity’s structure � dynamic structure dynamic structure � Update types: Update types: � � appendages and other articulated parts appendages and other articulated parts � � position position � � orientation orientation � Provided information is entity Provided information is entity- -specific specific � � � structure structure � � corresponds corresponds to the dominant changes of the structure to the dominant changes of the structure � Jouni Smed 1
Special Course on Networked Virtual February 26, 2004 Environments Common Approximations Common Approximations Full- Full -Body Channel Body Channel � Radial length Radial length � � Highest level of detail Highest level of detail � � motion towards and away from a motion towards and away from a � Radius Radius centre point centre point � High bandwidth and computational requirements High bandwidth and computational requirements � � update packets include the update packets include the � � viewer viewer can subscribe to a limited number of full can subscribe to a limited number of full- -body body channels channels current radius current radius � � Articulation vector Articulation vector � � Frequent transmissions Frequent transmissions � � the current direction of the the current direction of the � appendage appendage � Position and orientation Position and orientation � � models a rotating turret, arms and models a rotating turret, arms and � � Accurate structure information Accurate structure information legs legs � � Local co Local co- -ordinate system points ordinate 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- -ordinate system ordinate system local co � the entity is composed of the entity is composed of � multiple components multiple components Exploiting Temporal Perception Active and Passive Entities Exploiting Temporal Perception Active and Passive Entities � Render the entity in an accurate location Render the entity in an accurate location — — albeit slightly out albeit slightly out- - � An active entity An active entity � A passive entity A passive entity � � � of- of -date date � takes actions on its own takes actions on its own � reacts to events from the reacts to events from the � � environment, does not generate environment, does not generate � generates updates generates updates � � As long as the local user does not interact, small temporal As long as the local user does not interact, small temporal � its own actions its own actions � human participants, computer human participants, computer- - � inaccuracies can be inaccuracies can be allowed allowed � inanimate objects (e.g., rocks, inanimate objects (e.g., rocks, � controlled entities controlled entities balls, books) balls, books) � Advantages Advantages: : � cannot be predicted typically cannot be predicted typically � � � active entities interact with active entities interact with � � rendered using state updates rendered using state updates � works works on on WANs WANs having great latency having great latency � � passive entities passive entities adjusted for the latency adjusted for the latency � can can enhance packet aggregation enhance packet aggregation � � rendered according to the latency rendered according to the latency � of its nearest active entity of its nearest active entity � can can enhance dead reckoning enhance dead reckoning � � reacts reacts instantaneously to instantaneously to the the � actions actions of of a nearby a nearby active entity active entity Example: Pong View of the Blue the Blue Player Player Example: Pong View of � Two active entities: Two active entities: � paddles paddles � movement unpredictable movement unpredictable � � One passive entity: ball One passive entity: ball � � movement predictable movement predictable d d � � Latency of Latency of d d seconds seconds � Jouni Smed 2
Recommend
More recommend