Packetizing scalable streams in heterogeneous peer to-peer networks

17
A. Sentinelli, A. Kumar, T. Anselmo, B. Rossi, L. Fragneto STMicroelectronics Advanced System Technology (AST) Agrate Brianza (MB), Italy PACKETIZING SCALABLE STREAMS IN HETEROGENEOUS PEER-TO-PEER NETWORKS ICME 2011 Barcelona

description

 

Transcript of Packetizing scalable streams in heterogeneous peer to-peer networks

Page 1: Packetizing scalable streams in heterogeneous peer to-peer networks

A. Sentinelli, A. Kumar, T. Anselmo, B. Rossi, L. Fragneto

• STMicroelectronics • Advanced System Technology (AST)• Agrate Brianza (MB), Italy

PACKETIZING SCALABLE STREAMS IN HETEROGENEOUS PEER-TO-PEER NETWORKS

ICME 2011 Barcelona

Page 2: Packetizing scalable streams in heterogeneous peer to-peer networks

AGENDA

• Introduction– Industrial Scenario– The idea in a nutshell

• Background– SVC and P2P together– P2P Next

• Splitter– Issues – P2P-Next solution– (propose solution) Adaptive Splitter

• Experiments and results• Conclusions

Page 3: Packetizing scalable streams in heterogeneous peer to-peer networks

The Internet

Scenario: delivery to different networks

SVC can offer easy adaptation to:– Desired QoS

– Bandwidth conditions

– Terminal capabilities

SameScalable Video

MediaServer

IPTV Set-Top Box

Just “cut” portions of the stream (No additional cost)Hierarchical coding (Just take the layers that I need)One content stream at server side (less storage)

Page 4: Packetizing scalable streams in heterogeneous peer to-peer networks

Background: P2P-Next project

Network Layer : P2P (File-Sharing, Streaming)

Application Layer: Layered Video Coding (SVC, MDC, others…)

GOAL:

To combine P2P and Layered Video Coding

Network scalability Video quality scalability

Page 5: Packetizing scalable streams in heterogeneous peer to-peer networks

The idea in a nutshell

• P2P-Next EU project. Integration’s challenge :– Big picture view;– Interface designs among modules/layers/protocols;– Backward compatibility;

High chance of bottleneck or general loss of efficiency (overhead)

We found a strong lack of performance in the module that packetizes the Video stream into a P2P packet

We compare two types of packetization methods

Page 6: Packetizing scalable streams in heterogeneous peer to-peer networks

Background: P2P - synergy with SVC

S2

S1

Main server

The server delivers two different streams independently encodedStream S1 = Low QualityStream S2 = High Quality

OLD: Overlays can NOT cooperate

The server delivers two layers (Base + Enhancement):Stream S1 = Base LayerStream S2 = Base + Enh Layer

Base LayerEnh LayerBase + Enh Layer S2

S1

Main server

NEW: Overlays able to cooperate

Interface between the P2P and the Layered Video Coding engine

Page 7: Packetizing scalable streams in heterogeneous peer to-peer networks

Background: P2P – Next, full system

We focused

\

We found a “problem”

• Backward compatibility with P2P systems• IDR synchronization among NALU of different layers

Page 8: Packetizing scalable streams in heterogeneous peer to-peer networks

8

From NALU to Blocks: overhead

• The Splitter parses and puts NALUs to respective layers

• Re-encapsulates the stream into Blocks for the P2P engine

CONSTRAINT: backward compatibility with torrent-like system

• ALL blocks must have the same size ( NALU type 12 *)

*(stuffing bits)

Overhead

Page 9: Packetizing scalable streams in heterogeneous peer to-peer networks

From NALU to Blocks: frames skipped

Video Encoder

BL NALU BL NALU BL NALU BL NALU BL NALU BL NALU BL NALU

EL1 NALU EL1 NALU EL1 NALU EL1 NALU EL1 NALU EL1 NALU EL1 NALU

EL2 NALU EL2 NALU EL2 NALU EL2 NALU EL2 NALU EL2 NALU EL2 NALU

InputPictures

Peer-to-PeerEngine

BL NALU BL NALU BL NALU BL NALU BL NALU BL NALU BL NALU BL NALU

BL CHUNK BL CHUNK BL CHUNK

EL1 NALU EL1 NALU EL1 NALU EL1 NALU EL1 NALU EL1 NALU EL1 NALU EL1 NALU

EL1 CHUNK EL1 CHUNK EL1 CHUNK

EL2 NALU EL2 NALU EL2 NALU EL2 NALU EL2 NALU EL2 NALU EL2 NALU

