\fresh{}
\section{Future work}

After all this, there is still plenty of avenues for improving our streaming system.

\subsection{Semantic information}
In all of this work, no attention has been paid towards semantic.
Our content preparation does not take anything like that into account, and our adaptation sets and segments surely will cut data that could be grouped semantically.
Having semantic support can help us have a better structure for our content: we know that displaying half a building will lead to low quality of experience.
Moreover, semantic data could also change the utilities we have been defining for our segments: some data can be marked as more important than other and this can be taken into account in our utilities.

\subsection{Compression / multi resolution for geometry}
In all of this work, no attention has been paid towards geometry compression or multi-resolution.
Geometry data is transmitted as OBJ files which is the worst possible format for transmission, and compression could drastically increase the quality of experience.
Being able to support multi resolution geometry would be even better, and even if performing multi resolution on a large and heterogeneous scene just like ours is difficult, we have no doubt that semantic information can help this task.

\subsection{Performance optimization}
Performance has already been discussed in Chapter~\ref{d3i}.
However, in this work, we never tried to remove data from the media engine when it is no longer useful.
This means that on a really large scene, performance is bound to become damaged due to the growing amount of data to render, and the saturation of memory.
For our system to be able to support such scenes, it needs to unload data.
The utility measures that we described in Section~\ref{d3:utility} seem to be a good candidate to determine what to unload.
We could watch the performance of our system by measuring variables such as memory used or framerate and use those values to discard data with low enough utility.
