"What's in a name? That which we call a RoSE by any other name would smell as sweet..."

RoSE Project

RoSE Implementation

RoSE architecture elements

RoSE project is composed of different programs, in particular:

Re Mux
Provides to split a raw video in two streams using the 2MD strategy;
AVstreamer
Transform video sequence codified by a generic encoder in to rtp traffic stream, that can feed the RoSE RTSP server;
RTP server
The RTP server is used to prepare a streaming from a rtp feeder on a rtp session that can be streamed to the clients. This server take as input rtp sessions and work as a rtp-proxy for the clients that want to play the streams;
Post Mux
Post Mux is the complementary of the Re-Mux. This module simple reassembles the streams coming from different rtp sessions when the client is able to manage more than one rtp session;
Media Stream Analyzer
Since RoSE is used to value the performance of particular techniques, when a video stream has been received, it is necessary to calculate the quality of the video received, respect to the original one. The module responsibles for this task is the Media Stream Analyzer
In the below figure 2 you can see a draw that represents the connection of the RoSE components just described. You can download the implementation of this elements from the Released Software section.
RoSE architecture diagram
Fig. 2: Diagram of the RoSE architecture
Back to index

Multiple descriptions strategy adapted, the 2MD technique

The RoSE project is especially focusing on moving some research techniques into practical streaming systems. As view in the Fig 1 of the general description section, the basic idea of RoSE is to divide the stream of a video in different rtp traffic flows, so the clients can receive different numbers of rtp flows depending on the network condition or on the hardware of the clients. This approach is usually called Multiple Description Code (MDC) and is part of the Scalable Video Coding (SVC) techniques. For RoSE project has been chosen to use a simple spatial 2MD technique. This technique is a typical and low-cost way to produce multiple descriptions. The basically idea is to partition the source data into several sets and then compress these independently to produce descriptions. The separation can be into odd- and even-numbered samples. In the spatial dimension, this corresponds to spatial sampling of frames into N subsets. For N= 2, two balanced descriptions can be generated by separating odd/even lines. This technique is denoted as spatial 2MD.

In spatial 2MD, each frame in the input video is separated into odd and even subframes at the Remux module of RoSE. The odd and the even subframes contain the odd and even lines, respectively. Therefore, the height of the frames are halved but the width does not change. In the following figure 3 it is possible to see the result of the 2MD technique.

2MD technique example

Fig. 3: 2MD technique example

These two descriptions are encoded with half the bit-rate of the original stream to keep the total bit-rate constant. Then these descriptions are offline-processed/streamed and merged at the Postmux to reconstruct the received video. All these MDC-related operations are performed in the data plane.
Back to index


[Home] [Research] [Released Software] [Documentation] [Contact]