35
Adaptive Video Adaptive Video Streaming Over Streaming Over Internet Using Internet Using Dynamic Video Dynamic Video Transcoding Transcoding By Lam Ling Shun, Felix By Lam Ling Shun, Felix

Adaptive Video Streaming Over Internet Using Dynamic Video

  • Upload
    ronny72

  • View
    590

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Adaptive Video Streaming Over Internet Using Dynamic Video

Adaptive Video Adaptive Video Streaming Over Internet Streaming Over Internet

Using Dynamic Video Using Dynamic Video TranscodingTranscoding

By Lam Ling Shun, FelixBy Lam Ling Shun, Felix

Page 2: Adaptive Video Streaming Over Internet Using Dynamic Video

ContentContent

►BackgroundBackground►System ModelSystem Model►Real-time Heuristic Rate Control Real-time Heuristic Rate Control

AlgorithmAlgorithm►Trace-driven Simulation ResultsTrace-driven Simulation Results►Conclusions and Future ResearchConclusions and Future Research

Page 3: Adaptive Video Streaming Over Internet Using Dynamic Video

BackgroundBackground

► Problem of no global QoS to Video streamingProblem of no global QoS to Video streaming UDP – Packet lossesUDP – Packet losses TCP – Packet DelayTCP – Packet Delay

Bandwidth

Internet

Video Quality Degradation

Page 4: Adaptive Video Streaming Over Internet Using Dynamic Video

BackgroundBackground

►Solution 1: TCP-friendly streaming controlSolution 1: TCP-friendly streaming control Reduce network congestionReduce network congestion Smoother Transmission RateSmoother Transmission Rate Controlled and predictable delayControlled and predictable delay Examples:Examples:

►LIMD/H by Kim, Lu and Bharghavan [1]LIMD/H by Kim, Lu and Bharghavan [1] LIMD with packet loss differentiationLIMD with packet loss differentiation

►SCP (Streaming Control Protocol) by Cen, Pu and SCP (Streaming Control Protocol) by Cen, Pu and Walpole [2]Walpole [2]

Combine rate-based and window-based flow controlCombine rate-based and window-based flow control

Page 5: Adaptive Video Streaming Over Internet Using Dynamic Video

BackgroundBackground

►Solution 2: Video Rate AdaptationSolution 2: Video Rate Adaptation Adapt the video content to available network Adapt the video content to available network

bandwidthbandwidth Examples:Examples:

►Jacobs and Eleftheriadis’s algorithm [3]Jacobs and Eleftheriadis’s algorithm [3] Maintain Server buffer occupancyMaintain Server buffer occupancy

►Cuetos and Ross’s algorithm [4]Cuetos and Ross’s algorithm [4] Maintain Client buffer occupancyMaintain Client buffer occupancy

Works well on TCP and other TCP-friendly streWorks well on TCP and other TCP-friendly streaming control [4]aming control [4]

Page 6: Adaptive Video Streaming Over Internet Using Dynamic Video

System ModelSystem Model

M P E G- 1E n c o de d

Vide o

T r an s c o d er

R ate C o n tr o lIn

terne

t

D ec o d er

c ( t)

c ( t) b ( t)

b ( t) Bm ax

B( t)

b m ax b m ax

b m in

S e rve r C lie n t

b1b2

b3

b4

TCP

Page 7: Adaptive Video Streaming Over Internet Using Dynamic Video

System Model – Server SideSystem Model – Server Side

►TranscoderTranscoder MPEG-1 TranscoderMPEG-1 Transcoder

Transcoder

bmax

Video bit rate

bmax

TranscodedVideo bit rate

Original Video Transcoded Video

bmin

Page 8: Adaptive Video Streaming Over Internet Using Dynamic Video

System Model –Server SideSystem Model –Server Side

►Assumptions on TranscoderAssumptions on Transcoder NEGLIGIBLE transcoding timeNEGLIGIBLE transcoding time CBR-encoded video CBR-encoded video Same Same bbmaxmax along the vid along the vid

