Professional Documents
Culture Documents
Profiling User Interactions For Predictive 3D Streaming and Rendering
Profiling User Interactions For Predictive 3D Streaming and Rendering
Rotation
x
Rotation about x axis
y
Rotation about y axis
z
Rotation about z axis
T
x
Translate about x axis
T
y
Translate about y axis
T
z
Translate about z axis
Z
in
Zoom In
Z
out
Zoom Out
3.1.2 Operation
Profiling
To profile the interaction performed by the user, basically the Rotation operation R
in any one of the directions: +
x
/-
x
, +
y
/-
y
, +
z
/-
z
and also Translation /
Scaling with a fixed Translation/scale factors are considered.
For every key press/ mouse move during the rotation, a fixed angle of rotation is
applied on the 3D object and outcome of the rotation generates updated eye position
and eye orientation (eye refers to the camera position, which is the view point of the
user in 3D world). Based on this operation, the speed of rotation is estimated based
on the number of key pressed per second. The key presses would determine the
amount of angle being rotated per second.
Based on the rotation output, the amount of change in the vertices and faces (+
{V
i
} and + {F
i
}) that ought to be transmitted to the client is predicted. The
predicted faces and vertices only are transmitted to the client. The prediction, hence,
would reduce the rendering latency based on the client input.
3.1.3 User Profiling
To construct the predictive agent, an offline analysis has been carried out by
considering 55 user profiles taken from a range of novice to professionals
interacting with 3D virtual world. The user profiles include, rate at which the key is
pressed/ mouse button clicked with a drag and the actual key/mouse/scroll button
that is pressed per user session on various complex 3D meshes are considered for
analysis. Using the collated user profiles, operation patterns are determined by
considering the transition probabilities. At each step of constructing the transition
path, transition from maximum probable state to all other possible states based on
the user profiles are extracted by exploiting the markov chain model and greedy
approach. As per the greedy approach, at every transition step locally optimal
choice (state with maximum probability) is considered and a complete transition
path is constructed. Also, as per the markov chain process, summation of the
transition probabilities from one state to all possible states should be 1. Based on the
constructed transition path with maximum probabilities considered at every step, the
predictive agent for a specific model is built. This process is considered to be a
training session for the users before they actually navigate the virtual world. Once
trained, the users would be able to get the rendered 3D models with a better
response time across the network while interacting with the 3D web. Table 2
describes various keys that can be used by the user and the corresponding
operations performed in response to the key press are specified. Also, we have
carefully studied the existing systems and identified all possible operations that the
user is intended to perform in a 3D environment and consolidated it.
Similar to Table 2, the Table 3 describes various mouse moves the user can perform
during his/her interactions in the 3D environment. Here also, most common practice
adopted in the 3D virtual environment is followed. However, it is a common user
practice that most of the time the interactions are made using the keys rather than
mouse. Study reveals that this is due to the linear degree of movement of key press
and non-linear movement of the mouse operation. Evidences are that the
commercial graphic hardware consoles use joystick movements which make a
linear movement while playing the games. However, we have conducted the
detailed study and analyzed extensively using keys as well as mouse interactions.
Table 2: User Key Press
S.No Key
Pressed
Operation
Performed
Key
Value
1 LEFT Rotate -X 1
2 RIGHT Rotate +X 2
3 Up Rotate -Y 3
4 Down Rotate +Y 4
5 PgUp Rotate +Z 5
6 PgDown Rotate -Z 6
7 Tab Move Right 7
8 Backspace Move Left 8
9 X Move Up <
10 Y Move Down >
11 O Zoom out 0
12 Z Zoom In 9
Table 3: User Mouse Movement
User Profiling for Predictive Streaming & Rendering 4
S.No Mouse
Move
Operation
Performed
Key
Value
1 LEFT+Drag Rotate LG
2 Right+Drag Zoom In /Out RG
3 Left+Right+
Drag Move
LRG
4 Scroll Zoom In/Out U/D
5 Vani V et al.
4 Result and Analysis
We have used two different 3D models (Table 4) which contain only meshes to
experiment the user interactions and build a rigid predictive agent. Meshes are
considered so that the number of culled faces can be easily computed. 3D meshes
with its number of vertices, faces, triangle strips and file size considered is given in
Table 5. The 3D meshes are carefully chosen so that it differs in shape and
complexity (like total no. of vertices and faces). The experimental setup was run on
an Intel Core2 Duo CPU P8600 @ 2.4 GHz with 4 GB RAM and ATI Radeon 1GB
graphics card system. The system has been used to simulate a server environment
where the server was streaming the 3D meshes as requested by user from a client
machine based on the navigation. The client module was run on the machines with
the following configuration which does not have exclusive graphics card. The
configurations of 55 client machines are Intel Core 2 Duo CPU P6550 @ 2.3 GHz
with 1GB RAM. The profiling collected from 55 client machines helps in rendering
the 3D meshes more efficiently.
4.1 Analysis of User Profiling
We have collected the profiling of 55 different users (aged 18 to 22, from
engineering institutions with good visual and computer senses). For each 3D model,
the users/clients are asked to navigate through the object with various key
strokes/mouse moves as defined earlier and user manual is also circulated among
the users to get a fair idea about key/mouse press and the corresponding operation
being performed. In addition to it, all the users are instructed properly on how to use
the key strokes/mouse moves to navigate and visualize the 3D meshes. Number of
times a key/mouse button pressed is counted. Later, the probability of pressing each
key stroke/mouse button and the transition probability of moving from one
key/mouse button to other key/mouse button is calculated as in Figure 4(a) and 4(b).
Figure 1 describes the overall visual coverage of 3D mesh models considered and
could infer that brain model is covered by maximum number of users (29 users,
53%) than that of armadillo model (13 users,24%) out of 55 users. This visual
coverage is estimated based on the interactions of the model and the operation
performed and the total number of vertices and faces covered by them. After
applying visibility culling algorithm, the study reveals that 40% of the meshes
would be saved without rendering in a client machine for a complex mesh. It
implies that only 60% of meshes would be rendered and viewed by maximum
number of users who covers the entire model.
Figure 2(a) and (b) highlights time spent on the model (session time) by each of the
55 users. From the result obtained, we could see, some of the users spent more 560
seconds that is around 10 minutes on the brain model with 1446 key/ mouse
interactions (Figure 3(a)).Also, on the other hand 353 seconds are spent on the brain
model with 4030 key presses. The results imply that the interactions performed by
the user also influence his psychological aspects such how much he/she is interested
on the model he is viewing, how long he takes to press the next key(think time) etc
can also be analyzed. Similarly, if we consider the Armadillo model, maximum 266
seconds is spent on a model with 1988 key/mouse interactions (Figure 3(b)) and on
the other hand maximum of 3129 key/mouse interactions is done for the duration of
211 seconds. Therefore, the session time and think time can be exploited to push the
predicted faces and vertices well before it is requested.
Figure 4(a) shows the constructed transition path based on the transition probability.
Based on the 55 users interactions with brain model consolidated, the transition path
is constructed. From the start state S, the next probable state from the available 15
states is calculated by identifying the state with maximum probability. Accordingly,
the state 3 from S is the termed to be the most probable state determined based on
the user profiles. From state 3, next probable state is determined once again and the
process is repeated till we reach the finish state from only two states with equal
probability .5 and number of user involved in that move remains to be 1. This
transition probability which estimated by considering only the unique moves by
removing the duplicate states such as (3 to 3, 4 to 4) can be used as a look up table
in the predictive agent to perform predictive streaming and rendering. Also, the
consolidated user interactions reveals the fact that the probability of moving from
state X
i
to X
i
is high compared to transition from state X
i
to X
j
where i j.
Therefore, the predictive agent is built to get the utmost efficiency by considering
both the constructed transition path with unique user interactions while moving
from state X
n-1
(previous)
to X
n
(current) as well as the calculated cumulative
probability of X
i
to X
i.
Figure 4(b) shows the transition path generated for Armadillo
model. Figure 4(a) and (b) gives a conclusion that based on the shape of the model
the interactions of the users varies and this is also considered while implementing a
predictive based 3D streaming and rendering to achieve swift response from the
server for every interaction.
Table 4: Thumbnails of actual and Rotated/Zoomed 3D meshes using key press / mouse
moves (
#
http://www1.cs.columbia.edu/~cs4162/models)
Table 5: 3D objects and its attributes
User Profiling for Predictive Streaming & Rendering 6
S.No Model
No.
Vertices
No. of
Faces
No. of Triangle
Strips
File
Size
1.
Armadillo 1,72,974 3,45,944 3,37,958 26
MB
2.
Brain 2,94,012 5,88,032 5,83,877 44
MB
7 Vani V et al.
Fig. 1. % of Users covered entire model
Fig. 2(a). Users Session Time (in Sec) for Armadillo 3D mesh
Fig. 2(b). Users Session Time (in Sec) for Brain 3D mesh
Fig. 3(a). Users Interactions on Armadillo 3D mesh
Fig. 3(b). Users Interactions on Brain 3D mesh
Fig. 4(a) Transition Path for Brain Model
Transition Path for Brain Model
Fig. 4(b) Transition Path for Armadillo Model
5 Conclusion
This paper explored the possibility of implementing a predictive based 3D streaming
and rendering by exploiting the user interactions performed by various users across two
complex models differ in size and shape. With the predicted user profiling, it is affirmed
that the 3D meshes can be rendered with minimum latency. The transition paths
generated and the analysis performed based on the think time and session time shows
that the predictive model for 3D streaming has a significant impact in bringing the 3D
models to the client system without compromising on the visual quality. Future
extension of the proposed system would be introducing multiple objects in a more
dynamic 3D environment.
User Profiling for Predictive Streaming & Rendering 8
1
.
0
0.2
0
.
0
2
0
.
0
2
0
.
0
2
0
.
0
2
0
.
0
9
0.07
0.31
0.18
6
1
3
L
5
8
2
7
D
R
S
0
.
4
3
0
.
2
4
0.35
0.41
1
2
4
0.14
0.5
3
1
7
0
.
2
5
0.5
4
7
5
0.25 0.5
0.5
L
6
F
4
U
1.0
0
.
1
1
0
.
0
2
0
.
0
4
U
0
.
0
4
0
.
0
5
0.05
0.33
0.13
6
1
5
2
7
4
D
R
0.24
0.12
0
.
1
8
G
0.18
0.35
3
R
1
0
.
4
0.4
U
2
3
0.2
2
U
0.5
0.5
D
3
3
F L
8
3
S
.17
9 Vani V et al.
6 References
[1] Gerald Benoit Simmons Application of Markov chains in an interactive information
retrieval system. Inf. Process. Manage. 41, 4 (July 2005), 843-857.
DOI=10.1016/j.ipm.2004.06.005. (2005).
[2] Dong Hyun Jeong, Soo-Yeon Ji, William Ribarsky, Remco Chang: A state transition
approach to understanding users' interactions. IEEE VAST 2011: 285-286. (2011).
[3] Soumyajit Deb and P. J. Narayanan. Design of a geometry streaming system. In
Proc. ICVGIP, pages 296-30. (2004).
[4] Nien-Shien Lin, Ting-Hao Huang, and Bing-Yu Chen3D model streaming based on
JPEG 2000. IEEE Transactions on Consumer Electronics (TCE), 53(1). (2007).
[5] William J. Schroeder, Jonathan A. Zarge, and William E. Lorensen. Decimation of
triangle meshes. SIGGRAPH Comput. Graph. 26, 2 (July 1992), 65-70.
DOI=10.1145/142920.134010. (1992).
[6] Hugues Hoppe. Progressive meshes. In Proc. SIGGRAPH, pages 99-108. (1996).
[7] Wei Cheng. 2008. Streaming of 3D progressive meshes. In Proceedings of the 16th
ACM international conference on Multimedia (MM '08). ACM, New York, NY,
USA, 1047-1050. DOI=10.1145/1459359.1459570. (2008).
[8] Wei Cheng, Wei Tsang Ooi, Sebastien Mondet, Romulus Grigoras, and Geraldine
Morin. Modeling progressive mesh streaming: Does data dependency matter?. ACM
Trans. Multimedia Comput. Commun. Appl. 7, 2, Article 10 (March 2011), 24 pages.
DOI=10.1145/1925101.1925105. ( 2011).
[9] Cohen, Jonathan D. and Dinesh Manocha. Model Simplification for Interactive
Visualization. Visualization Handbook. 13 pages. Eds. Chris Johnson and Chuck
Hansen. Elsevier Butterworth-Heinemann. Chapter 20, pp. 393-410. (2005).
[10] Huimin Ma, Tiantian Huang, Yanzhi Wang, Multi-resolution recognition of 3D
objects based on visual resolution limits, Pattern Recognition Letters, Volume 31,
Issue 3, 1 February 2010, Pages 259-266, ISSN 0167-8655,
10.1016/j.patrec.2009.08.015.
[11] Li Xin, Research on LOD Technology in Virtual Reality, Energy Procedia, Volume
13, 2011, Pages 5144-5149, ISSN 1876-6102, 10.1016/j.egypro.2011.12.142.