merge mmsys16 related work

This commit is contained in:
Thomas Forgione 2019-09-18 11:00:25 +02:00
parent d4f2672470
commit 0801a834d0
No known key found for this signature in database
GPG Key ID: 203DAEA747F48F41
6 changed files with 523 additions and 104 deletions

View File

@ -1,29 +1,29 @@
@inproceedings{dash-srd,
title={MPEG DASH SRD: spatial relationship description},
author={Niamut, Omar A and Thomas, Emmanuel and D'Acunto, Lucia and Concolato, Cyril and Denoual, Franck and Lim, Seong Yong},
booktitle={Proceedings of the 7th International Conference on Multimedia Systems},
pages={5},
year={2016},
organization={ACM}
title={MPEG DASH SRD: spatial relationship description},
author={Niamut, Omar A and Thomas, Emmanuel and D'Acunto, Lucia and Concolato, Cyril and Denoual, Franck and Lim, Seong Yong},
booktitle={Proceedings of the 7th International Conference on Multimedia Systems},
pages={5},
year={2016},
organization={ACM}
}
@inproceedings{dash-std,
author = {Stockhammer, Thomas},
title = {Dynamic Adaptive Streaming over HTTP --: Standards and Design Principles},
booktitle = {Proceedings of the Second Annual ACM Conference on Multimedia Systems},
series = {MMSys '11},
year = {2011},
isbn = {978-1-4503-0518-1},
location = {San Jose, CA, USA},
pages = {133--144},
numpages = {12},
url = {http://doi.acm.org/10.1145/1943552.1943572},
doi = {10.1145/1943552.1943572},
acmid = {1943572},
month = {Feb},
publisher = {ACM},
address ={San Jose, CA, USA},
keywords = {3gpp, mobile video, standards, streaming, video},
author = {Stockhammer, Thomas},
title = {Dynamic Adaptive Streaming over HTTP --: Standards and Design Principles},
booktitle = {Proceedings of the Second Annual ACM Conference on Multimedia Systems},
series = {MMSys '11},
year = {2011},
isbn = {978-1-4503-0518-1},
location = {San Jose, CA, USA},
pages = {133--144},
numpages = {12},
url = {http://doi.acm.org/10.1145/1943552.1943572},
doi = {10.1145/1943552.1943572},
acmid = {1943572},
month = {Feb},
publisher = {ACM},
address ={San Jose, CA, USA},
keywords = {3gpp, mobile video, standards, streaming, video},
}
@article{dash-std-2,
@ -113,3 +113,322 @@
year={1996},
organization={ACM}
}
@inproceedings{video-bookmarks,
title={A Video Timeline with Bookmarks and Prefetch State for Faster Video Browsing},
author={Carlier, Axel and Charvillat, Vincent and Ooi, Wei Tsang},
booktitle={Proceedings of the 23rd Annual ACM Conference on Multimedia Conference},
pages={967--970},
year={2015},
month=oct,
address={Brisbane, Australia},
organization={ACM}
}
@inproceedings{zoomable-video,
author = {Carlier, Axel and Ravindra, Guntur and Ooi, Wei Tsang},
title = {Towards Characterizing Users' Interaction with Zoomable Video},
booktitle = {Proceedings of the 2010 ACM Workshop on Social, Adaptive and Personalized Multimedia Interaction and Access},
series = {SAPMIA '10},
year = {2010},
address = {Firenze, Italy},
pages = {21--24},
}
@article{user-generated-videos,
title={Watching user generated videos with prefetching},
author={Khemmarat, Samamon and Zhou, Renjie and Krishnappa, Dilip Kumar and Gao, Lixin and Zink, Michael},
journal={Signal Processing: Image Communication},
volume={27},
number={4},
pages={343--359},
year={2012},
publisher={Elsevier}
}
@inproceedings{video-navigation-mpd,
title={Optimizing hypervideo navigation using a {Markov} decision process approach},
author={Grigoras, Romulus and Charvillat, Vincent and Douze, Matthijs},
booktitle={Proceedings of the 10th ACM International Conference on Multimedia},
pages={39--48},
year={2002},
address={Juan les Pins, France},
}
@inproceedings{joserlin,
author = {Zhao, Zhen Wei and Ooi, Wei Tsang},
title = {Joserlin: Joint Request and Service Scheduling for Peer-to-peer Non-linear Media Access},
booktitle = {Proceedings of the 21st ACM International Conference on Multimedia},
series = {MM '13},
year = {2013},
month=oct,
address = {Barcelona, Spain},
pages = {303--312},
}
@article{survey-caching-prefetching,
title={A survey of Web caching and prefetching},
author={Ali, Waleed and Shamsuddin, Siti Mariyam and Ismail, Abdul Samad},
journal={International Journal of Advances in Soft Computing and its Application},
volume={3},
number={1},
pages={18--44},
year={2011},
}
@inproceedings{peer-texture-streaming,
title={Peer-assisted texture streaming in metaverses},
author={Liang, Ke and Zimmermann, Roger and Ooi, Wei Tsang},
booktitle={Proceedings of the 19th ACM International Conference on Multimedia},
pages={203--212},
year={2011},
address={Scottsdale, AZ},
organization={ACM}
}
@inproceedings{motion-prediction,
author = {Chan, Addison and Lau, Rynson W. H. and Ng, Beatrice},
title = {A Hybrid Motion Prediction Method for Caching and Prefetching in Distributed Virtual Environments},
booktitle = {Proceedings of the ACM Symposium on Virtual Reality Software and Technology},
series = {VRST '01},
year = {2001},
isbn = {1-58113-427-4},
address = {Baniff, Alberta, Canada},
pages = {135--142},
numpages = {8},
url = {http://doi.acm.org/10.1145/505008.505035},
doi = {10.1145/505008.505035},
acmid = {505035},
publisher = {ACM},
keywords = {3D navigation, caching, distributed virtual environments, motion prediction, prefetching, virtual walkthrough},
}
@article{walkthrough-ve,
title={A data management scheme for effective walkthrough in large-scale virtual environments},
author={Li, Tsai-Yen and Hsu, Wen-Hsiang},
journal={The Visual Computer},
volume={20},
number={10},
pages={624--634},
year={2004},
publisher={Springer}
}
@article{cyberwalk,
title={{CyberWalk}: a {Web}-based distributed virtual walkthrough environment},
author={Chim, Jimmy and Lau, Rynson WH and Leong, Hong Va and Si, Antonio},
journal={Multimedia, IEEE Transactions on},
volume={5},
number={4},
pages={503--515},
year={2003},
publisher={IEEE}
}
@article{prefetching-walkthrough-latency,
author = {Hung, Shao-Shin and Liu, Damon Shing-Min},
title = {Using Prefetching to Improve Walkthrough Latency: Research Articles},
journal = {Comput. Animat. Virtual Worlds},
volume = {17},
number = {3-4},
month = jul,
year = {2006},
issn = {1546-4261},
pages = {469--478},
numpages = {10},
url = {http://dx.doi.org/10.1002/cav.v17:3/4},
doi = {10.1002/cav.v17:3/4},
acmid = {1144489},
publisher = {John Wiley and Sons Ltd.},
address = {Chichester, UK},
keywords = {clustering, latency, mining, pattern growth, prefetching, walkthrough},
}
@inproceedings{caching-prefetching-dve,
title={Scalable data management using user-based caching and prefetching in distributed virtual environments},
author={Park, Sungju and Lee, Dongman and Lim, Mingyu and Yu, Chansu},
booktitle={Proceedings of the ACM Symposium on Virtual Reality Software and Technology},
pages={121--126},
year={2001},
month=11,
address={Banff, Canada}
}
@article{learning-user-access-patterns,
author={Zhong Zhou and Ke Chen and Jingchang Zhang},
journal={IEEE Transactions on Multimedia},
title={Efficient {3-D} Scene Prefetching From Learning User Access Patterns},
year={2015},
volume={17},
number={7},
pages={1081-1095},
doi={10.1109/TMM.2015.2430817},
ISSN={1520-9210},
month={July},
}
@inproceedings{remote-rendering-streaming,
title={Prediction-based prefetching for remote rendering streaming in mobile virtual environments},
author={Lazem, Shaimaa and Elteir, Marwa and Abdel-Hamid, Ayman and Gracanin, Denis},
booktitle={Signal Processing and Information Technology, 2007 IEEE International Symposium on},
pages={760--765},
year={2007},
organization={IEEE}
}
@inproceedings{prefetching-remote-walkthroughs,
title={Prefetching policies for remote walkthroughs},
author={Zach Christopher and Karner Konrad},
booktitle={The 10-th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision 2002 Conference proceedings,},
pages={153159},
year={2002},
}
@article{cache-remote-visualization,
author = {Robert Sisneros and Chad Jones and Jian Huang and Jinzhu Gao and Byung-Hoon Park and Nagiza Samatova},
title = {A Multi-Level Cache Model for Run-Time Optimization of Remote Visualization},
journal ={IEEE Transactions on Visualization and Computer Graphics},
volume = {13},
number = {5},
issn = {1077-2626},
year = {2007},
pages = {991-1003},
}
@article{interaction-3d-environment,
author = {Jacek Jankowski and Martin Hachet},
title = {Advances in Interaction with 3D Environments},
journal = {Comput. Graph. Forum},
volume = {34},
number = {1},
pages = {152--190},
year = {2015},
}
@inproceedings{controlled-movement-virtual-3d,
title={Rapid controlled movement through a virtual 3D workspace},
author={Mackinlay, Jock D and Card, Stuart K and Robertson, George G},
booktitle={ACM SIGGRAPH Computer Graphics},
volume={24},
number={4},
pages={171--176},
year={1990},
organization={ACM}
}
@inproceedings{two-pointer-input,
title={Two pointer input for 3D interaction},
author={Zeleznik, Robert C and Forsberg, Andrew S and Strauss, Paul S},
booktitle={Proceedings of the 1997 symposium on Interactive 3D graphics},
pages={115--120},
year={1997},
organization={ACM}
}
@inproceedings{drag-n-go,
title={Drag'n Go: Simple and fast navigation in virtual environment},
author={Moerman, Cl{\'e}ment and Marchal, Damien and Grisoni, Laurent},
booktitle={3D User Interfaces (3DUI), 2012 IEEE Symposium on},
pages={15--18},
year={2012},
organization={IEEE}
}
@article{visual-perception-3d,
title={The visual perception of 3D shape},
author={Todd, James T},
journal={Trends in cognitive sciences},
volume={8},
number={3},
pages={115--121},
year={2004},
publisher={Elsevier}
}
@inproceedings{showmotion,
title={ShowMotion: camera motion based 3D design review},
author={Burtnyk, Nicolas and Khan, Azam and Fitzmaurice, George and Kurtenbach, Gordon},
booktitle={Proceedings of the 2006 symposium on Interactive 3D graphics and games},
pages={167--174},
year={2006},
organization={ACM}
}
@inproceedings{dual-mode-ui,
title={A dual-mode user interface for accessing 3D content on the world wide web},
author={Jankowski, Jacek and Decker, Stefan},
booktitle={Proceedings of the 21st international conference on World Wide Web},
pages={1047--1056},
year={2012},
organization={ACM}
}
@inproceedings{browsing-3d-bookmarks,
author = {Serge Rezzonico and Daniel Thalmann},
title = {Browsing {3D} bookmarks in {BED}},
address = {San Francisco, California, USA},
booktitle = {Proceedings of WebNet 96 - World Conference of the Web Society},
month = {October},
year = {1996},
timestamp = {Thu, 20 Nov 2003 13:19:52 +0100},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/webnet/RezzonicoT96},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
@article{ve-hyperlinks,
title={The effects of hyperlinks on navigation in virtual environments},
author={Ruddle, Roy A and Howes, Andrew and Payne, Stephen J and Jones, Dylan M},
journal={International Journal of Human-Computer Studies},
volume={53},
number={4},
pages={551--581},
year={2000},
publisher={Elsevier}
}
@inproceedings{linking-behavior-ve,
title={Linking behavior in a virtual world environment},
author={Eno, Joshua and Gauch, Susan and Thompson, Craig W},
booktitle={Proceedings of the 15th International Conference on Web 3D Technology},
pages={157--164},
year={2010},
organization={ACM}
}
@inproceedings{navigation-aid-multi-floor,
title={Navigation aids for multi-floor virtual buildings: A comparative evaluation of two approaches},
author={Chittaro, Luca and Venkataraman, Subramanian},
booktitle={Proceedings of the ACM symposium on Virtual Reality Software and Technology},
pages={227--235},
year={2006},
organization={ACM}
}
@inproceedings{viewcube,
author = {Khan, Azam and Mordatch, Igor and Fitzmaurice, George and Matejka, Justin and Kurtenbach, Gordon},
title = {ViewCube: A 3D Orientation Indicator and Controller},
booktitle = {Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games},
series = {I3D '08},
year = {2008},
pages = {17--25},
numpages = {9},
publisher = {ACM},
}
@inproceedings{location-pointing-navigation-aid,
author = {Luca Chittaro and Stefano Burigat},
title = {3D location-pointing as a navigation aid in Virtual Environments},
booktitle = {Proceedings of the working conference on Advanced visual interfaces, {AVI} 2004, Gallipoli, Italy, May 25-28, 2004},
pages = {267--274},
year = {2004},
}
@article{location-pointing-effect,
author = {Stefano Burigat and Luca Chittaro},
title = {Navigation in 3D virtual environments: Effects of user experience and location-pointing navigation aids},
journal = {International Journal of Man-Machine Studies},
volume = {65},
number = {11},
pages = {945--958},
year = {2007},
}

View File

@ -0,0 +1,34 @@
\copied{}
\section{3D Bookmarks and Navigation Aids}
Devising an ergonomic technique for browsing 3D environments through a 2D interface is difficult.
Controlling the viewpoint in 3D (6 DOFs) with 2D devices is not only inherently challenging but also strongly task-dependent. In their recent review~\cite{interaction-3d-environment}, Jankowski and Hachet distinguish between several types of camera movements: general movements for exploration (e.g., navigation with no explicit target), targeted movements (e.g., searching and/or examining a model in detail), specified trajectory (e.g., a cinematographic camera path), etc.
For each type of movement, specialized 3D interaction techniques can be designed.
In most cases, rotating, panning, and zooming movements are required, and users are consequently forced to switch back and forth among several navigation modes, leading to interactions that are too complicated overall for a layperson.
Navigation aids and smart widgets are required and subject to research efforts both in 3D companies (see \url{sketchfab.com}, \url{cl3ver.com} among others) and in academia, as reported below.
Translating and rotating the camera can be simply specified by a \textit{lookat} point. This is often known as point-of-interest movement (or \textit{go-to}, \textit{fly-to} interactions)~\cite{controlled-movement-virtual-3d}.
Given such a point, the camera automatically animates from its current position to a new position that looks at the specified point.
One key issue of these techniques is to correctly orient the camera at destination.
In Unicam~\cite{two-pointer-input}, the so-called click-to-focus strategy automatically chooses the destination viewpoint depending on 3D orientations around the contact point.
The recent Drag'n Go interaction~\cite{drag-n-go} also hits a destination point while offering control on speed and position along the camera path.
This 3D interaction is designed in the screen space (it is typically a mouse-based camera control), where cursor's movements are mapped to camera movements following the same direction as the on-screen optical-flow.
Some 3D browsers provide a viewpoint menu offering a choice of viewpoints~\cite{visual-preception-3d},~\cite{showmotion}.
Authors of 3D scenes can place several viewpoints (typically for each POI) in order to allow easy navigation for users, who can then easily navigate from viewpoint to viewpoint just by selecting a menu item.
Such viewpoints can be either static, or dynamically adapted: the authors from~\cite{dual-mode-ui} report that users clearly prefer navigating in 3D using a menu with animated viewpoints than with static ones.
Early 3D VRML environments~\cite{browsing-3d-bookmarks} offer 3D bookmarks with animated transitions between bookmarked views.
These transitions prevent disorientation since users see how they got there.
Hyperlinks can also ease rapid movements between distant viewpoints and naturally support non-linear and non-continuous access to 3D content.
Navigating with 3D hyperlinks is potentially faster, but is likely to cause disorientation, as shown by the work of Ruddle et al.~\cite{ve-hyperlinks}.
Eno et al.~\cite{linking-behavior-ve} examine explicit landmark links as well as implicit avatar-chosen links in Second Life.
These authors point out that linking is appreciated by users and that easing linking would likely result in a richer user experience.
In~\cite{dual-mode-ui}, the Dual-Mode User Interface (DMUI) coordinates and links hypertext to 3D graphics in order to access information in a 3D space.
Our results are consistent with the results on 3D hyperlinks, as we showed that in our NVE 3D bookmarks also improve users performance.
The use of in-scene 3D navigation widgets can also facilitate 3D navigation tasks.
Chittaro and Venkataraman~\cite{navigation-aid-multi-floor} propose and evaluate 2D and 3D maps as navigation aids for complex virtual buildings and find that the 2D navigation aid outperforms the 3D one for searching tasks.
The ViewCube widget~\cite{viewcube} serves as a proxy for the 3D scene and offers viewpoint switching between 26 views while clearly indicating associated 3D orientations.
Interactive 3D arrows that point to objects of interest have also been proposed as navigation aids by Chittaro and Burigat~\cite{location-pointing-navigation-aid,location-pointing-effect}: when clicked, the arrows transfer the viewpoint to the destination through a simulated walk or a faster flight.

View File

@ -0,0 +1,122 @@
\section{3D Streaming}
\subsection{Progressive meshes}
It is not possible to speak about 3D streaming without speaking about progressive meshes.
Progressive meshes were introduced by Hughes Hoppe in 1996~\cite{progressive-meshes} and allow transmitting a mesh by send first a low resolution mesh, called \emph{base mesh}, and then transmitting detail information that a client can use to increase the resolution.
To do so, an algorithm, called \emph{decimation algorithm} removes vertices and faces by merging vertices (Figure~\ref{sote:progressive-scheme}).
Each time two vertices are merged, vertices and faces are removed from the original mesh, and the resolution of the model decreases a little.
When the model is light enough, it is encoded as is, and the operations needed to recover the initial resolution of the model are encoded as well.
Thus, a client can start by downloading the low resolution model, display it to the user, and keep downloading and displaying details as time goes by.
This process reduces the time a user has to wait before seeing something, and increases the quality of experience.
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=2]
\node (Top1) at (0.5, 1) {};
\node (A) at (0, 0.8) {};
\node (B) at (1, 0.9) {};
\node (C) at (1.2, 0) {};
\node (D) at (0.9, -0.8) {};
\node (E) at (0.2, -0.9) {};
\node (F) at (-0.2, 0) {};
\node (G) at (0.5, 0.5) {};
\node (H) at (0.6, -0.5) {};
\node (Bottom1) at (0.5, -1) {};
\node (Top2) at (3.5, 1) {};
\node (A2) at (3, 0.8) {};
\node (B2) at (4, 0.9) {};
\node (C2) at (4.2, 0) {};
\node (D2) at (3.9, -0.8) {};
\node (E2) at (3.2, -0.9) {};
\node (F2) at (2.8, 0) {};
\node (G2) at (3.55, 0) {};
\node (Bottom2) at (3.5, -1) {};
\draw (A.center) -- (B.center) -- (C.center) -- (D.center) -- (E.center) -- (F.center) -- (A.center);
\draw (A.center) -- (G.center);
\draw (B.center) -- (G.center);
\draw (C.center) -- (G.center);
\draw (F.center) -- (G.center);
\draw (C.center) -- (H.center);
\draw (F.center) -- (H.center);
\draw (E.center) -- (H.center);
\draw (D.center) -- (H.center);
\draw[color=red, line width=1mm] (G.center) -- (H.center);
\draw (A2.center) -- (B2.center) -- (C2.center) -- (D2.center) -- (E2.center) -- (F2.center) -- (A2.center);
\draw (A2.center) -- (G2.center);
\draw (B2.center) -- (G2.center);
\draw (C2.center) -- (G2.center);
\draw (F2.center) -- (G2.center);
\draw (E2.center) -- (G2.center);
\draw (D2.center) -- (G2.center);
\node at (G2) [circle,fill=red,inner sep=2pt]{};
\draw[-{Latex[length=3mm]}] (Top1) to [out=30, in=150] (Top2);
\draw[-{Latex[length=3mm]}] (Bottom2) to [out=-150, in=-30] (Bottom1);
\node at (2, 1.75) {Edge collapse};
\node at (2, -1.75) {Vertex split};
\end{tikzpicture}
\caption{Vertex split and edge collapse\label{sote:progressive-scheme}}
\end{figure}
\subsection{glTF}
In a recent standardization effort, the Khronos group has proposed a generic format called glTF (GL Transmission Format~\cite{gltf}) to handle all types of 3D content representations: point clouds, meshes, animated model, etc\ldots
glTF is based on a JSON file, which encodes the structure of a scene of 3D objects.
It can contain a scene tree with cameras, meshes, buffers, materials, textures, animations an skinning information.
Although relevant for compression, transmission and in particular streaming, this standard does not yet consider view-dependent streaming.
However, glTF in itself does not address the problem of view-dependent 3D streaming which is required for large scene remote visualisation.
\subsection{3D Tiles}
3D Tiles is a specification for visualizing massive 3D geospatial data developped by Cesium and built on glTF\@.
\copied{}
\subsection{Prefetching in NVE}
The general prefetching problem can be described as follows: what are the data most likely to be accessed by the user in the near future, and in what order do we download the data?
The simplest answer to the first question assumes that the user would likely access content close to the current position, thus would retrieve the 3D content within a given radius of the user (also known as the \textit{area of interest}, or AoI).
This approach, implemented in Second Life and several other NVEs (e.g.,~\cite{peer-texture-streaming}), only depends on the location of the avatar, not on its viewing direction.
It exploits spatial locality and works well for any continuous movement of the user, including turning.
Once the set of objects that are likely to be accessed by the user is determined, the next question is in what order should these objects be retrieved.
A simple approach is to retrieve the objects based on distance: the spatial distance from the user's virtual location and rotational distance from the user's view.
Other approaches consider the movement of the user and attempt to predict where the user will move to in the future.
Chan et al.~\cite{motion-prediction} and Li et al.~\cite{walkthrough-ve} predict the direction of movement from the user's mouse input pattern.
The predicted mouse movement direction is then mapped to the navigation path in the NVE\@.
Objects that fall in the predicted path are then prefetched.
CyberWalk~\cite{cyberwalk} uses an exponentially weighted moving average of past movement vectors, adjusted with the residual of prediction, to predict the next location of the user.
Hung et al.~\cite{prefetching-walkthrough-latency} cluster the navigation paths of users and use them to predict the future navigation paths.
Objects that fall within the predicted navigation path are prefetched. All these approaches work well for a navigation path that is continuous --- once the user clicks on a bookmark and jumps to a new location, the path is no longer continuous and the prediction becomes wrong.
Moving beyond ordering objects to prefetch based on distance only, Park et al.~\cite{caching-prefetching-dve} propose to predict the user's interest in an object as well.
Objects within AoI are then retrieved in decreasing order of predicted interest value to the user.
In~\cite{learning-user-access-patterns} investigates how to render large-scale 3-D scenes on a thin client.
Efficient scene prefetching to provide timely data with a limited cache is one of the most critical issues for remote 3-D data scheduling in networked virtual environment applications.
Existing prefetching schemes predict the future positions of each individual user based on user traces.
In this paper, we investigate scene content sequences accessed by various users instead of user viewpoint traces and propose a user access pattern-based 3-D scene prefetching scheme.
We make a relationship graph-based clustering to partition history user access sequences into several clusters and choose representative sequences from among these clusters as user access patterns.
Then, these user access patterns are prioritized by their popularity and users' personal preference.
Based on these access patterns, the proposed prefetching scheme predicts the scene contents that will most likely be visited in the future and delivers them to the client in advance.
In~\cite{remote-rendering-streaming} Lazem et al.\ investigate remote image-based rendering (IBR) as the most suitable solution for rendering complex 3D scenes on mobile devices, where the server renders the 3D scene and streams the rendered images to the client.
However, sending a large number of images is inefficient due to the possible limitations of wireless connections.
They propose a prefetching scheme at the server side that predicts client movements and hence prefetches the corresponding images.
Prefetching techniques easing 3D data streaming and real-time rendering for remote walkthroughs are considered in~\cite{prefetching-remote-walkthroughs}.
Culling methods, that don't possess frame to frame coherence, can successfully be combined with remote scene databases, if the prefetching algorithm is adapted accordingly.
We present a quantitative transmission policy, that takes the limited bandwidth of the network and the limited memory available at the client computer into account.
Also in the context remote visualization, Sisneros et al.~\cite{cache-remote-visualization} study caching and prefetching and optimize configurations of remote visualization architectures.
They aim at minimizing the fetch time in a remote visualization system and defend a practical infrastructure software to adaptively optimize the caching architecture of such systems under varying conditions (e.g.\ when network ressources vary).

View File

@ -1,81 +0,0 @@
\newpage
\section{3D Streaming}
\subsection{Progressive meshes}
It is not possible to speak about 3D streaming without speaking about progressive meshes.
Progressive meshes were introduced by Hughes Hoppe in 1996~\cite{progressive-meshes} and allow transmitting a mesh by send first a low resolution mesh, called \emph{base mesh}, and then transmitting detail information that a client can use to increase the resolution.
To do so, an algorithm, called \emph{decimation algorithm} removes vertices and faces by merging vertices (Figure~\ref{sote:progressive-scheme}).
Each time two vertices are merged, vertices and faces are removed from the original mesh, and the resolution of the model decreases a little.
When the model is light enough, it is encoded as is, and the operations needed to recover the initial resolution of the model are encoded as well.
Thus, a client can start by downloading the low resolution model, display it to the user, and keep downloading and displaying details as time goes by.
This process reduces the time a user has to wait before seeing something, and increases the quality of experience.
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=2]
\node (Top1) at (0.5, 1) {};
\node (A) at (0, 0.8) {};
\node (B) at (1, 0.9) {};
\node (C) at (1.2, 0) {};
\node (D) at (0.9, -0.8) {};
\node (E) at (0.2, -0.9) {};
\node (F) at (-0.2, 0) {};
\node (G) at (0.5, 0.5) {};
\node (H) at (0.6, -0.5) {};
\node (Bottom1) at (0.5, -1) {};
\node (Top2) at (3.5, 1) {};
\node (A2) at (3, 0.8) {};
\node (B2) at (4, 0.9) {};
\node (C2) at (4.2, 0) {};
\node (D2) at (3.9, -0.8) {};
\node (E2) at (3.2, -0.9) {};
\node (F2) at (2.8, 0) {};
\node (G2) at (3.55, 0) {};
\node (Bottom2) at (3.5, -1) {};
\draw (A.center) -- (B.center) -- (C.center) -- (D.center) -- (E.center) -- (F.center) -- (A.center);
\draw (A.center) -- (G.center);
\draw (B.center) -- (G.center);
\draw (C.center) -- (G.center);
\draw (F.center) -- (G.center);
\draw (C.center) -- (H.center);
\draw (F.center) -- (H.center);
\draw (E.center) -- (H.center);
\draw (D.center) -- (H.center);
\draw[color=red, line width=1mm] (G.center) -- (H.center);
\draw (A2.center) -- (B2.center) -- (C2.center) -- (D2.center) -- (E2.center) -- (F2.center) -- (A2.center);
\draw (A2.center) -- (G2.center);
\draw (B2.center) -- (G2.center);
\draw (C2.center) -- (G2.center);
\draw (F2.center) -- (G2.center);
\draw (E2.center) -- (G2.center);
\draw (D2.center) -- (G2.center);
\node at (G2) [circle,fill=red,inner sep=2pt]{};
\draw[-{Latex[length=3mm]}] (Top1) to [out=30, in=150] (Top2);
\draw[-{Latex[length=3mm]}] (Bottom2) to [out=-150, in=-30] (Bottom1);
\node at (2, 1.75) {Edge collapse};
\node at (2, -1.75) {Vertex split};
\end{tikzpicture}
\caption{Vertex split and edge collapse\label{sote:progressive-scheme}}
\end{figure}
\subsection{glTF}
In a recent standardization effort, the Khronos group has proposed a generic format called glTF (GL Transmission Format~\cite{gltf}) to handle all types of 3D content representations: point clouds, meshes, animated model, etc\ldots
glTF is based on a JSON file, which encodes the structure of a scene of 3D objects.
It can contain a scene tree with cameras, meshes, buffers, materials, textures, animations an skinning information.
Although relevant for compression, transmission and in particular streaming, this standard does not yet consider view-dependent streaming.
However, glTF in itself does not address the problem of view-dependent 3D streaming which is required for large scene remote visualisation.
\subsection{3D Tiles}
3D Tiles is a specification for visualizing massive 3D geospatial data developped by Cesium and built on glTF\@.

View File

@ -3,5 +3,8 @@
\input{state-of-the-art/video}
\resetstyle{}
\input{state-of-the-art/3d}
\input{state-of-the-art/3d-streaming}
\resetstyle{}
\input{state-of-the-art/3d-interaction}
\resetstyle{}

View File

@ -79,3 +79,25 @@ This is especially interesting in the context of 3D streaming since we have this
}
]{assets/state-of-the-art/video/srd.xml}
\end{figure}
\subsection{Prefetching in video steaming}
\copied{}
We briefly survey other research on prefetching that focuses on non-continuous interaction in other types of media.
In the context of navigating in a video, a recent work by carlier et al.~\cite{video-bookmarks} prefetches video chunks located after bookmarks along the video timeline.
Their work, however, focuses on changing the user behavior to improve the prefetching hit rate, by depicting the state of the prefetched buffer to the user.
Carlier et al.\ also consider prefetching in the context of zoomable videos in an earlier work~\cite{zoomable-video}, and showed that predicting which region of videos the user will zoom into or pan to by analyzing interaction traces from users is difficult.
Prefetching for navigation through a sequence of short online videos is considered by khemmarat et al in~\cite{user-generated-videos}.
Each switch from the current video to the next can be treated as a non-continuous interaction.
The authors proposed recommendation-aware prefetching --- to prefetch the prefix of videos from the search result list and related video list, as these videos are likely to be of interest to the user and other users from the same community.
Grigoras et al.~\cite{video-navigation-mpd} consider the problem of prefetching in the context of a hypervideo; non-continuous interaction happens when users click on a hyperlink in the video.
They propose a formal framework that captures the click probability, the bandwidth, and the bit rate of videos as a markov decision problem, and derive an optimal prefetching policy.
Zhao and Ooi~\cite{joserlin} propose joserlin, a generic framework for prefetching that applies to any non-continuous media, but focuses on peer-to-peer streaming applications.
They do not predict which item to prefetch, but rather focus on how to schedule the prefetch request and response.
There is a huge body of work on prefetching web objects in the context of the world wide web. Interested readers can refer to numerous surveys written on this topic (e.g.,~\cite{survey-caching-prefetching}).