eoeo Constant Constant bbminmin along the video along the video Note: In practice, Note: In practice, bbmin min varies along the videovaries along the video

bmax

TranscodedVideo bit rate

bmin

Page 9: Adaptive Video Streaming Over Internet Using Dynamic Video

►Rate ControlRate Control

System Model – Server SideSystem Model – Server Side

Rate Control

Video bit rate b(t)

TCP Throughput C(t)

Client Buffer Occupancy B(t)

Page 10: Adaptive Video Streaming Over Internet Using Dynamic Video

System Model – Server SideSystem Model – Server Side

►Rate Control (Cont’)Rate Control (Cont’) GoalGoal

►Minimize probability of client buffer underflowMinimize probability of client buffer underflow►Maximize average transcoded video bit rateMaximize average transcoded video bit rate

PrinciplePrinciple►Maintain a certain level of client buffer occupancy Maintain a certain level of client buffer occupancy

(in terms of seconds worth of video data)(in terms of seconds worth of video data)

Page 11: Adaptive Video Streaming Over Internet Using Dynamic Video

System Model – Server SideSystem Model – Server Side

►Rate Control (Cont’)Rate Control (Cont’) Slot-based Rate ControlSlot-based Rate Control

►The video bit rate is determined for each video segThe video bit rate is determined for each video segment with playback duration ment with playback duration MM..

►Choice of Choice of MM Small Small More adaptive to bandwidth fluctuation. More adaptive to bandwidth fluctuation. Limited by the resolution of the Transcoder.Limited by the resolution of the Transcoder. Affect the complexity of the system.Affect the complexity of the system.

bmax

bmin

Transcoded Video bit rate

Video time

b1

b2

b3

b4

M

M

MM

Page 12: Adaptive Video Streaming Over Internet Using Dynamic Video

System Model – Client SideSystem Model – Client Side

► Initial PrefetchInitial Prefetch Initially, the client prefetches up to Initially, the client prefetches up to BBTT secondsecond

s’ worth of video data with bit rate s’ worth of video data with bit rate bbmax max beforbefore decoding.e decoding.

BBTT

TT0 0 ((Prefetch delayPrefetch delay))Transmission Time

Clie

nt

Buff

er

Occ

upancy

BBTT

bbmaxmax

Video time

Vid

eo b

it r

ate

Page 13: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

► ImmediatelyImmediately after a slot has been sent, the after a slot has been sent, the video bit rate for the next slot is calculated.video bit rate for the next slot is calculated.

►Estimates of the Estimates of the TCP throughputTCP throughput and and clienclient buffer occupancyt buffer occupancy are used in the calculat are used in the calculation.ion.

►Reasons for estimating client buffer occupReasons for estimating client buffer occupancy at the server:ancy at the server: Reduce overhead of client feedbackReduce overhead of client feedback Compatibility with existing video clients, eg. MCompatibility with existing video clients, eg. M

ediaPlayer.ediaPlayer.

Page 14: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

►Estimation of Customer Buffer Occupancy (Estimation of Customer Buffer Occupancy (BBk k )) Case 1: No client buffer underflow has occurredCase 1: No client buffer underflow has occurred

TT00

BBTT

TTkk Time when the k th slot has been sent

TTkk-T-T00

kMkM

Cumulative Data Consumed

Cumulative Data Transmitted

0

Transmission time

Cum

ula

tive V

ideo D

ata

(se

conds)

B(t)

t

BBkk = = BBkk’’=kM – (=kM – (TTkk-T-T0 0 ))

Bk

Page 15: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

►Estimation of Customer Buffer Occupancy (Estimation of Customer Buffer Occupancy (BBk k )) Case 2: Client Buffer Underflow has occurred Case 2: Client Buffer Underflow has occurred

Client buffer underflow found at the time the u th slot has been sent

Transmission time

Cum

ula

tive V

ideo D

ata

