Title: Video Splitting techniques for Inverse Multiplexing over GPRS channels
1Video Splitting techniques for Inverse
Multiplexing over GPRS channels
- Roll No 2006-03-0031
- M. Mudassar Nazar
2Roadmap
- Introduction
- Video Splitting Techniques
- Work accomplished
- Challenges Faced
- Future work
- References
- Questions
3IntroductionMajor HurdleMultimedia Apps.
- Scarcity of Bandwidth
- Major hurdle in deployment of multimedia
applications - Situation in our country
- In our country, dialup is a major method to
access the internet - DSL is limited to specific areas
- In rural areas even dial up access is limited
4Introduction cont. Telecom Revolution
5Introduction cont. Problem Formulation
- What can we do?
- Idea is simple?
6Introduction cont.Problem Formulation
- What can we do?
- Idea is simple?
- Aggregate Bandwidth
- also known as Inverse
- Multiplexing
7Introduction cont.Motivation
- Telemedicine
- Video lecturing
- Video on demand
8Introduction cont. Inverse Multiplexing
S
A
B
Input i.e. video
N network channels
M data packets
M data packets
9Introduction cont. Inverse Multiplexing
S
A
B
Input i.e. video
N network channels
M data packets
M data packets
- Link Layer ML PPP1 - Transport Layer2
10Introduction cont. Schedulingis at core
A
B
N network channels
M data packets
M data packets
Scheduling
11Introduction cont. Schedulingis at core
b
b
A
B
b
b
N network channels
M data packets
M data packets
Scheduling
12Introduction cont. Schedulingis at core
b1
b2
A
B
b3
b4
N network channels
M data packets
M data packets
Scheduling
13Introduction cont. Inverse Multiplexing
S
A
B
Input i.e. video
N network channels
M data packets
M data packets
Scheduler
14Introduction cont. Inverse Multiplexing
S
A
B
Input i.e. video
N network channels
M data packets
M data packets
Scheduler
Splitting
15Video Splitting Techniques
- MobiStream 4 explains four major video
splitting categories - Partitioning of video frames into slices
- Multiple Description Coding
- Slice Structured Coding
- Inter-frame/ intra-frame slice interleaving
16Video Splitting TechniquesBlock Interleaving
- Different Block interleaving techniques are
proposed in 5 - Triangular
- Quadrant
- Coefficient
17Video Splitting TechniquesTriangular Interleaving
- In this, a DCT block is divided into two groups.
Lower triangular region and the upper triangular
region. - Then these groups from different blocks are
interleaved in such a way that if a lower portion
of the triangle is lost, then there is high
probability that higher portion is not lost and
vice versa. - DC coefficients are grouped in a separate block
and can be transmitted on a reliable channel.
18Video Splitting TechniquesQuadrant Interleaving
- In this, a DCT block 8x8 is divided into four
groups instead of two namely, L, HD, VD, and HI. - A macro block of 16x16 is made from above blocks
and number in a clock wise manner from 0 to 3. - Select Li (i 0,1,2,3) and HDi1, HIi2 and UDi3
from others to form new interleaved 8x8 blocks
within the16x16 block.
19Video Splitting TechniquesCoefficient
Interleaving
- This scheme treats each DCT coefficient as a
group - Main idea is to shuffle the coefficients.
- Lets say if we have 63 groups in a block. Then we
take first group from block 1, second from block
2 to interleave. - This scheme works on the coefficient level.
Although this produces high degree of
interleaving but this also compromises on
compression efficiency.
20Work Accomplished
- Experiments to check the behavior of real GPRS
channels (Warid) - Built an application layer that can
- Identify new GPRS devices and make connection
with them using Bluetooth - Maintains a list of available GPRS devices for
scheduling purpose. - Provide an interface to outer world to schedule
packets. - Note RR Scheduling being used in the layer.
21Work AccomplishedExperiments
- Different experiments for GPRS have been
performed in order measure - RTT
- Using ping
- Jitter
- ji ti-ti-1- a
- Where
- ji is the jitter for ith observation
- ti is the receiver time stamp for ith packet
22Work AccomplishedExperiments
- ti-1 is the receiver time stamp for (i-1)th
packet - and
- a is the time spacing for generation of two
consecutive packets at sender. - and bandwidth estimation
- Using pathload (a bandwidth measurement tool)3
23Work AccomplishedExperimentsRTT Variation
24Work AccomplishedExperimentsJitter (a1s)
25Work AccomplishedExperimentsJitter (a2s)
26Work AccomplishedExperimentsstatistics
27Work AccomplishedExperimentsBandwidth
- Using pathload3, we have measured the
available bandwidth around 5 times. It was
ranging from 2kbps to 4kbps depending on the time
it was measured. - Horde 2 measurement shows that it was around
19kbps during day and 25kbps at nightvalidate it
(a real point to be noted)
28Work AccomplishedExperimentsconcluding remarks
- High variability is giving us a clue that
whatever is the architecture of inverse
multiplexer, we need a sophisticated scheduling
scheme for the best performance. And we need
video splitting technique that is resilient to
losses. - Different levels of jitter is experienced for
different values of a. - The bandwidth estimation gap between our and
Horde is pointing us towards - Either our measurement methodology has problems
or - We need to work on the feasibility of Inverse
Multiplexing in Pakistan.
29Work AccomplishedScheduling layer
- This layer provides
- Provide an interface to outer world in order to
schedule packets - Identify new GPRS devices and make connection
with them using Bluetooth - Maintains a list of available GPRS devices for
scheduling purpose.
30Work AccomplishedScheduling layerMain Components
- Device Discoverer
- Channel Manager
- Scheduler
- Shell Scripts
- Used by the main components
31Work AccomplishedScheduling layerDevice
Discoverer
- Its responsibilities are
- To search new devices after periodic intervals
- To make connection with them
- To create a new routing table and rule for this
particular interface - And adding them to devices list
32Work AccomplishedScheduling layerChannel Manager
- Its responsibility is synchronize the device list
to actual available channels - It handles
- Removal of devices from the device list that
disappeared - Addition of some missing Blue channels
33Work AccomplishedScheduling layerScheduler
- Its responsibility is
- to queue the data transfer requests from above
layer - and schedule them to the available blue channels
in a round robin fashion.
34Work AccomplishedScheduling layerScripts
- These scripts are used by other components to
perform various tasks - makeConnection.sh
- To make connection with the device just
discovered. This is used by the Device Discoverer - This scripts also releases the unused rfcomm
devices - getLastInterfaceDetails.sh
- To get the IP and other parameters of the current
device we have made connection with. This is also
used by the Device Discoverer
35Work AccomplishedScheduling layerScripts cont.
- getPPPInterfaces.sh
- This is used by the Channel Manager in order get
all available blue channels at this particular
time. - init_alternate_route.sh
- This is also used by both, the Device Discoverer
and Channel Manager, to create a separate routing
table and rule for a blue channel. - init_route.sh
- This is called at start of the program in order
to initialize routing table for Ethernet
interface (if any)
36Challenges Faced
- Following are some the challenges faced during
the implementation of above layer - How to make a GPRS connection using API. API
selection, understanding it and using it for our
purpose. - I have used avetana Bluetooth stack and pppd to
make a connection over rfcomm. - How to use multiple default routes. As we have
different links to internet. - This is accomplished using ip utility in Linux.
The idea is simple that we create a separate
routing table for each interface and then make a
rule to use that table if data originates from
that particular interface.
37Future Work
- Following areas can be explored
- Experimenting with different video splitting
techniques described above using the simple
scheduling layer implemented above. - Defining a better scheduling scheme that
maximizes the performance of the inverse
multiplexer. This include the rate control on
different links to reduce packet loss
38References
- 1 Alex C. Snoeren, Adaptive Inverse
Multiplexing for wide-area wireless networks,
Proceedings of IEEE GlobeCom99 - 2 Qureshi A. and Guttag J., Horde Separating
Network Striping Policy from Mechanism, ACM
MOBISYS05 - 3 Manish Jain, Constantinos Dovrolis,
Pathload A Measurement Tool for End-to-End
Available Bandwidth, in Proceedings of 3rd
Passive and Active Measurements Workshop, Fort
Collins, March 2002. - 4 Rajiv Chakravorty, Suman Banerjee, Samrat
Ganguly, MobiStream Error-Resilient Video
Streaming in Wireless WANs using Virtual
Channels, Proceedings of IEEE Infocom 2006
39Questionif you still have any?