EL2 CHUNK EL2 CHUNK EL2 CHUNK

RAP PictureNALUs

Non-RAP PictureNALUs

Encapsulation

When a NALU doesn't fit into the block it is simply dropped

LAYERS MUST BE KEPT SYNCHRONIZED

All Blocks must have the same number of frames

Page 10: Packetizing scalable streams in heterogeneous peer to-peer networks

P2P-Next Splitter: packetization trade -off

• What is the best [Bs, Nfr] ? (Bs : Block size)

(trade off) Keep all frames vs Less Overhead

BlockSize Num Frames

%frame skipped

On avg, given a bitrate B, the optimal trade off is when : Bs =Nfr· AvgFrB

AvgFrB : average size of a Frame given a bitrate B

One block per IDR, with Nfr (Number of Frames per block)

Page 11: Packetizing scalable streams in heterogeneous peer to-peer networks

P2P-Next Splitter vs Adaptive Splitter

• P2P-Next approach: a unique block to embrace an IDR period

• Adaptive Splitter: many smaller (same size) blocks to cover until needed an IDR period (a black scene has less information than a panorama)

The Adaptive Splitter never discards frames

Page 12: Packetizing scalable streams in heterogeneous peer to-peer networks

Adaptive Splitter: Adaptive blocks Mapping

Final Stream

#blocks EL2

#blocks EL1

#blocks BL

2

3

4

BL 0,1 block BL 0,2 block

EL1,1 block EL 1,2 block EL 1,3 block

EL 2,1 block EL 2,2 block EL 2,3 block EL 2,4 block

Block Mask IDRi

Headers to identify the blocks Mask (blocks per IDR per Layer )

(2,3,4) BL 0,1 BL 0,2EL1,1 EL 1,2 EL 1,3EL 2,1 EL 2,2 EL 2,3 EL 2,4 (2,2,2) BL 0,1 BL 0,2EL1,1 EL 1,2EL 2,1 EL 2,2 (...)

time

Quality

IDRi IDRi+1

#blocks per IDR is dependent by each IDR size

“So… why not choosing a block of one 1 byte?”

1. Too much signaling overhead…2. Because of the backward compatibility: (BitTorrent) MIN size=16kB

Page 13: Packetizing scalable streams in heterogeneous peer to-peer networks

Experiments and results

• Theoretical model:

100%Bsize/B IDRTarget

Bmod size IDRTarget B O

sshead

ss

0

20

40

60

80

100

120

Block size (kB)

% Theoretical OVH L0 L1 L2

% Theoretical OVH L3

0

20

40

60

80

100

120

Block size (kB)

% OVH L0 L1 L2 (AVG)% OVH L3

When the overhead decreases, the IDR size gets close to a multiple of Bs

Page 14: Packetizing scalable streams in heterogeneous peer to-peer networks

Experiments and results

• The best Bs is not always the smallest one:

0

20

40

60

80

100

120

Block size (kB)

%AVG OVH L0 L1 L2 L3

My Bs

Page 15: Packetizing scalable streams in heterogeneous peer to-peer networks

Experiments and results

• Experiments on 6 sequences (5 short ones + 1 HD)

• On the whole, the adaptive approach gives up to:– ≈77% decrease in overhead, – ≈16% less of bandwidth

MinSize [kB]

OH [%]

Range [kB]

Min OH [%]

Avg Min OH [%]

City 30 119 19% [16-119] 5.4 13.5 71 11.4

Crew 30 132 29% [16-132] 6.5 15 77 17.4

Soccer 30 126 26% [16-126] 6.3 14.3 67 15.6

Tree 25 165 30% [16-165] 5.7 13.6 81 18.6

Flight 25 138 14% [16-138] 4 8.5 77 11.9

Home 24 240 38% [16-240] 5.7 13.1 85 23

Gained OH [%]

Gained BW [%]

Sequences frmR [fr/s]P2P Next Splitter Adaptive Splitter

Page 16: Packetizing scalable streams in heterogeneous peer to-peer networks

Conclusions

• We have described the architecture of a P2P-SVC solution and the issues that overcome during the integration

• Performance comparison in terms of overhead of between the P2P-Next and the Adaptive Splitter

• Results show a remarkable gain (16% bandwidth), confirmed by our mathematical model

• The Adaptive Splitter doesn’t require a priori knowledge of block size to preserve all frames: good candidate for live streaming scenario

Page 17: Packetizing scalable streams in heterogeneous peer to-peer networks

THANK YOU !