(se

conds)

Tu TTkk

uM

uM+TuM+Tkk--TTuu

kMBk

BBkk = = BBkk’’=(=(k-uk-u))MM – ( – (TTkk-T-Tu u ))

The previous client bufferunderflow encountered

Page 16: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

►Estimation of average TCP throughput for Estimation of average TCP throughput for sending the sending the k+1 k+1 th slot (th slot (DDk+1k+1’’ ))

Ci-W+1

…Ci-W+2

Ci

ii-1i-W+2i-W+1 Tk

Cavg_W

i+1

TC

P t

hro

ugh

put

Transmission time

Dk+1’=MIN(Ci , Cavg_W)

Page 17: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control AlgoritReal-time Heuristic Rate Control Algorithmhm

0

200000

400000

600000

800000

1000000

1200000

1400000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52

Actual Throughput Estimation

Page 18: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

►Compute Compute bbk+1k+1:: Case 1: Case 1: BBkk’’ <= <= BBTT

►Target: Target: BBk+1k+1==BBTT

►BBT T = = BBkk’ ’ ++M M -- b bk+1k+1M M //DDk+1k+1’’

Bk’BT

bk+1M /Dk+1’

M

bbk+1k+1 =[1- (=[1- (BBTT - - BBkk’ ’ ) /) /M M ] ] DDk+1k+1’’

Page 19: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

►Compute Compute bbk+1k+1:: Case 2: Case 2: BBkk’’ > > BBTT

►Target: Target: BBk+1 k+1 ==aBaBTT++(1-a) B(1-a) Bkk’ , 0<=a<=1’ , 0<=a<=1►a a is used to trade offis used to trade off

between between average video bit rate andaverage video bit rate andclient buffer underflow ratioclient buffer underflow ratio Bk’BT

bk+1M /Dk+1’

M

aBaBTT++(1-a) B(1-a) Bkk’’

bk+1=[1- =[1- aa((BBTT - - BBkk’ ’ ) /) /M M ] ] DDk+1k+1’’

Page 20: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

► Heuristic AlgorithmHeuristic AlgorithmFor For kk = = TT00/M /M to to nn -1: -1:Step 1: Compute Step 1: Compute BBkk

’’ and and DDkk’’

Step 2: Compute the value of Step 2: Compute the value of bbk+1k+1::If If BBkk

’’ <= <= BBT T

bbk+1 k+1 = [1-(= [1-(BBT T - - BBkk’’ )/)/MM] ] DDk+1k+1

’’ else else

bbk+1 k+1 = [1-= [1-aa((BBT T - - BBkk’’ )/)/MM] ] DDk+1k+1

’’

Step 3: Step 3: bbk+1 k+1 =MIN(MAX(=MIN(MAX(bbk+1 k+1 , , bbminmin ), ), bbmaxmax))

Page 21: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

► Problem of overestimating Problem of overestimating DDk+1k+1 DDk+1k+1’ ’ >>>> D Dk+1k+1

Bk’BT

bk+1M /Dk+1’

M

bk+1M /Dk+1

Client buffer underflow!!

Page 22: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

►Transmission Deadline Strategy (TDS)Transmission Deadline Strategy (TDS) The transmission Deadline (The transmission Deadline (XXk+1k+1) )

= The time at which the= The time at which the transmission of the transmission of the k+1k+1 th slot is expected th slot is expected to end to end

= = TTkk + + bbk+1k+1M M //DDk+1k+1’’ Any unsent data at the serverAny unsent data at the server

buffer would be discarded at buffer would be discarded at XXk+1 k+1 ,,a new slot would be formeda new slot would be formed

Bk’BT

bk+1M /Dk+1’

M ’

bk+1M ’ /Dk+1

Probability of client buffer underflow reduced

Page 23: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

►Source of tracesSource of traces Throughput trace of a persistent TCP Throughput trace of a persistent TCP

connection between University of Science connection between University of Science and Technology of China (USTC) and and Technology of China (USTC) and CUHKCUHK

