Schemes for Video on demand Yuan-Shiang Yeh
Outline Introduction Previous Works Study Buffer Requirement Channel Adjustment Bandwidth reduction in multi-layer videos
introduction True VoD Batch Patch Near VoD Fast Data Broadcasting Harmonic Boradcasting
Comparison True VoDNear VoD Delay Timeno yes( 依方法不同 ) Receive TypePeer to PeerBroadcast Client numberdependentindependent Suitable Videoanyhot
Objective Bandwidth Ex: FB -> Pagoda -> New Pagoda Buffer Storage Ex: PB -> PPB Scalable (wide range) Ex: FB -> UD VCR Functionality Ex: Staggered Broadcast -> SAM Channel Adjustment Ex: FB -> Seamless Channel Transition I/O BANDWIDTH Ex: FB -> SB
Harmonic Broadcasting Scheme Parameters: Movie length --- D (e.g., 120 minutes) Consumption rate of the movie --- b (e.g., 10Mbps) Size of the movie --- S = D*b The movie is equally divide into N segments, and Si is the ith segment of the movie. Viewer waiting time --- d d = D / N D S1S1 S2S2 S3S3 S4S4 d bandwidth
Harmonic Broadcasting Scheme Parameters The ith segment of the movie Si is equally divided into i sub-segment(s) {S i, 1, S i, S i, i } Let the i sub-segment(s) of Si be put on a logical channel Ci, the bandwidth of Ci is b/i.
Harmonic Broadcasting Scheme The total bandwidth(B) allocated for the movie is as follows: Where H N is called the harmonic number of N B = b + b/2 + b/3 + b/4 = 2.083b H N = 1 + 1/2 + 1/3 + 1/4 = 2.083
S 3, 1 S 2, 1 S1S1 S 3, 2 S 3, 3 S 2, 2 S 4, 1 S 4, 2 S 4, 3 S 4, 4 D B S1S1 S1S1 S1S1 S1S1 S 2, 1 S 2, 2 S 2, 1 S 2, 2 S 3, 1 S 3, 2 S 3, 3 S 3, 1 S 4, 1 S 4, 2 S 4, 3 S 4, 4 C1C1 B C2C2 C3C3 C4C4 d Time Bandwidth S1S1 S 2, 1 S 3, 1 S 4, 1 S 2, 2 S 3, 2 S 4, 2 S 2, 1 S 3, 3 S 4, 3 S 3, 1 S 3, 2 S 4, 4 S 4, 1 S 4, 2 S 4, 3
Fast broadcasting scheme(FB) In FB scheme, we divide a movie into 2 k - 1 segments, k channels is needed. Waiting time: d = D / 7 ( D: the video length ) S1 S2 S4 S1 S3 S5 S1 S2 S6 S1 S3 S7 S1 S2 S4 S1 S3 S5 S1 S2 S6 S1 S3 S7 b Channel 1 Channel 2 Channel 3
S1S1 D d S2S2 S7S7 C1C1 C2C2 C3C3 · · · S1S1 S1S1 S1S1 S1S1 S1S1 S1S1 S1S1 S1S1 S2S2 S3S3 S2S2 S3S3 S2S2 S3S3 S2S2 S3S3 S4S4 S5S5 S6S6 S7S7 S4S4 S5S5 S6S6 S7S7 S2S2 S2S2 S2S2 S2S2 S1S1 S2S2 S4S4 S3S3 S5S5 S2S2 S6S6 S3S3 S7S7 S4S4
Pagoda Broadcasting Scheme C1C1 C2C2 C3C3 C 2k C 2k+1 … Segment S z needs to be transmitted at minimum frequency 1/(zd)
Pagoda Broadcasting Scheme SegmentsStreamBroadcasting Frequency S10 to S1441/10d S15 to S1951/15d S20 to S2941/20d S30 to S4951/30d 4z = 40
Example : kou ’ s research Segment number: 7 × 2 i, i = 0, 1, … 5; Number of channels: i + 4; Client buffer size: 2 i segments;
Buffer Requirement - FB C1C1 C2C2 C3C3 C4C Current segment Buffer
Buffer Requirement - FB Buffer Requirement = 7/15
Our permutation C1C1 C2C2 C3C3 C4C4 Current segment Buffer
Buffer Requirement - ours Theorem 1: Assuming that a video is equally divided into segments and allocated to n channels as Fast Data Broadcast did, our broadcasting schedule requires the minimum storage space. #
Result channelsFBkouours BufferTotal segment BufferTotal segment BufferTotal segment
Bandwidth - Algorithm 1 1. Divide channels into slots. Channel i would broadcast segment i. 2. For current segments k, find the slot with minimum wasted bandwidth. 3. Suppose the slot is divided into x subslots,then allocate the segment k to (x+k-1) to this slot. 4. Repeat 2~3 until no free slots.
1. Divide into slots C1 C2 C3 S1 S3 S2 free Broadcasting frequency = 1 free
2. Find suitable slot C1 C2 C3 S1 S3 S2 free Current segment = S4 free 1/2 * 1/2 - 1/4 = min
3. Allocate segments C1 C2 C3 S1 S3 S2 free Current segment = S4 free 1/2 * 1/2 - 1/4 = min Num of sub-slot = 2 S4S5
4.Repeat step 2~3 C1 C2 C3 S1 S3 S2 S6 S4S5 S7S8S9
Bandwidth - Algorithm 2 1. Divide free channel or slots with minimum wasted bandwidth for segment i. 2. Allocate segment i into current slots. 3. Repeat 1~2 until no enough free bandwidth.
Example for Algorithm 2 free C1 C2 C3 free S1 Broadcasting frequency = 1
Example for Algorithm 2 C1 C2 C3 S1 S3 S2 S4S5 free S6free
Result channelsFBPBAlgo. 1 NPBAlgo. 2 HB
Base Layer Enhancement Layer 1 Enhancement Layer channels 1 channels dummy popular
Delay in enhancement layer Delay Slots = k Frequency (S i ) = 1/(i+k) S1 1 1/2 S2 1/2 1/3 S7 1/7 1/8 Delay slots = 1
Example C1 C2 C3 Current segment = S1 S1 S2free S3 Current segment = S2 Current segment = S3
Result – delay slots Delay slots Algo Algo Channels = 6Number of segment in FB scheme = 63