View
226
Download
0
Tags:
Embed Size (px)
Citation preview
Video Splitting techniques for Inverse Multiplexing over GPRS channels
Roll No: 2006-03-0031
M. Mudassar Nazar
2
Roadmap
Introduction Video Splitting Techniques Work accomplished Challenges Faced Future work References Questions
3
IntroductionMajor Hurdle—Multimedia 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 area’s even dial up access is limited
6
Introduction— cont.Problem Formulation
What can we do?
Idea is simple?
Aggregate Bandwidth– also known as Inverse
Multiplexing
8
Introduction– cont. Inverse Multiplexing
A
N network channels
M data packets
M data packets
BS
Input i.e. video
9
Introduction– cont. Inverse Multiplexing
A
N network channels
M data packets
M data packets
BS
Input i.e. video
- Link Layer ML PPP[1]- Transport Layer[2]
10
Introduction– cont. Scheduling—is at core
A
N network channels
M data packets
M data packets
B
Scheduling
11
Introduction– cont. Scheduling—is at core
A
N network channels
M data packets
M data packets
B
Scheduling
bbbb
12
Introduction– cont. Scheduling—is at core
A
N network channels
M data packets
M data packets
B
Scheduling
b1b2b3b4
13
Introduction– cont. Inverse Multiplexing
A
N network channels
M data packets
M data packets
BS
Input i.e. video
Scheduler
14
Introduction– cont. Inverse Multiplexing
A
N network channels
M data packets
M data packets
BS
Input i.e. video
SchedulerSplitting
15
Video 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
16
Video Splitting TechniquesBlock Interleaving
Different Block interleaving techniques are proposed in [5] :
– Triangular– Quadrant– Coefficient
17
Video 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.
18
Video 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 HDi+1, HIi+2 and UDi+3
from others to form new interleaved 8x8 blocks within the16x16 block.
19
Video 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.
20
Work 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.
21
Work AccomplishedExperiments
Different experiments for GPRS have been performed in order measure:
RTT– Using ping
Jitter
ji = │ti-ti-1- α│Where
ji is the jitter for ith observation
ti is the receiver time stamp for ith packet
22
Work AccomplishedExperiments
ti-1 is the receiver time stamp for (i-1)th packet and α is the time spacing for generation of two
consecutive packets at sender.
and bandwidth estimation– Using pathload (a bandwidth measurement
tool)[3]
23
Work AccomplishedExperiments—RTT Variation
Figure 1
0
500
1000
1500
2000
2500
1 75 149 223 297 371 445 519 593 667 741 815 889 963
Time
RT
T(m
s)
24
Work AccomplishedExperiments—Jitter (α=1s)
Figure 2
0
500
1000
1500
2000
0 200 400 600 800 1000
Time
Jit
ter(
ms)
25
Work AccomplishedExperiments—Jitter (α=2s)
Figure 3
0
200
400
600
800
1000
1200
1400
1600
0 200 400 600 800 1000 1200
Time
Jit
ter(
ms)
26
Work AccomplishedExperiments—statistics
Experiments Mean Dev. Max. Min. Loss
RTT 588 353 2367 204 5%
Jitter(1s) 333 289 1830 0 2.6%
Jitter(2s) 149 208 1390 0 2.2%
27
Work AccomplishedExperiments—Bandwidth
Using pathload[3], 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 night—validate it (a real point to be noted)
28
Work AccomplishedExperiments—concluding 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 α.
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.
29
Work 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.
30
Work AccomplishedScheduling layer—Main Components
Device Discoverer Channel Manager Scheduler
Shell Scripts– Used by the main components
31
Work AccomplishedScheduling layer—Device 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
32
Work AccomplishedScheduling layer—Channel 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
33
Work AccomplishedScheduling layer—Scheduler
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.
34
Work AccomplishedScheduling layer—Scripts
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
35
Work AccomplishedScheduling layer—Scripts 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)
36
Challenges 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.
37
Future 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
38
References
[1] Alex C. Snoeren, “Adaptive Inverse Multiplexing for wide-area wireless networks”, Proceedings of IEEE GlobeCom’99
[2] Qureshi A. and Guttag J., “Horde: Separating Network Striping Policy from Mechanism”, ACM MOBISYS’05
[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