Number of hops: 15Number of hops: 15 Time : 11:00 a.m. to 8:00 p.m. (9 hours)Time : 11:00 a.m. to 8:00 p.m. (9 hours) The 9-hour trace is divided into 9 1-hour The 9-hour trace is divided into 9 1-hour

traces for simulationstraces for simulations

Page 24: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

►System settingsSystem settings bbmaxmax = 1.1 Mbps = 1.1 Mbps bbminmin = 200 Kbps= 200 Kbps BBT T = 5 seconds= 5 seconds WW = 2 = 2 MM = 1 second = 1 second BBmaxmax = 50 MBytes = 50 MBytes

Page 25: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

► Maximum Average Video bit rate for underflow ratio = 0Maximum Average Video bit rate for underflow ratio = 0

0

200000

400000

600000

800000

1000000

1200000

1 2 3 4 5 6 7 8

Trace Number

Max

Ave

rage

Vid

eo b

it ra

te (b

ps)

CR

DVT

JE

DVT-TDS

Page 26: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

► Maximum Average Video bit rate for underflow ratio = Maximum Average Video bit rate for underflow ratio = 0.0040.004

0

200000

400000

600000

800000

1000000

1200000

1 2 3 4 5 6 7 8

Trace Number

Max

Ave

rage

Vid

eo b

it ra

te (b

ps) CR

DVT

JE

DVT-TDS

Page 27: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

► Maximum Average Video bit rate for underflow ratio = Maximum Average Video bit rate for underflow ratio = 0.0080.008

0

200000

400000

600000

800000

1000000

1200000

1 2 3 4 5 6 7 8

Trace Number

Max

Ave

rage

Vid

eo b

it ra

te (b

ps)

CR

DVT

JE

DVT-TDS

Page 28: Adaptive Video Streaming Over Internet Using Dynamic Video

0

0.002

0.004

0.006

0.008

0.01

0.012

0.014

0.016

0.018

0.02

0 0.2 0.4 0.6 0.8 1

Parameter values

Und

erflo

w R

atio

Trace-driven Simulation Trace-driven Simulation ResultsResults

► Predictability on Underflow RatioPredictability on Underflow Ratio

DVT-TDS

DVT

CR

Page 29: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

► Predictability on Underflow RatioPredictability on Underflow Ratio

0

0.002

0.004

0.006

0.008

0.01

0.012

0.014

0.016

0.018

0.02

0 0.02 0.04 0.06 0.08 0.1

Parameter values

Und

erflo

w R

atio

DVT

DVT-TDS

CR

Page 30: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

► Predictability on Average video bit ratePredictability on Average video bit rate

655000

657000

659000

661000

663000

665000

667000

669000

671000

673000

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Parameter values

Ave

rage

Vid

eo b

it ra

te (b

ps)

DVT-TDS

CR

DVT

Page 31: Adaptive Video Streaming Over Internet Using Dynamic Video

Trace-driven Simulation Trace-driven Simulation ResultsResults

► Predictability on Average video bit ratePredictability on Average video bit rate

655000

657000

659000

661000

663000

665000

667000

669000

671000

673000

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

Parameter values

Ave

rage

Vid

eo b

it ra

te (b

ps)

DVT-TDS

CR

DVT

Page 32: Adaptive Video Streaming Over Internet Using Dynamic Video

Conclusions and Future Conclusions and Future ResearchResearch

►ConclusionsConclusions DVT and DVT-TDS have much better performaDVT and DVT-TDS have much better performa

nce than JE’s algorithm, and have comparabnce than JE’s algorithm, and have comparable performance as CR’s algorithm in terms of le performance as CR’s algorithm in terms of client buffer underflow probability and averagclient buffer underflow probability and average video bit rate.e video bit rate.

DVT-TDS offers higher predictability in the perDVT-TDS offers higher predictability in the performanceformance

Page 33: Adaptive Video Streaming Over Internet Using Dynamic Video

Conclusions and Future Conclusions and Future ResearchResearch

►Future ResearchFuture Research Consideration of the variation of video Consideration of the variation of video

qualityquality Dynamic Optimization of system Dynamic Optimization of system

parametersparameters Integration with other TCP-friendly Integration with other TCP-friendly

congestion control algorithmscongestion control algorithms

Page 34: Adaptive Video Streaming Over Internet Using Dynamic Video

ReferencesReferences

[1] T. Kim, S. Lu and V. Bharghavan, “Improving Congestion Control [1] T. Kim, S. Lu and V. Bharghavan, “Improving Congestion Control Performance Through Loss Differentiation,” Performance Through Loss Differentiation,” Proc. IEEE Int. Conf. Proc. IEEE Int. Conf. Computers and CommunicationsComputers and Communications, 1999, pp. 140-145., 1999, pp. 140-145.

[2] S. Cen, C. Pu and J. Walpole, “Flow and Congestion Control for Int[2] S. Cen, C. Pu and J. Walpole, “Flow and Congestion Control for Internet Media Streaming Applications,” ernet Media Streaming Applications,” Proc. SPIE/ACM MMCN’9Proc. SPIE/ACM MMCN’988, Jan. 1998., Jan. 1998.

[3] D. Bansal and H. Balakrishnan, “Binomial Congestion Control Alg[3] D. Bansal and H. Balakrishnan, “Binomial Congestion Control Algorithms,” orithms,” Proc. IEEE INFOCOMProc. IEEE INFOCOM, 2001, pp. 631-640. , 2001, pp. 631-640.

[4] S. Jacobs and A. Eleftheriadis, “Streaming video using dynamic ra[4] S. Jacobs and A. Eleftheriadis, “Streaming video using dynamic rate shaping and TCP congestion control,” te shaping and TCP congestion control,” Journal of Visual ComJournal of Visual Communication and Image Representationmunication and Image Representation, vol.9, issue 3, Sept. 1998, , vol.9, issue 3, Sept. 1998, pp.211-222.pp.211-222.

[5] P. de Cuetos, K. Ross, “Adaptive Rate Control for Streaming Store[5] P. de Cuetos, K. Ross, “Adaptive Rate Control for Streaming Stored Fine-Grained Scalable Video,” d Fine-Grained Scalable Video,” NOSSDAV’02NOSSDAV’02, Miami, Florida, , Miami, Florida, May 12-14, 2002.May 12-14, 2002.

Page 35: Adaptive Video Streaming Over Internet Using Dynamic Video

Real-time Heuristic Rate Control Real-time Heuristic Rate Control AlgorithmAlgorithm

► NotationsNotations

C(t) C(t) – Maximum TCP available throughput at time – Maximum TCP available throughput at time tt CCii – The average TCP throughput for the – The average TCP throughput for the i i thth second since transmission startssecond since transmission starts B(t)B(t) – Client buffer occupancy in terms of seconds’ worth of video data at time – Client buffer occupancy in terms of seconds’ worth of video data at time tt BBk k – The client buffer occupancy when the – The client buffer occupancy when the k k th slot of video is sentth slot of video is sent BBT T – The initial client buffer occupancy– The initial client buffer occupancy b(t) b(t) – The video bit rate at video time – The video bit rate at video time tt bbkk – The video bit rate of the – The video bit rate of the k k th slot of videoth slot of video bbmax max – The original average video bit rate – The original average video bit rate bbminmin – The lowest achievable average video bit rate– The lowest achievable average video bit rate BBkk

’’ - The estimate of client buffer occupancy when the - The estimate of client buffer occupancy when the kk th slot of video is sent th slot of video is sent DDkk

’’ - The estimate of average TCP throughput for sending the - The estimate of average TCP throughput for sending the k k th slot of videoth slot of video M M – The video duration for each slot of video– The video duration for each slot of video n n – Number of slots– Number of slots