SlideShare a Scribd company logo
1 of 126
Dynamic(Adap,ve(Streaming(over(HTTP:(
From(Content(Crea,on(to(Consump,on(
    Chris,an(Timmerer(                                 Carsten(Griwodz(
AlpenHAdriaHUniversität(Klagenfurt(                 Simula(Research(Laboratory(
     Universitätsstraße(65H67(                              P.O.Box(134(
AH9020(Klagenfurt(am(Wörthersee(                       1325(Lysaker,(Norway(
        +43$463$2700$3621$                                +47$67$82$82$00$
  chris/an./mmerer@itec.aau.at$                           griff@simula.no$



                         ACM(Mul,media(2012,(Nara,(Japan(
                               29th(October,(2012(
Video$Predominant$on$the$Internet$
     •  RealB/me$video$is$more$than$50%$of$the$traffic$at$peak$periods$
     •  Mobile$traffic$is$growing$exponen/ally,$all$delivered$over$the$top$(OTT)$




hZp://www.sandvine.com/downloads/documents/Phenomena_1H_2012/
Sandvine_Global_Internet_Phenomena_Report_1H_2012.pdf$

     Oct$29,$2012$                                DASH$Tutorial,$ACM$Mul/media$2012$   2$
...$but$User$Frustra/on$is$High!!!$
     •    Wrong$format$
     •    Wrong$protocol$
     •    Plugin$required$
     •    DRM$issues$
     •    Long$startBup$delay$
     •    Low$quality$
     •    Frequent$stalls$
     •    Bitrate$intense$
     •    No$DVD/PVR$experience$

Ack:$Thomas$Stockhammer$
      Oct$29,$2012$        DASH$Tutorial,$ACM$Mul/media$2012$   3$
Dynamic$Adap/ve$Streaming$over$HTTP$

     •  In$a$nutshell$…$




Ack$&$©:$Christopher$Müller$
     Oct$29,$2012$             DASH$Tutorial,$ACM$Mul/media$2012$   4$
Presenters$
Chris,an(Timmerer(                                            Carsten(Griwodz(

Assistant$professor$at$the$Ins/tute$of$Informa/on$          Head$of$the$Media$department$of$research$company$
Technology$(ITEC),$Mul/media$Communica/on$Group$            Simula$Research$Laboratory,$and$professor$of$Computer$
(MMC),$AlpenBAdriaBUniversität$Klagenfurt,$Austria.$His$    Science$at$the$University$of$Oslo.$He$received$his$Dipl.B
research$interests$include$immersive$mul/media$             Inf.$degree$from$Paderborn$University$in$1993$and$Dr.B
communica/on,$streaming,$adapta/on,$and$Quality$of$         Ing.$degree$from$Technische$Universität$Darmstadt$in$
Experience$(QoE).$He$was$the$general$chair$of$              2000.$He$worked$for$IBM$from$1993–98$and$par/cipated$
WIAMIS’08,$AVSTP2P’10$(coBlocated$with$ACMMM’10),$          in$the$standardiza/on$of$MHEG.$His$research$is$
WoMAN’11$(coBlocated$with$ICME’11),$and$TPC$coBchair$       concerned$with$streaming$media,$ranging$from$scalable$
of$QoMEX’12.$He$has$par/cipated$in$several$ECBfunded$       distribu/on$architectures$through$opera/ng$system$and$
projects,$notably$DANAE,$ENTHRONE,$P2PBNext,$               protocol$support$to$subjec/ve$visual$quality$assessment.$$
ALICANTE,$and$SocialSensor.$He$is$an$Associate$Editor$for$  He$was$coBchair$of$ACM$NOSSDAV$2008,$ACM/IEEE$
IEEE$Computer$Science$Compu/ng$Now,$Area$Editor$for$        NetGames$2011,$SPIE/ACM$MMCN$2006$and$2007,$Track$
Elsevier$Signal$Processing:$Image$Communica/on,$Review$     chair$of$ACM$MM$2008,$TPC$chair$of$ACM$MMSys$2012$
Board$Member$of$IEEE$MMTC,$editor$of$ACM$SIGMM$             and$is$general$chair$of$MMSys$2013.$He$is$Associate$
Records,$and$member$of$ACM$SIGMM$Open$Source$               Editor$of$ACM$TOMCCAP$and$EditorBinBChief$of$the$
Sorware$CommiZee.$He$also$par/cipated$in$ISO/MPEG$          newsleZer$ACM$SIGMM$Records.$The$Media$group$
work$for$several$years,$notably$in$the$area$of$MPEGB21,$    publishes$news$at$hZp://mpg.ndlab.net.$His$publica/ons$
MPEGBM,$MPEGBV,$and$DASH$(incl.$DASH$promoters$             can$be$found$at$hZp://simula.no/people/griff/
group).$He$received$his$PhD$in$2006$from$the$Klagenfurt$    bibliography.$
University.$Publica/ons$and$MPEG$contribu/ons$can$be$
found$under$hZp://research./m$merer.com,$follow$him$
on$hZp://www.twiZer.com//mse7,$and$subscribe$to$his$
blog$hZp://blog./mmerer.com.$Full$bio$can$be$found$at$
hZp://wwwBitec.uniBklu.ac.at/~/mse/cv/.$ DASH$Tutorial,$ACM$Mul/media$2012$
Oct$29,$2012$                                                                                                         5$
Tutorial$Outline$
       –  Scope$and$design$principles$
       –  Data$model$
       –  Profiles$


       –  GPAC$
       –  VLC$media$player$plugin,$libdash$
       –  Javascript$&$HTML5$=>$DASHBJS$


       –  Mobile,$heterogeneous$environments$
       –  Quality$of$Experience$(QoE)$
       –  Synchroniza/on$

Oct$29,$2012$                 DASH$Tutorial,$ACM$Mul/media$2012$   6$
Dynamic(Adap,ve(
                   Streaming(over(HTTP((DASH)(
                            Chris,an(Timmerer(and(Christopher(Müller(
                                                      (
  AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on(
           Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)(
       research./mmerer.com$!$blog./mmerer.com$!$selab.itec.aau.at$!$dash.itec.aau.at$!$stcsn.ieee.net$
                                        chris/an./mmerer@itec.aau.at$

                                   ACM(Mul,media(2012,(Nara,(Japan(
                                         29th(October,(2012(

Acknowledgment:$Thomas$Stockhammer$(QUALCOMM),$Mark$Watson$(Nezlix),$Iraj$Sodagar$(Microsor)$
What$is$DASH?$




hZp://en.wikipedia.org/wiki/Dash_(disambigua/on)$
Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$   8$
Dynamic$Adap/ve$Streaming$over$HTTP$(DASH)$
Proprietary(Solu,ons(       Int’l(Standard(Solu,ons(V1(             Int’l(Standard(Solu,ons(V2(

     Apple(HTTP(Live(
       Streaming((
                               3GPP(Rel.9(Adap,ve(
                                                                           3GPP(Rel.10(DASH(
      Adobe(HTTP(                HTTP(Streaming((
   Dynamic(Streaming((
                                                                                           V3…$
    Microsoe(Smooth(
       Streaming(
                                        OIPF(HTTP(Adap,ve(
                                                                           MPEGHDASH(
                                            Streaming(

    Neflix(      Akamai(
      Movenetworks’(
      Movestreaming((

   Amazon(         .(.(.(
                                                                                        /me$

  hZp://mul/mediacommunica/on.blogspot.com/2010/05/hZpBstreamingBofBmpegBmedia.html$

 Oct$29,$2012$                 DASH$Tutorial,$ACM$Mul/media$2012$                              9$
DASH$Design$Principles$
      •  DASH$is$not$
            –  system,$protocol,$presenta/on,$codec,$interac/vity,$DRM,$client$specifica/on$
      •  DASH$is$an$enabler$
            –  It$provides$formats$to$enable$efficient$and$highBquality$delivery$of$streaming$
               services$over$the$Internet$
            –  It$is$considered$as$one$component$in$an$endBtoBend$service$
            –  System$defini/on$ler$to$other$organiza/ons$(SDOs,$fora,$companies,$etc.)$
      •  Design$choices$
            –    Enable$reuse$of$exis/ng$technologies$(containers,$codecs,$DRM$etc.)$
            –    Enable$deployment$on$top$of$HTTPBCDNs$(Web$Infrastructures,$caching)$
            –    Enable$very$high$userBexperience$(low$startBup,$no$rebuffering,$trick$modes)$
            –    Enable$selec/on$based$on$network$and$device$capability,$user$preferences$
            –    Enable$seamless$switching$
            –    Enable$live$and$DVDBkind$of$experiences$
            –    Move$intelligence$from$network$to$client,$enable$client$differen/a/on$
            –    Enable$deployment$flexibility$(e.$g.,$live,$onBdemand,$/meBshir$viewing)$
            –    Provide$simple$interoperability$points$(profiles)$
      Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                       10$
Ack$&$©:$Thomas$Stockhammer$
Scope$of$DASH$
           Server(                                                               Client(
                                     1(
                         MF(                                           MF(


                                     2(
                          DF(                                          DF(


ISOBM                                                                                      ISOBM
  FF(               easy$                                                 easy$              FF(
                 conversion$                                           conversion$



M2TS(                                                                                      M2TS(



Oct$29,$2012$                     DASH$Tutorial,$ACM$Mul/media$2012$                               11$
What$is$specified$–$and$what$is$not?$




      Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$   12$
Ack$&$©:$Thomas$Stockhammer$
DASH$Data$Model$
                                                                                              Segment Info
                                                                                              Initialization Segment
                                                                                              http://www.e.com/ahs-5.3gp


Media Presentation                                                                            Media Segment 1
                               Period,                                                        start=0s
 Period, start=0s              • start=100                          Representation 1          http://www.e.com/ahs-5-1.3gs

 …                                          …
                               • baseURL=http://www.e.com/          • bandwidth=500kbit/s
                                                                    • width 640, height 480   Media Segment 2
                                Representation 1                                 …            start=10s
                                                                                              http://www.e.com/ahs-5-2.3gs
 Period, start=100s             500kbit/s                            Segment Info
 …                                                                   duration=10s             Media Segment 3
                                                                                              start=20s
                                Representation 2                     Template:                http://www.e.com/ahs-5-3.3gh
                                100kbit/s                            ./ahs-5-$Index$.3gs
 Period, start=295s
                                            …
 …

           …

                                                                                              Media Segment 20
                                                                                              start=190s
                                                                                              http://www.e.com/ahs-5-20.3gs


      Oct$29,$2012$                         DASH$Tutorial,$ACM$Mul/media$2012$                                    13$
Ack$&$©:$Thomas$Stockhammer$
Media$Presenta/on$Descrip/on$
      •  Redundant$informa/on$of$Media$Streams$for$the$purpose$to$
         ini/ally$select$or$reject$Adapta/onSets$of$Representa/ons$
            –  Examples:$Codec,$DRM,$language,$resolu/on,$bandwidth$
      •  Access$and$Timing$Informa/on$
            –  HTTPBURL(s)$and$byte$range$for$each$accessible$Segment$
            –  Earliest$next$update$of$the$MPD$on$the$server$
            –  Segment$availability$start$and$end$/me$in$wallBclock$/me$
            –  Approximated$media$start$/me$and$dura/on$of$a$Media$Segment$in$
               the$media$presenta/on$/meline$
            –  For$live$service,$instruc/ons$on$star/ng$playout$such$that$media$
               segments$will$be$available$in$/me$for$smooth$playout$in$the$future$
      •  Switching$and$splicing$rela/onships$across$Representa/ons$
      •  Rela/vely$liZle$other$informa/on$



      Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$                 14$
Ack$&$©:$Thomas$Stockhammer$
MPD$Schema$Overview$




      Oct$29,$2012$           DASH$Tutorial,$ACM$Mul/media$2012$   15$
Ack$&$©:$Iraj$Sodagar$
MPD$Schema$B$Representa/on$




      Oct$29,$2012$      DASH$Tutorial,$ACM$Mul/media$2012$   16$
Ack$&$©:$Iraj$Sodagar$
DASH$Adapta/onSets$&$Subsets$
 Adapta,onSet(id="grpH1"(                    Adapta/onSet$by$codec,$language,$resolu/on,$
                                             bandwidth,$views,$etc.$–$very$flexible$(in$combina/on$
            Representa,on(id="repH1"(        with$xlink)!$
            Representa,on(id="repH2"(
                                             "  Ranges$for$the$@bandwidth,$@width,$@height$and$
                                                 @frameRate$
                .(.(.(
            Representa,on(id="repHn"(                                 Subset(id="ssH1"(
                                                                             Contains(group="grpH1"(

 Adapta,onSet(id="grpH2"(                                                    Contains(group="grpH4"(
            Representa,on(id="repH1"(                                        Contains(group="grpH7"(
            Representa,on(id="repH2"(
                .(.(.(
            Representa,on(id="repHn"(        Subsets$
                                             "  Mechanism$to$restrict$the$combina/on$of$
                .(.(.(                          ac#ve$Groups$
                                             "  Expresses$the$inten/on$of$the$creator$of$the$
 Adapta,onSet(id="grpHm"(
                                                Media$Presenta/on$$
            Representa,on(id="repH1"(
Oct$29,$2012$                           DASH$Tutorial,$ACM$Mul/media$2012$                             17$
            Representa,on(id="repH2"(
Segment$Indexing$
      •  Provides$binary$informa/on$in$ISO$box$structure$on$
            –  Accessible$units$of$data$in$a$media$segment$
            –  Each$unit$is$described$by$
                   •  Byte$range$in$the$segments$(easy$access$through$HTTP$par/al$GET)$
                   •  Accurate$presenta/on$dura/on$(seamless$switching)$
                   •  Presence$of$representa/on$access$posi/ons,$e.g.$IDR$frames$
      •  Provides$a$compact$bitrateBoverB/me$profile$to$client$
            –  Can$be$used$for$intelligent$request$scheduling$
      •  Generic$Data$Structure$usable$for$any$media$segment$
         format,$e.g.$ISO$BMFF,$MPEGB2$TS,$etc.$
      •  Hierarchical$structuring$for$efficient$access$
      •  May$be$combined$with$media$segment$or$may$be$separate$


      Oct$29,$2012$                   DASH$Tutorial,$ACM$Mul/media$2012$                  18$
Ack$&$©:$Thomas$Stockhammer$
Segment$Indexing$
                                                                  seg1.mp4
 Segment(Index(in(MPD(only(
       <MPD>                                                      seg2.mp4
         ...
         <URL sourceURL="seg1.mp4"/>
         <URL sourceURL="seg2.mp4"/>                                  ...
       </MPD>

       <MPD>                                                                   seg.mp4
         ...
         <URL sourceURL="seg.mp4" range="0-499"/>
         <URL sourceURL="seg.mp4" range="500-999"/>
       </MPD>

 Segment(Index(in(MPD(+(Segment((
       <MPD>                                                     sidx
         ...                                                     .mp4
         <Index sourceURL=”sidx.mp4"/>
         <URL sourceURL="seg.mp4"/>
       </MPD>                                                                  seg.mp4
 Segment(Index(in(Segment(only((
       <MPD>
         ...
         <BaseURL>seg.mp4</BaseURL>                      sidx                seg.mp4
       </MPD>
Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                      19$
Switch$Point$Alignment$
      •  Segment$alignment$
            –  Permits$nonBoverlapping$decoding$and$presenta/on$of$segments$from$
               different$representa/ons$
      •  Stream$Access$Points$(SAPs)$
            –  Presenta/on$/me$and$posi/on$in$segments$at$which$random$access$and$
               switching$can$occur$
      •  Bitstream$Switching$
            –  Concatena/on$of$segments$from$different$representa/ons$results$in$
               conforming$bitstream$
      •  Alignment$and$SAPs$can$
         also$apply$for$subsegments$
      •  Preferable$switching$points$
         are$segment/subsegment$
         boundaries$for$which$
            –  Alignment$holds$across$
               representa/ons$
            –  The$switchBto$
               representa/on$starts$with$
               a$SAP$
      Oct$29,$2012$                            DASH$Tutorial,$ACM$Mul/media$2012$    20$
Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
Profiles$
      •  Subset$(restric/ons)$of$the$func/onality$
      •  Target$specific$applica/ons/domains$
      •  As$of$now,$mainly$related$to$supported$segment$
         formats$
                                 Full(Profile(
                                                                  ISOBMFF(Main(

                   MPEGB2$     MPEGH2(                  ISOBMFF$             ISOBMFF$
                  TS$Simple$   TS(Main(                On$Demand$               Live$




      •  More$restric/ons$may$be$added$
       Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$                   21$
Ack:$Thomas$Stockhammer$
Adap/ve$Streaming$Summary$
      •    For$on$demand$                                         •    For$live$
            –  Chunks$are$unnecessary$and$costly$                       –  Chunks$are$unavoidable$
            –  Byte$range$requests$have$caching$and$                    –  S/ll$value$in$decoupling$request$size$
               flexibility$advantages$                                      from$chunk$size$
            –  Separate$audio/video$essen/al$for$                       –  Mul/ple$language$audio$tracks$are$rare$
               language$support$                                        –  May$need$manifest$updates$
      •    For$both$
            –  Switch$point$alignment$required$for$most$CE$decoding$pipelines$




      Oct$29,$2012$                            DASH$Tutorial,$ACM$Mul/media$2012$                               22$
Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
Adapta/on$Problem$
      Choose$sequence$and$/ming$of$requests$to$minimize$
      probability$of$reBbuffers$and$maximize$quality$




      Oct$29,$2012$         DASH$Tutorial,$ACM$Mul/media$2012$   23$
Ack$&$©:$Mark$Watson$
Poten/al$Future$Work$Items$
•  MMSys’11$Keynote$
       –  HTTP$Adap/ve$Streaming$in$Prac/ce$by$Mark$Watson$(Nezlix)$
       –  Future$work$
                •  Good$models$for$future$bandwidth$
                •  Tractable$representa/ons$of$future$choices$B$how$to$efficiently$search$
                   the$'choice$space'$
                •  What$are$the$quality$goals?$
•  Call$for$adapta/on$logics$
       –  Efficient$implementa/ons$of$the$actual$adapta/on$logic$which$is$
          responsible$for$the$dynamic$and$adap/ve$part$of$DASH$
    hZp://mul/mediacommunica/on.blogspot.com/2011/02/betaBversionBofBvlcBdashBplugin.html$

•  Get$it$deployed$and$adopted$(e.g.$W3C,$DVB$–$what$is$
   necessary?)$
•  Join$this$ac/vity,$everyone$is$invited$–$get$involved$in$and$
   exited$about$DASH!$
Oct$29,$2012$                      DASH$Tutorial,$ACM$Mul/media$2012$                 24$
DASH(“Encoder”,(Dataset,(and(Players(

     Stefan(Lederer,(Christopher(Müller,(Benjamin(Rainer,(and(Chris,an(Timmerer(
                                                           (
AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on(
         Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)(
            hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/
                                mailto:chris/an./mmerer@itec.uniBklu.ac.at$


                                      ACM(Mul,media(2012,(Nara,(Japan(
                                            29th(October,(2012(
 Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B
                   ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
DASH@GPAC: MP4Box & MP42TS

     !  Multimedia Packagers
       •  MPEG-2 TS for DASH profiles
       •  ISOBMFF Packager & Analyser
     !  DASH Segmenter
       •  ISOBMFF and M2TS segments
           -    All DASH profiles supported
           -    URL-template naming scheme
          •  Segment indexing (SIDX)
          •  GOP-align segments or fragments (MediaSourceExtension)
          •  Automatic AdaptationSet selection
           -    Media type, codec, language, PAR
           -    Handle groups (same media but not switchable)
     !    DASH live simulator
           -    Manages MPD update and timeline continuity


jean.lefeuvre@telecom-paristech.fr          http://gpac.sourceforge.net
DASHEncoder$
•  DASH$Content$Genera/on$Tool$
       –  Encoding$+$Mul/plexing$+$MPD$genera/on$
       –  Generates$isoffmain$profile$compliant$MPDs$
       –  Fully$configurable$using$a$configBfile$
       –  Enables$batch$processing$
       –  Currently$uses$x264$and$GPAC‘s$MP4Box$
       –  Easy$extensible$to$further$$
          encoders$&$mul/plexers$
       –  hZp://dash.itec.aau.at/$

Oct$29,$2012$         DASH$Tutorial,$ACM$Mul/media$2012$   27$
DASHEncoder$

                •  h.264:$       $x264$/$ffmpeg$
                •  AAC: $        $ffmpeg$
   Encode$      •  [WebM,$etc.]$



                •  MP4Box:     $Video$/$Audio$/$Video$+$Audio$
                •  [e.g.$WebM/MKV$Segmenter]$
Container$

                •  Generate$one$MPD$
                •  Subfolder$Organiza/on$
     MPD$       •  MPD$Transforma/on$


Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$   28$
Dataset$
•  Dataset(with(DASH(Content(
       –  Long$sequences$in$high$quality$
       –  Various$segmentBlength$versions$
       –  Free$available$for$DASH$experiments$$
       –  PSNR$values$per$frame$

•  Problem:(Content(Rights(
       –  CCBAZribu/on$2.0$Generic$(CCHBY(2.0)$License$or$similar$$
       –  Free$to$Share,$Free$to$Remix$
       –  Note:$YouTube$introduces$CCBBY$in$June$2011!$

•  Nego,a,on(with(content(owner(
Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$                  29$
Dataset$Sequences$
                Name              Source(Quality                Length      Genre

      Big$Buck$Bunny$                1080p$YUV                   09:46     Anima/on$$

    Elephants$Dream$                 1080p$YUV                   10:54     Anima/on$

  Red$Bull$Playstreets        1080p,$6$Mbit$H.264$              01:37:28     Sport$

   The$Swiss$Account$         1080p,$6$Mbit$H.264                57:34       Sport$

          Valkaama            1080p,$6$Mbit$H.264$              01:33:05    Movie$

   Of$Forest$and$Men                       SD                    10:53      Movie$

Oct$29,$2012$              DASH$Tutorial,$ACM$Mul/media$2012$                   30$
DASH$Dataset$Sequences$




Oct$29,$2012$   DASH$Tutorial,$ACM$Mul/media$2012$   31$
Bitrates$and$Resolu/ons$
 #                 Anima,on                              Sport                     Movie
 1             50$kbit/s,$$320x240              100$kbit/s,$$320x240         50$kbit/s,$320x240
 2            100$kbit/s,$$320x240              150$kbit/s,$$320x240        100$kbit/s,$320x240
 3            150$kbit/s,$$320x240              200$kbit/s,$$480x360        150$kbit/s,$$320x240
 4            200$kbit/s,$$480x360              250$kbit/s,$$480x360        200$kbit/s,$$480x360
 5            250$kbit/s,$$480x360              300$kbit/s,$$480x360        250$kbit/s,$$480x360
 6            300$kbit/s,$$480x360              400$kbit/s,$$480x360        300$kbit/s,$$480x360
 7            400$kbit/s,$$480x360              500$kbit/s,$$854x480        400$kbit/s,$$480x360
 8            500$kbit/s,$$480x360              700$kbit/s,$$854x480        500$kbit/s,$$854x480
 9            600$kbit/s,$$854x480$             900$kbit/s,$$854x480        600$kbit/s,$$854x480
10            700$kbit/s,$$854x480$             1,2$Mbit/s,$$854x480        700$kbit/s,$$854x480
11            900$kbit/s,1280x720$              1,5$Mbit/s,1280x720         900$kbit/s,1280x720
12            1,2$Mbit/s,1280x720$              2,0$Mbit/s,1280x720         1,2$Mbit/s,1280x720
13            1,5$Mbit/s,1280x720$              2,5$Mbit/s,1280x720         1,5$Mbit/s,1280x720
14            2,0$Mbit/s,1280x720$             3,0$Mbit/s,1920x1080        2,0$Mbit/s,1920x1080
15           2,5$Mbit/s,1920x1080$             4,0$Mbit/s,1920x1080        2,5$Mbit/s,1920x1080
16           3,0$Mbit/s,1920x1080$             5,0$Mbit/s,1920x1080        3,0$Mbit/s,1920x1080
17           4,0$Mbit/s,1920x1080              6,0$Mbit/s,1920x1080        4,0$Mbit/s,1920x1080
18           5,0$Mbit/s,1920x1080                           $              5,0$Mbit/s,1920x1080
19 Oct$29,$2012$
             6,0$Mbit/s,1920x1080                           $
                                      DASH$Tutorial,$ACM$Mul/media$2012$   6,0$Mbit/s,1920x1080
                                                                                              32$
20           8,0$Mbit/s,1920x1080                           $                         $
DASH$Content$Types$
•  Segment(Size:$
       –  Seconds:$1,$2,$4,$6,$10,$15$
•  File(Organiza,on(
       –  Segmented$
       –  One$file$per$representa/on,$Byte$Range$Requests$
•  e.g.:(Big(Buck(Bunny(
       –  (120(Encodings$needed$
       –  Only$6(DASH(Encoder$runs$

Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$   33$
DASH@GPAC: Playback
!     DASHClient                             !  Integrated in Osmo4
     •  DASH ISOBMFF, M2TS (+ HLS)             •  Many input formats and
       -  With or without bitstreamSwitching      codecs
       -  Support for multiple Periods         •  Composition engine
     •  All profiles except onDemand              (SVG, BIFS, X3D)
         (ongoing)                           !  Try it!
       -  VoD through « live » or « main »     •  Included in libgpac
     •  Local files and http(s) playback •  Independent from player
     •  Various download policies

                                                                   GPAC DASH
            MPD                                                    Playback

  Media                                                Bring Your Own
  Segments                                             DASH APP !!
jean.lefeuvre@telecom-paristech.fr   http://gpac.sourceforge.net
DASH$VLC$Plugin$Architecture$
•  Four$major$
   components$and$
   two$controller$
   classes$
•  Easy$Adapta/on$
   Logic$Interface$for$
   Researchers$and$
   Developers$
•  Flexible$HTTP$
   structure$for$further$
   improvements$e.g.$
   persistent$
                                                                 hZp://dash.itec.aau.at/$
   connec/ons$
 Oct$29,$2012$              DASH$Tutorial,$ACM$Mul/media$2012$                         35$
DASH$VLC$Plugin$Features$
•  Officially$part$of$VLC$and$as$library$(libdash)$
•  Provides$a$simple$interface$to$integrate$new$
   Adapta/on$Logics$
•  Dynamic$adapta/on$to$the$available$bandwidth$
•  Flexible$for$further$improvements,$e.g.,$profiles,$
   persistent$connec/ons$and$pipelining$
•  Source$code$is$available$through$the$VLC$git$
   repository$and$at:$
             hZp://wwwBitec.aau.at/dash$

Oct$29,$2012$          DASH$Tutorial,$ACM$Mul/media$2012$   36$
VLC$Architecture$
•  Interface:$User$
   interac/on$e.g.$stop,$play$
   etc.$
•  Access:$HTTP,$RTP$etc.$
•  StreamBFilter:$Recording,$
   Dynamic$Streaming$
•  Demux:$MP4,$M2TS,$
   MKV$
•  Decoder:$H264,$VP8$etc.$
 Oct$29,$2012$        DASH$Tutorial,$ACM$Mul/media$2012$   37$
DASH$in$JavaScript$(DASHBJS)$
•  Completely$implemented$in$JavaScript$–$no$
   (3rd$party)$plugins$required$
•  Makes$use$of$the$Media$Source$API$provided$
   by$Google$Chrome$
       –  Support$for$WebM$and$ISOBMFF$
•  Provides$/me$based$and$byte$based$buffers$
       –  E.g.,$use$as$input$for$adapta/on$logics$
•  Flexible$adapta/on$logics$
       –  Easy$to$extend$exis/ng$ones$or$integrate$your$
          own$

Oct$29,$2012$           DASH$Tutorial,$ACM$Mul/media$2012$   38$
DASHBJS$Architecture$




Oct$29,$2012$        DASH$Tutorial,$ACM$Mul/media$2012$   39$
DASHBJS$(cont’d)$
•  Bandwidth$/$throughput$es/ma/on$
       –  …$is$done$each$/me$a$segment$is$retrieved$
       –  At$the$beginning$the$MPD$is$used$to$have$an$educated$guess$on$the$
          bandwidth$
       –  To$bypass$proxy$caching$“noBcache”$is$set$in$the$HTTP$Request$Header$
          (will$influence$the$throughput$es/ma/on)$
•  Representa/on$selec/on$is$based$on:$
                                         w1bn−1 + w2 bm
                                 bn =
                                           w1 + w2
       –    bnB1$denotes$the$throughput$calculated$at$the$nB1th$segment$
       –    bm$depicts$the$throughput$measured$with$the$nth$segment$
       –    bn$is$used$to$decide$which$representa/on$should$be$selected$
       –    The$weights$(w1$and$w2)$are$used$to$mimic$op/mis/c$or$pessimis/c$
            behavior$
•  Simple$adapta/on$logic,$easy$to$extend,$modify…$

Oct$29,$2012$                  DASH$Tutorial,$ACM$Mul/media$2012$               40$
Showcases$
•    Sintel$Trailer$@$480p$
       –    5$representa/on$from$200$kbps$to$2000$kbps$video$bitrate$
       –    128$kbps$audio$for$all$representa/ons$
       –    Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtest.html$$
       –    MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/sintel_mul/_rep.mpd$
•    Big$Buck$Bunny$@$480p$
       –    7$representa/ons$from$200$kbps$to$4700$kbps$video$bitrate$
       –    128$kbps$audio$for$all$representa/ons$
       –    Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny.html$$
       –    MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny.mpd$
•    Big$Buck$Bunny$@$1080p$
       –    7$representa/ons$from$1000$kbps$to$8000$kbps$
       –    128$kbps$audio$for$all$representa/ons$
       –    Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny1080p.html$$
       –    MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny_1080p.mpd$




Oct$29,$2012$                        DASH$Tutorial,$ACM$Mul/media$2012$                 41$
Conclusions$
•  EndBtoBend$DASH$tools$available$
       –  GPAC$provides$support$for$ISOBMFF,$M2TS,$and$beyond$
       –  DASH$VLC$plugin$and$libdash$(world$first$DASH$player)$
       –  DASHBJS$for$easy$Web$integra/on$(HTML5,$Javascript)$
•  Flexible$architecture,$easy$to$extend,$e.g.:$
       –  Add$your$own$profile$(!!!)$
       –  Add$your$own$buffer$model$
       –  Add$your$own$bandwidth$es/ma/on,$adapta/on$logic$
•  Open$source:$hZp://dash.itec.aau.at$|$
   hZp://gpac.sourceforge.net$
       –  Feel$free$to$use$it,$please$acknowledge/reference$us$


Oct$29,$2012$             DASH$Tutorial,$ACM$Mul/media$2012$      42$
An(Evalua,on(of(Dynamic(Adap,ve(Streaming(
      over(HTTP(in(Vehicular(Environments(

                 Christopher(Müller,(Stefan(Lederer,(and(Chris,an(Timmerer(
                                                           (
AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on(
         Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)(
            hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/
                                mailto:chris/an./mmerer@itec.uniBklu.ac.at$


                                              ACM(Mul,media(2012(
                                               29th(October,(2012(
 Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B
                   ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
Methodology$
•  Experiment(1(/(Track(1((601(seconds)$
       –  Drive$on$the$freeway$A2,$passing$by$the$city$of$Villach$in$the$direc/on$to$
          Klagenfurt.$
•  Experiment(2(/(Track(2((575(seconds)$
       –  From$the$AlpenBAdriaBUniversität$Klagenfurt$on$the$freeway$A2$un/l$the$
          service$area$around$Techelsberg.$
•  Experiment(3(/(Track(3((599(seconds)$
       –  From$the$service$area$around$Techelsberg$on$the$freeway$A2$to$the$exit$of$
          Klagenfurt.$




Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                     44$
Metrics$
•  Average$bitrate$
       –  Overall$performance$for$the$en/re$session$
•  Number$of$quality$switches$
       –  Different$representa/on$due$available$bandwidth$
•  Buffer$level$
       –  Es/mated$with$download$/mestamp$(DTS)$and$
          presenta/on$/mestamp$(PTS)$
•  Number$of$unsmooth$seconds$
       –  Buffer$empty$

Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$   45$
Experimental$Setup$
•  Bandwidth$Shaping$
       –  Ubuntu$11.04$w/$Linux$hierarchical$token$bucket$(htb)$
       –  Available$bandwidth$will$be$adjusted$every$2s$due$to$the$recorded$
          traces$and$2s$segment$length$
•  Network$Emula/on$
       –  Emulates$a$round$trip$/me$of$150ms$
•  HTTP$Server$
       –  Server$based$on$Windows$Server$2008$and$IIS$/$Ubuntu$11.04$and$
          Apache$Web$Server$
•  Evalua/on$Client$
       –  Windows$or$Linux$depending$on$the$evalua/on$system$




Oct$29,$2012$                 DASH$Tutorial,$ACM$Mul/media$2012$               46$
Dataset$
•  All$experiments$have$been$performed$with$
   the$same$content$based$on$[Lederer2012]$
•  The$content$has$been$encoded$with$x264$
•  14$different$bitrates$from$100kbps$to$
   4500kbps$
•  Segments$with$a$length$of$2$seconds$
       –  Restricted$by$Microsor$Smooth$Streaming$
•  That$content$has$been$used$for$all$three$
   scenarios$
Oct$29,$2012$         DASH$Tutorial,$ACM$Mul/media$2012$   47$
Microsor$Smooth$Streaming$
•  Client$based$on$Windows$7,$Microsor$
   Silverlight$and$Firefox$7$
•  Server$based$on$Windows$Server$2008$and$IIS$
   with$Media$Services$4.0$
•  Content$has$been$mul/plexed$with$IIS$
   Transform$Manager$1.0$Beta$
•  PTS$has$been$taken$from$the$request$URL$
•  DTS$comes$from$the$bandwidth$emula/on$
   node$
Oct$29,$2012$       DASH$Tutorial,$ACM$Mul/media$2012$   48$
Microsor$Smooth$Streaming$(cont’d)$




•  Few$switches$with$a$good$average$bitrate$
•  Nevertheless$close$to$unsmoothness$at$second$300$

Oct$29,$2012$      DASH$Tutorial,$ACM$Mul/media$2012$   49$
Adobe$Dynamic$HTTP$Streaming$
•  Client$is$based$on$Ubuntu$11.04,$Firefox$7$and$
   the$Open$Source$Media$Framework$player$
•  The$server$component$hosts$the$Flash$Media$
   Server$in$development$edi/on$
•  The$content$has$been$generated$with$the$
   Adobe$File$Packager$for$Adobe$Dynamic$
   Streaming$


Oct$29,$2012$    DASH$Tutorial,$ACM$Mul/media$2012$   50$
Adobe$Dynamic$HTTP$Streaming$(cont’d)$




•  High$number$of$unsmooth$seconds$
•  Rather$binary$and$unpredictable$
Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$   51$
Apple$HTTP$Live$Streaming$
•  Client$is$based$on$Mac$OS$X$Snow$Leopard$
   10.6$and$Safari$5$
•  Content$has$been$generated$with$Microsor$
   Transform$Manager$
       –  Transmul/plexing$of$mp4$to$MPEGB2$TS$
       –  Chops$the$transport$stream$into$segments$of$2$
          seconds$length$
•  The$only$system$that$uses$MPEGB2$TS$

Oct$29,$2012$          DASH$Tutorial,$ACM$Mul/media$2012$   52$
Apple$HTTP$Live$Streaming$(cont’d)$




•  Very$few$switches$with$a$lower$bitrate$
•  Large$buffer$for$energy$awareness$
Oct$29,$2012$    DASH$Tutorial,$ACM$Mul/media$2012$   53$
Our$MPEGBDASH$Implementa/on$
•  Client:$DASH$VLC$Plugin$[Mueller2011]$on$
   Ubuntu$11.04$$
•  Server:$Ubuntu$11.04$which$hosts$an$Apache$
   Web$server$
•  Content$based$on$DASH$dataset$generated$
   with$DASHEncoder$
•  Simple$(naïve)$adapta/on$logic$


Oct$29,$2012$   DASH$Tutorial,$ACM$Mul/media$2012$   54$
Our$MPEGBDASH$Implementa/on$(cont’d)$




•  Non$stepwise$switching$$
•  Good$average$bitrate$and$stable$buffer$
$
Oct$29,$2012$    DASH$Tutorial,$ACM$Mul/media$2012$   55$
MPEGBDASH$AVC$




Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$   56$
MPEGBDASH$SVC$




Oct$29,$2012$     DASH$Tutorial,$ACM$Mul/media$2012$   57$
Summary$
      Name(     Average(Bitrate(   Average(Switches(             Average(Unsmoothness(
                    [kbps](      [Number(of(Switches](                 [Seconds](
   Microsor$        1522$                       51$                       0$
      Adobe$        1239$                       97$                       64$
      Apple$        1162$                        7$                       0$
 MPEGBDASH$
                    1045$                      141$                       0$
   Naïve*$
 MPEGBDASH$
                    1464$                      166$                       0$
 Pipelined*$
 MPEGBDASH$
                    2341$                       81$                       0$
   AVC**$
 MPEGBDASH$
                    2738$                      101$                       0$
   SVC**$
*$…$MoVid/MMSys,$February$2012$
**$…$EUSIPCO,$August$2012$
Oct$29,$2012$               DASH$Tutorial,$ACM$Mul/media$2012$                      58$
Conclusions$
•  Microsor$Smooth$Streaming$
       –  Performs$very$well$w.r.t.$average$bitrate$
       –  Yes,$deserves$the$name$smooth$streaming$
•  Apple$HLS$
       –  Less$quality$switches$due$to$large$buffer$
       –  Designed$for$mobile$devices,$energy$awareness$
•  Adobe$HDS$
       –  Binary$decision$between$the$highest$and$the$lowest$representa/on$
       –  Stalls,$reBbuffering$=>$low$QoE$$
•  Our$MPEGBDASH$implementa/on$
       –  Achieves$a$good/superior$average$bitrate$
       –  In$striking$distance$to$the$top,$space$for$improvements$though$(e.g.,$buffer$
          management)$
•  Disclaimer:$comparison$of$specific$client$implementa/ons,$not$formats$
   (manifest/segment),$not$technology$


Oct$29,$2012$                    DASH$Tutorial,$ACM$Mul/media$2012$                      59$
DASH$@$AAU/ITEC$
                                                        hZp://dash.itec.aau.at/$
                                                        $
                                                        DASH$VLC$Plugin$
                                                        $
                                                        DASHEncoder$
                                                        $
                                                        libdash$
                                                        $
                                                        Dataset$
                                                        $
                                                        DASHBJS$
                                                        $
                                                        Join$this$ac/vity,$everyone$
                                                        is$invited$–$get$involved$in$
                                                        and$exited$about$DASH!$
                                                        $

Oct$29,$2012$      DASH$Tutorial,$ACM$Mul/media$2012$                             60$
Acknowledgments$
•  EC$projects$for$par/ally$funding$this$ac/vity$
       –  ALICANTE$project$(FP7BICTB248652)$
                •  hZp://www.ictBalicante.eu$
       –  SocialSensor$project$(FP7BICTB287975)$
                •  hZp://www.socialsensor.org$
       –  COST$ICT$Ac/on$IC1003$
                •  QUALINET$–$European$Network$on$Quality$
                   of$Experience$in$Mul/media$Systems$and$Services$
                •  hZp://www.qualinet.eu/$
•  DASH$Industry$Forum$
       –  hZp://www.dashif.com$
•    Christopher$Müller:$VLC$Plugin,$libdash$
•    Stefan$Lederer:$DASHEncoder,$dataset,$DASHBJS$
•    Benjamin$Rainer:$DASHBJS$
•    Hermann$Hellwagner$for$his$advice$and$feedback$
•    ISO/IEC$MPEG$and$its$par/cipa/ng$members$for$their$construc/ve$
     feedback$during$the$standardiza/on$process$
Oct$29,$2012$                        DASH$Tutorial,$ACM$Mul/media$2012$   61$
References$
•    Christopher$Müller,$Daniele$Renzi,$Stefan$Lederer,$Stefano$Baàsta$and$Chris/an$Timmerer,$“Using$
     Scalable$Video$Coding$for$Dynamic$Adap/ve$Streaming$Over$HTTP$in$Mobile$Environments”,$In$
     Proceedings$of$the$20th$European$Signal$Processing$Conference$2012,$Bucharest,$Romania,$August$
     27B31,$2012.$
•    Benjamin$Rainer,$Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“A$Seamless$Web$
     Integra/on$of$Adap/ve$HTTP$Streaming”,$In$Proceedings$of$the$20th$European$Signal$Processing$
     Conference$2012,$Bucharest,$Romania,$August$27B31,$2012.$
•    Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“PeerBAssisted$Dynamic$Adap/ve$
     Streaming$over$HTTP$–$System$Design$and$Evalua/on”,$In$Proceedings$of$the$IEEE$Interna/onal$
     Packet$Video$Workshop$2012,$Munich,$Germany,$May$10B11,$2012.$
•    Christopher$Müller,$Stefan$Lederer$and$Chris/an$Timmerer,$“An$Evalua/on$of$Dynamic$Adap/ve$
     Streaming$over$HTTP$in$Vehicular$Environments”,$In$Proceedings$of$the$4th$ACM$Workshop$on$
     Mobile$Video,$Chapel$Hill,$North$Carolina,$February$24,$2012.$
•    Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“Dynamic$Adap/ve$Streaming$over$
     HTTP$Dataset”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$2012,$Chapel$Hill,$North$
     Carolina,$February$22B24,$2012.$
•    Christopher$Müller$and$Chris/an$Timmerer,$“A$VLC$Media$Player$Plugin$enabling$Dynamic$Adap/ve$
     Streaming$over$HTTP”,$In$Proceedings$of$the$ACM$Mul/media$2011,$ScoZsdale,$Arizona,$November$
     28,$2011.$
•    Christopher$Müller$and$Chris/an$Timmerer,$“A$TestBBed$for$the$Dynamic$Adap/ve$Streaming$over$
     HTTP$featuring$Session$Mobility”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$
     2011,$San$Jose,$California,$February$23B25,$2011.$
•    Chris/an$Timmerer$and$Christopher$Müller,$“HTTP$Streaming$of$MPEG$Media”,$In$Proceedings$of$
     the$Streaming$Day$2010,$Udine,$Italy,$September$16B17,$2010.$

Oct$29,$2012$                       DASH$Tutorial,$ACM$Mul/media$2012$                            62$
IEEE$JSAC:$Adap/ve$Media$Streaming$
    •    Guest$Editors$
           –  Chris/an$Timmerer,$AlpenBAdriaB
              Universität$Klagenfurt,$Austria$
           –  Ali$C.$Begen,$CISCO,$Canada$
           –  Thomas$Stockhammer,$QUALCOMM,$
              USA$
           –  Carsten$Griwodz,$Simula$Research$
              Laboratory,$Norway$
           –  Bernd$Girod,$Stanford$University,$USA$
    •    Important$Dates$
           –    1st$Submission:$Apr$1,$2013$
           –    Reviews$Available:$Jul$1,$2013$
           –    2nd$Submission:$Aug$31,$2013$
           –    Final$Acceptance$Decision:$Oct$31,$2013$
           –    CameraBready:$Dec$1,$2013$
           –    Publica/on:$2nd$quarter$2014$


hZp://mul/mediacommunica/on.blogspot.com/
2012/07/jsacBspecialBissueBadap/veBmedia.html$

    Oct$29,$2012$                          DASH$Tutorial,$ACM$Mul/media$2012$   63$
Thank$you$for$your$aZen/on$


            ...$ques/ons,$comments,$etc.$are$welcome$…$



                                                                                                $
                                                                                                $
                                                     $Ass.BProf.$Dipl.BIng.$Dr.$Chris/an$Timmerer$
                            Klagenfurt$University,$Department$of$Informa/on$Technology$(ITEC)$
                                         Universitätsstrasse$65B67,$AB9020$Klagenfurt,$AUSTRIA$
                                                           chris/an./mmerer@itec.uniBklu.ac.at$
                                                                  hZp://research./mmerer.com/$
                                              Tel:$+43/463/2700$3621$Fax:$+43/463/2700$3699$
                                                                           ©'Copyright:'Chris#an'Timmerer'




Oct$29,$2012$            DASH$Tutorial,$ACM$Mul/media$2012$                                                  64$
A Comparison of Quality Scheduling in
Commercial Adaptive HTTP Streaming
     Solutions on a 3G Network

  Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad,
            Pål Halvorsen, Carsten Griwodz
Fluctuating Bandwidth Problem




University of Oslo   DASH Tutorial, ACM Multimedia 2012
Fluctuating Bandwidth Problem

                     Ferry                                        Subway




              Question: How well do
              adaptive streaming media solutions adapt?
           Bus

                                                                  Tram




University of Oslo           DASH Tutorial, ACM Multimedia 2012
Adaptive Delivery: Tested Systems
!  Adobe Strobe Media Playback (v1.6.328 for Flash 10.1)
   using HTTP Dynamic Streaming Format

!  Apple’s native iPad player (iOS v4.3.3)
   using native HLS format

!  Microsoft Silverlight/IIS Smooth (v4.0.60531.0 on Win7)
   using native Smooth format and default desktop scheduler

!  Netview Media Client (v2011-10-10)
   using Apple HLS format (worst case) and Netview 3G scheduler



Server
!  Apache v2.2.14
!  CodeShop Unified Streaming Platform v1.4.25
!  Throttling module for trace-based bandwidth limitation, 1sec resolution

  University of Oslo               DASH Tutorial, ACM Multimedia 2012
Adaptive Delivery: Test Content
!  Video: Norwegian football game (i.e. soccer)
!  H.264/AVC                            Why is the bandwidth
!  2 second segments                    increase non-linear?

                                          Bitrate increase
                     Akamai recommendations
                                          provides dimishing
!  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps
                                          return on visual quality
                                          increase.

                                                             The just noticable
                                                             difference is not
                                                             achieved at 250 kbps
                                                             steps.


University of Oslo      DASH Tutorial, ACM Multimedia 2012
Comparison of Existing Quality Schedulers
       Bus:




                                                          Configured for desktops


       Ferry:                                             Configured for mobiles




University of Oslo   DASH Tutorial, ACM Multimedia 2012
Comparison of Existing Quality Schedulers
       Metro:




                For the Netview algorithm see:
                “Video Streaming Using a Location-based Bandwidth-Lookup Service for Bitrate Planning”,
                Haakon Riiser, Tore Endestad, Paul Vigmostad, Carsten Griwodz, Pål Halvorsen,
                TOMCCAP, July 2012

University of Oslo                               DASH Tutorial, ACM Multimedia 2012
Conclusion
   Difference between players’ quality scheduler dominates
   the overhead

   Adobe: maximizes aggressiveness at the expense of stability
   Apple: maximize stability at the expense of aggressiveness
   Microsoft Silverlight: good compromise
   Netview: similar to Microsoft, outperforms in this configuration



                     !  Many people commute using the same route
                     !  Many mobile devices have GPS receivers
                     !  What about crowdsourcing the throughput on the
                        commute paths at various times of day?

University of Oslo            DASH Tutorial, ACM Multimedia 2012
A Comparison of Quality Scheduling in
Commercial Adaptive HTTP Streaming
     Solutions on a 3G Network

  Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad,
            Pål Halvorsen, Carsten Griwodz
Prediction
       Metro:            Location-based bandwidth-lookup service for bitrate (video quality) planning:




    Algorithm:

    !  Calculate the predicted amount of data that historically can be
         downloaded

    !  Calculate maximum steady quality without getting buffer-underruns
    !  Safety: reactive algorithm fallback

University of Oslo             DASH Tutorial, ACM Multimedia 2012
Prediction: Metro
       Metro:




                                                          From:
                                                          “Video Streaming Using a Location-based
                                                          Bandwidth-Lookup Service for Bitrate
                                                          Planning”,
                                                          Haakon Riiser, Tore Endestad, Paul
                                                          Vigmostad, Carsten Griwodz, Pål Halvorsen,
                                                          TOMCCAP, July 2012

University of Oslo   DASH Tutorial, ACM Multimedia 2012
Quality-of-Experience Considerations
                 with
Relevance for Adaptive HTTP Streaming

     Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn,
           Pål Halvorsen, Carsten Griwodz
Adaptive Delivery: Test Content
!  Video: Norwegian football game (i.e. soccer)
!  H.264/AVC
!  2 second segments
         Question: What is “good” adaptation?
                     Akamai recommendations


!  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps




University of Oslo     DASH Tutorial, ACM Multimedia 2012
Why visual quality studies?
   UDP-based streaming                                    DASH & similar
               resists packets loss                               –  scales to available bandwidth
               random loss                                        –  congestion loss


   Applications                                           Applications
                                                                  –  Commercial VoD: Netflix,
               IPTV
                                                                     Akamai, Microsoft, Apple,
               DVD-H                                                 Comoyo, ...
               video conferencing                                 –  MPEG DASH
               classical RTSP/RTP servers                         –  Free VoD: Youtube, Metacafe,
                                                                     Dailymotion, Vimeo, Revver,
                                                                     Flixya ...

                                                                  Internet


                     Client
                                WLAN
                                                                                      Server


University of Oslo                DASH Tutorial, ACM Multimedia 2012
Why visual quality studies?
   UDP-based streaming                                 DASH & similar

    Resilience to packet loss                          Resilience to buffer
                                                       underruns
    Possibly resilience to bit
    errors                                             Active adaptation (client-
                                                       side decision)
    Possibly active adaptation
    (server-side decision)



                                                               Internet


                     Client
                              WLAN
                                                                          Server


University of Oslo             DASH Tutorial, ACM Multimedia 2012
PSNR

 Peak Signal-to-Noise Ratio
 A prevalent video quality metric


                                    (2B − 1)2
                     PSNR = 10log10
                                      MSE
                     where:
                                     1 M N
                              MSE =    ∑∑ [Ima (x, y) − Imb (x, y)]2
                                    MN y =1 x =1
                                M, N = image dimensions
                                Ima , Imb = pictures to compare
                                B= bit depth



University of Oslo              DASH Tutorial, ACM Multimedia 2012
User experience: reduced PSNR


University of Oslo           DASH Tutorial, ACM Multimedia 2012
PSNR

                Reference

Example from
Prof. Touradj Ebrahimi,
ACM MM'09 keynote


PSNR = 24.9 dB              PSNR = 24.9 dB                        PSNR = 24.9 dB




 University of Oslo          DASH Tutorial, ACM Multimedia 2012
PSNR

 Peak Signal-to-Noise Ratio
 A prevalent video quality metric
 In addition to this:
 •  several different PSNR computations for color images
 •  different PSNR for different color spaces (RGB,YUV)
 •  visible influence of the encoding format



 These problems hurts all metrics that are based on PSNR
 Improved by image quality metrics such as
 •  SSIM variants
 •  rate distortion metrics




University of Oslo          DASH Tutorial, ACM Multimedia 2012
Conclusion
 You encounter Quality-of-Experience measurements
 based on PSNR everywhere in the literature.

 •  it is very easy to compute
 •  it is probably working to assess the quality of images
    with bit errors

 Be very careful when you encounter
 1.  PSNR-based objective metrics
 2.  adaptation mechanisms whose effectiveness is
     proven by PSNR

                     !  It’s easy to complain.
                     !  But how to do better?

University of Oslo            DASH Tutorial, ACM Multimedia 2012
QoE Effects of Changing Layers in
   Adaptive HTTP Streaming

  Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn,
   Pål Halvorsen, Carsten Griwodz, Michael Zink
Image-based metrics can fail badly:
                     Flickering



University of Oslo           DASH Tutorial, ACM Multimedia 2012
Layered content
    Used SPEG as layer encoded video format                                  [avail. from C. Krasic, UBC]

                     shape 1                                                    shape 2
       layers




                                                                    layers
A


                      frames                                                         frames
                                amplitude of layer variation




                                                                    layers
       layers




B


                      frames                                                         frames
                                frequency of layer variation

University of Oslo             DASH Tutorial, ACM Multimedia 2012
Layered content
    Comparing PSNR
    with layer change counting: S(v) =        − v i+1     ∑v      i

       These observations discredit v i ∈v
                                      PSNR,
    where v is the vector of frames and vi is the number of layers of a
       but they don’t provide a real alternative.
    frame
       These observations indicate that frequentE change
    Shape          €    A      B     C     D          F                                    G
           is problematic.
    PSNR of shape 1             62.86 61.46 63.15 48.01 49.40 66.02 29.84

    PSNR of SPEG 2 outdated. 73.28 52.38 25.08 26.95 63.28 64.30
       But shape is      49.47
        SPEG scaling decisions were based on intuition.
    S(v)Adaptive1HTTP Streaming today is based 2 H.264.
         of shape         2     6    2    2
                                                on 0.5                                     0

    S(v) of shape 2             2             4            1          0      0      0.5    2

    Subjective assessment       0.35          0.55         0.73       1.18   1.02   2.18   -0.24


University of Oslo           DASH Tutorial, ACM Multimedia 2012
Layer fluctuation in scalable video streaming




University of Oslo   DASH Tutorial, ACM Multimedia 2012
We need guidelines for video adaptation strategies

   To cope with the bandwidth fluctuation, which scalability
   dimension is generally preferable for video adaptation?


   Within each dimension, which scaling pattern generates the
   least annoying flicker effect?

   Is it possible to control the annoyance of flicker effects?


   How is subjective video quality related to other factors, such as
   content, devices?


University of Oslo        DASH Tutorial, ACM Multimedia 2012
We investigate visual artifact issues via several
   subjective tests
   Previous Findings
               Human perception of video quality are content and context dependent
               There is no general preference order of scaling dimensions
               High frequency may cause flicker effect that is regarded as worse than
                constant low image quality
               In mobile scenario, a frame rate above 12 fps does not cause noticeable
                visual artifacts
               In HDTV scenario, a frame rate of 12 fps does generate noticeable
                motion jerkiness


   Challenges of subjective tests:
               Efficient and reliable experimental design that avoids fatigue and learning
               effect


University of Oslo                DASH Tutorial, ACM Multimedia 2012
Flickering effects: the visual artifacts caused
 by layer fluctuation in scalable video
  Flicker arises from recurrent changes in spatial or
  temporal quality, some so rapid that the human visual
  system only perceives fluctuations within the video.

      Noise flicker           Blur flicker                   Motion flicker




  Compression scaling      Resolution scaling                Frame rate scaling



University of Oslo      DASH Tutorial, ACM Multimedia 2012
Blurriness flicker example




Blur flicker
Amplitude: 480x320px – 120x80px
Frequency: 10f / 3 Hz
 University of Oslo   DASH Tutorial, ACM Multimedia 2012
Noise flicker example




Noise flicker
Amplitude: QP24 – QP40
Frequency: 90f / 0.33 Hz
 University of Oslo    DASH Tutorial, ACM Multimedia 2012
Motion flicker example




Motion flicker
Amplitude: 30fps – 3fps
Frequency: 6f / 5 Hz
 University of Oslo       DASH Tutorial, ACM Multimedia 2012
How to describe different layer fluctuations?




Layer fluctuation pattern
     -  Frequency: The time interval it takes for a video sequence return to its previous status
     -  Amplitude: The quality difference between the two layers being switched
     -  Dimension: Spatial or temporal, artifact type


  Layer Frequency and Amplitude are the interesting factors in our subjective test

  University of Oslo               DASH Tutorial, ACM Multimedia 2012
Layer fluctuation pattern in Spatial dimension
    Full bit stream, QH


   F =1/2, A = QH-QL


  F = 1/4 , A = QH-QL


  F = 1/6 , A = QH-QL


F = 1/24 , A = QH-QL


          Sub stream QL


   Bandwidth consumption in all of the changing patterns is the same,
   due to the same amplitude. References QH and QL differ.

University of Oslo        DASH Tutorial, ACM Multimedia 2012
Layer fluctuation pattern in Temporal
  dimension
  Full bit stream, 30fps

 F =1/4, A = 30-15fps

 F = 1/8 , A = 30-15fps

F = 1/12 , A = 30-15fps

F = 1/24 , A = 30-15fps

        Sub stream 15fps



     Although the average bit-rate is the same, the visual experience
     of different patterns may not be identical.

  University of Oslo       DASH Tutorial, ACM Multimedia 2012
Method

    Participants                                            Procedure
    •  28 paid, voluntary participants                      •  Field study at university library
    •  9 females, 19 males                                  •  Presented on iPod touch devices
    •  Age 19 – 41 years (mean 24)                             - Resolution 480x320
    •  Self-reported normal hearing,                           - Frame rate 30 fps
       and normal/corrected vision                          •  12 sec video duration
                                                            •  Random presentations
                                                            •  Optional number of blocks




University of Oslo                DASH Tutorial, ACM Multimedia 2012
Stability scores - Period


                                                                                                                                     100 %
100 %                                                              100 %
                                                                                                                                     90 %
 90 %                                                               90 %
 80 %                                                               80 %                                                             80 %
 70 %                                                               70 %                                                             70 %
 60 %                                                               60 %                                                             60 %
 50 %                                                  Unstable     50 %                                                  Unstable   50 %
 40 %                                                               40 %                                                             40 %
                                                       Stable                                                             Stable
 30 %                                                               30 %
                                                                                                                                     30 %
 20 %                                                               20 %
                                                                                                                                     20 %
 10 %                                                               10 %
                                                                                                                                     10 %
   0%                                                                0%
                                                                                                                                      0%
         HQ




                                                  LQ




                                                                            HQ




                                                                                                                     LQ
                   10f
                         30f
                               60f
                                     90f




                                                                                      10f
                                                                                            30f
                                                                                                  60f
                                                                                                        90f
                                           180f




                                                                                                              180f
              6f




                                                                                 6f
                                                                                                                                             HQ 30f 60f 90f 180f LQ


    Perceived quality stability                                    Perceived quality stability                               Perceived quality stability
    across period levels for                                       across period levels for                                  across period levels for
    Noise flicker                                                  Blur flicker                                              Motion flicker




University of Oslo                                              DASH Tutorial, ACM Multimedia 2012
Stability scores - Amplitude


 100 %                                    100 %                                         100 %
  90 %                                    90 %                                          90 %
  80 %                                    80 %                                          80 %
  70 %                                    70 %                                          70 %
  60 %                                    60 %                                          60 %
                               Unstable   50 %                                 Unstable 50 %
  50 %
                                          40 %
  40 %                         Stable                                          Stable   40 %
                                          30 %
  30 %                                                                                  30 %
                                          20 %
  20 %                                                                                  20 %
                                          10 %
  10 %                                                                                  10 %
                                           0%
   0%                                             240x160     120x80                     0%
         QP28 QP32 QP36 QP40                        px                                          15fps   10fps   5fps   3fps


    Perceived quality stability            Perceived quality stability                      Perceived quality stability
    across amplitude levels for            across amplitude levels for                      across amplitude levels for
    Noise flicker                          Blur flicker                                     Motion flicker




University of Oslo                        DASH Tutorial, ACM Multimedia 2012
Video quality
                         2                                                                      Constant high quality
                                                                      QP 28
                                                                      QP 32
                                                                      QP 36
                                                                                                references
Mean Acceptance Score




                                                                      QP 40
                         1


                                                                                                Constant low quality
                         0
                                                                                                reference, QP28

                        −1
                                                                                                Not investigated here:
                                                                                                relation between qualities
                        −2
                             HQ   6f   10f   30f   60f   90f   180f      LQ
                                              Period


                Noise
                L1                      QP24
                L0                      QP28, QP32, QP36, QP40
                Period                  1/5s, 1/3s, 1s, 2s, 3s, 6s
                Content                 4 mid/long distance shots                                                  From:
                                                                                                                   “Flicker Effects in Adaptive Video Streaming
                                                                                                                   to Handheld Devices”,
                                                                                                                   Pengpeng Ni, Ragnhild Eg, Alexander
                                                                                                                   Eichhorn, Carsten Griwodz, Pål Halvorsen
                                                                                                                   ACM Multimedia 2011

                        University of Oslo                                    DASH Tutorial, ACM Multimedia 2012
Acceptance - Noise flicker
                                     2
                                                                                                     QP 28
                                                                                                     QP 32
                                                                                                     QP 36
            Mean Acceptance Score
                                                                                                     QP 40
                                     1




                                     0




                                    −1




                                    −2
                                         HQ   6f      10f           30f           60f   90f   180f      LQ
                                                                       Period

University of Oslo                                 DASH Tutorial, ACM Multimedia 2012
Acceptance – Blur flicker
                                     2
                                                                                                240x160
            Mean Acceptance Score                                                               120x80


                                     1




                                     0




                                    −1




                                    −2
                                         HQ   6f      10f           30f           60f   90f   180f   LQ
                                                                       Period
University of Oslo                                 DASH Tutorial, ACM Multimedia 2012
Acceptance – Motion flicker
                                     2
                                                                                                      15 fps
                                                                                                      10 fps
                                                                                                      5 fps
            Mean Acceptance Score
                                                                                                      3 fps
                                     1




                                     0




                                    −1




                                    −2
                                         HQ   30f                 60f                    90f   180f       LQ
                                                                        Period

University of Oslo                                  DASH Tutorial, ACM Multimedia 2012
Conclusions
   With longer flicker frequencies (high periods), acceptance of video
   quality increases in the spatial dimension

   Amplitude (quality difference) has larger effect than frequency, both
   for stability and acceptance

   For noise flicker, large quality differences are rated more acceptable
   with less frequent quality shifts.

   For blur flicker, improved acceptance with less frequent shifts is
   more pronounced for the smallest quality difference.

   The flicker effect varies across contents, particularly for motion
   flicker.

   The three types of flicker have different influences on stability and
   quality acceptance scores. Scores are generally lower for blur flicker.
University of Oslo         DASH Tutorial, ACM Multimedia 2012
Network Behaviour of DASH Traffic

  Tomas Kupka, Pål Halvorsen, Carsten Griwodz
Stream liveness
!  The time it takes for an event to appear on the screen




Liveness = 0s




                                                                   playout

  University of Oslo          DASH Tutorial, ACM Multimedia 2012
Live traffic pattern


                                                 Segmented live stream



                                                                Limiting factors:
             Download synchronization                           -  Server speed
                                                                -  Client speed
                  Connection is idle                            -  Client buffer size
                                                                -  Segment availability
 bandwidth




                                                                             time
                     2s                       2s
University of Oslo        DASH Tutorial, ACM Multimedia 2012
VoD traffic pattern


                                            Segmented video file



                                                             Limiting factors:
                                                             -  Server speed
                                                             -  Client speed
                                                             -  Client buffer size

                                                          •  not in real systems
 bandwidth




                                                          •  buffer size is limited
                                                          •  behaviour like live
                                                   etc.      when buffer is full

                                                                          time


University of Oslo   DASH Tutorial, ACM Multimedia 2012
Transporting DASH
              1. Does the request synchronization lead to problem?
              2. Can we reduce such problem?

Experiments with ns-2                                                    Clients

              •      20 min. stream
              •      6 bitrates (250 to 3000 kb/s)
              •      2 sec. segments
              •      TCP CC CUBIC




                                            Bottleneck link
                                              100 mb/s
         Web server




University of Oslo                  DASH Tutorial, ACM Multimedia 2012
Evaluated modifications
TCP congestion control alternatives
    TCP’s behave differently for short On traffic



                      NewReno                                        CUBIC
       CWND




                                                         CWND
                        time                                         time




 University of Oslo             DASH Tutorial, ACM Multimedia 2012
TCP congestion control alternatives

                     Liveness                                        Router queue drops




University of Oslo              DASH Tutorial, ACM Multimedia 2012
TCP congestion control alternatives
                                                          packet losses
                                     CUBIC                                        Vegas
longer router queue




                      TCP Vegas shares the network much better than TCP CUBIC

                      Unfortunately, TCP Vegas looses to all other TCPs in sharing

         University of Oslo                  DASH Tutorial, ACM Multimedia 2012
TCP congestion control alternatives
lowest quality                                                                                            highest quality
                       left: Cubic, right: Vegas"




                                                                                     Vegas delivers better liveness




               Cubic delivers higher quality



  University of Oslo                            DASH Tutorial, ACM Multimedia 2012
Evaluated modifications

   Increasing segment length: give TCP more time

                                              vs.

           2 second segments                                        10 second segments




University of Oslo             DASH Tutorial, ACM Multimedia 2012
2 second vs. 10 second segments
lowest quality                                                                 highest quality


    TCPTCP gets out of slowstart
        CWND for 2 sec. segments                Quality not better for longer segments

                                                                                     high




                                                                                            Quality
                                                                                      low




  University of Oslo        DASH Tutorial, ACM Multimedia 2012
Evaluated modifications

 Request distribution: avoid request synchronization


                R1     R2                                                  R1     R2    R3
                             R3
                                                      vs.
                     S1 available                                        S1 available




University of Oslo                  DASH Tutorial, ACM Multimedia 2012
Client request distribution


     Client A:       S1                              S2        S3

                                                                    time




     Client B:       S1                              S2        S3

                                                                    time




University of Oslo        DASH Tutorial, ACM Multimedia 2012
Client request distribution

             Synchronous requests                                    Distributed requests




University of Oslo              DASH Tutorial, ACM Multimedia 2012
Client request distribution
lowest quality                                                                   highest quality


                       Distribution of the number of segments of different quality
                                    left: Sychronized, right: Distributed"




  University of Oslo                    DASH Tutorial, ACM Multimedia 2012
Evaluated modifications
CWND limit: restrict CWND to the max. bitrate available




                     CWND


                                      time




University of Oslo          DASH Tutorial, ACM Multimedia 2012
Client request distribution

                     Liveness                                        Router queue drops




University of Oslo              DASH Tutorial, ACM Multimedia 2012
CWND limitation

                     Liveness                                        Router queue drops




University of Oslo              DASH Tutorial, ACM Multimedia 2012
Conclusion
   TCP CC alternatives: TCP Vegas is good, but not practical



   Segment duration:
   No evidence of longer segments being better (network view)



   Client request distribution leads to good quality and liveness



   CWDN limitation leads to better fairness




University of Oslo        DASH Tutorial, ACM Multimedia 2012
DASH Tutorial: Summary

 Introduction to MPEG DASH
 DASH tools
 Examples of DASH (and DASH-like) systems’
 performance
 QoE considerations
 Interaction of DASH and TCP




University of Oslo   DASH Tutorial, ACM Multimedia 2012

More Related Content

What's hot

Deterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructureDeterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructureSean Cohen
 
Analysis and design of algorithms part 4
Analysis and design of algorithms part 4Analysis and design of algorithms part 4
Analysis and design of algorithms part 4Deepak John
 
minimization the number of states of DFA
minimization the number of states of DFAminimization the number of states of DFA
minimization the number of states of DFAArchana Gopinath
 
TCP - Transmission Control Protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP - Transmission Control ProtocolPeter R. Egli
 
Extreme fabric connect
Extreme fabric connectExtreme fabric connect
Extreme fabric connectMUK Extreme
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for DevelopersSvetlin Nakov
 
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCoreEqual Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCoreHai Dinh Tuan
 
TRex Realistic Traffic Generator - Stateless support
TRex  Realistic Traffic Generator  - Stateless support TRex  Realistic Traffic Generator  - Stateless support
TRex Realistic Traffic Generator - Stateless support Hanoch Haim
 
Live streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHLive streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHCyril Concolato
 
Equivalence and minimization of DFA
Equivalence and minimization of DFAEquivalence and minimization of DFA
Equivalence and minimization of DFABadrul Alam
 
Haystack 2019 - Query relaxation - a rewriting technique between search and r...
Haystack 2019 - Query relaxation - a rewriting technique between search and r...Haystack 2019 - Query relaxation - a rewriting technique between search and r...
Haystack 2019 - Query relaxation - a rewriting technique between search and r...OpenSource Connections
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower OffloadNetronome
 
Segment Routing Advanced Use Cases - Cisco Live 2016 USA
Segment Routing Advanced Use Cases - Cisco Live 2016 USASegment Routing Advanced Use Cases - Cisco Live 2016 USA
Segment Routing Advanced Use Cases - Cisco Live 2016 USAJose Liste
 
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021Deepak Shankar
 
WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21Lorenzo Miniero
 

What's hot (20)

Deterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructureDeterministic capacity planning for OpenStack as elastic cloud infrastructure
Deterministic capacity planning for OpenStack as elastic cloud infrastructure
 
Analysis and design of algorithms part 4
Analysis and design of algorithms part 4Analysis and design of algorithms part 4
Analysis and design of algorithms part 4
 
minimization the number of states of DFA
minimization the number of states of DFAminimization the number of states of DFA
minimization the number of states of DFA
 
Basic onos-tutorial
Basic onos-tutorialBasic onos-tutorial
Basic onos-tutorial
 
TCP - Transmission Control Protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP - Transmission Control Protocol
 
HEVC intra coding
HEVC intra codingHEVC intra coding
HEVC intra coding
 
Extreme fabric connect
Extreme fabric connectExtreme fabric connect
Extreme fabric connect
 
Theory of Computation Unit 1
Theory of Computation Unit 1Theory of Computation Unit 1
Theory of Computation Unit 1
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for Developers
 
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCoreEqual Cost Multipath Routing in FOKUS OpenSDNCore
Equal Cost Multipath Routing in FOKUS OpenSDNCore
 
TRex Realistic Traffic Generator - Stateless support
TRex  Realistic Traffic Generator  - Stateless support TRex  Realistic Traffic Generator  - Stateless support
TRex Realistic Traffic Generator - Stateless support
 
Live streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHLive streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASH
 
Equivalence and minimization of DFA
Equivalence and minimization of DFAEquivalence and minimization of DFA
Equivalence and minimization of DFA
 
Haystack 2019 - Query relaxation - a rewriting technique between search and r...
Haystack 2019 - Query relaxation - a rewriting technique between search and r...Haystack 2019 - Query relaxation - a rewriting technique between search and r...
Haystack 2019 - Query relaxation - a rewriting technique between search and r...
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower Offload
 
CoAP Talk
CoAP TalkCoAP Talk
CoAP Talk
 
Segment Routing Advanced Use Cases - Cisco Live 2016 USA
Segment Routing Advanced Use Cases - Cisco Live 2016 USASegment Routing Advanced Use Cases - Cisco Live 2016 USA
Segment Routing Advanced Use Cases - Cisco Live 2016 USA
 
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
Compare Performance-power of Arm Cortex vs RISC-V for AI applications_oct_2021
 
WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21WebRTC, RED and Janus @ ClueCon21
WebRTC, RED and Janus @ ClueCon21
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 

Viewers also liked

Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Alpen-Adria-Universität
 
Using DASH and MPEG-2 TS
Using DASH and MPEG-2 TSUsing DASH and MPEG-2 TS
Using DASH and MPEG-2 TSAlex Giladi
 
MPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference SoftwareMPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference SoftwareAlpen-Adria-Universität
 
Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Christopher Mueller
 
MPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future RoadmapMPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future RoadmapAlpen-Adria-Universität
 
Adaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of StandardsAdaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of StandardsAlpen-Adria-Universität
 
Edge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format TodayEdge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format TodayAkamai Technologies
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression BasicsSanjiv Malik
 
Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuerydennisdc
 
MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3os890
 
MPEG-H_Audio_Alliance
MPEG-H_Audio_AllianceMPEG-H_Audio_Alliance
MPEG-H_Audio_AllianceJack Olivieri
 
Marketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True BloodMarketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True BloodAlessandra Garlappi
 
peer-to-peer oppotunities
peer-to-peer oppotunitiespeer-to-peer oppotunities
peer-to-peer oppotunitiesGwendal Simon
 
Netflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside USNetflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside USSZI Technologies Pvt Ltd
 
An Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular Environments
An Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular EnvironmentsAn Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular Environments
An Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular EnvironmentsAlpen-Adria-Universität
 
MPEG DASH White Paper
MPEG DASH White PaperMPEG DASH White Paper
MPEG DASH White Paperidrajeev
 

Viewers also liked (20)

Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)
 
HTTP Streaming of MPEG Media
HTTP Streaming of MPEG MediaHTTP Streaming of MPEG Media
HTTP Streaming of MPEG Media
 
Using DASH and MPEG-2 TS
Using DASH and MPEG-2 TSUsing DASH and MPEG-2 TS
Using DASH and MPEG-2 TS
 
MPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference SoftwareMPEG-DASH Conformance and Reference Software
MPEG-DASH Conformance and Reference Software
 
libdash 2.0
libdash 2.0libdash 2.0
libdash 2.0
 
Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0
 
MPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future RoadmapMPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
MPEG-DASH: Overview, State-of-the-Art, and Future Roadmap
 
Adaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of StandardsAdaptive Media Streaming: The Role of Standards
Adaptive Media Streaming: The Role of Standards
 
Edge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format TodayEdge 2014: MPEG DASH – Tomorrow's Format Today
Edge 2014: MPEG DASH – Tomorrow's Format Today
 
HTTP Live Streaming
HTTP Live StreamingHTTP Live Streaming
HTTP Live Streaming
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression Basics
 
Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuery
 
MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3MyFaces Extensions Validator Part 1 of 3
MyFaces Extensions Validator Part 1 of 3
 
MPEG-H_Audio_Alliance
MPEG-H_Audio_AllianceMPEG-H_Audio_Alliance
MPEG-H_Audio_Alliance
 
Technology Update: MPEG-Dash
Technology Update: MPEG-DashTechnology Update: MPEG-Dash
Technology Update: MPEG-Dash
 
Marketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True BloodMarketing Non Convenzionale - True Blood
Marketing Non Convenzionale - True Blood
 
peer-to-peer oppotunities
peer-to-peer oppotunitiespeer-to-peer oppotunities
peer-to-peer oppotunities
 
Netflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside USNetflix, HULU Videos: How to watch outside US
Netflix, HULU Videos: How to watch outside US
 
An Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular Environments
An Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular EnvironmentsAn Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular Environments
An Evaluation of Dynamic Adaptive Streaming over HTTP in Vehicular Environments
 
MPEG DASH White Paper
MPEG DASH White PaperMPEG DASH White Paper
MPEG DASH White Paper
 

Similar to Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption

Tips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software EngineeringTips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software Engineeringjtdudley
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Abhishek Singh
 
Hadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without JavaHadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without JavaGlenn K. Lockwood
 
Developing Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptDeveloping Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptJeff Haynie
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Jeffrey Breen
 
Zh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And HdfsZh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And Hdfskevin liao
 
Web development Hackathon
Web development HackathonWeb development Hackathon
Web development HackathonAl Sayed Gamal
 
เฉลยคำตอบ O
เฉลยคำตอบ Oเฉลยคำตอบ O
เฉลยคำตอบ OSurapong Jakang
 
GOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x HadoopGOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x Hadoopfvanvollenhoven
 
MapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvementMapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvementKyong-Ha Lee
 
Cより速いRubyプログラム
Cより速いRubyプログラムCより速いRubyプログラム
Cより速いRubyプログラムkwatch
 
Beyond the GFLOPS
Beyond the GFLOPSBeyond the GFLOPS
Beyond the GFLOPSSlide_N
 
The Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsightThe Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsightGert Drapers
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expertPaul King
 
Semantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service CompositionSemantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service CompositionDragan Gasevic
 

Similar to Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption (20)

Tips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software EngineeringTips And Tricks For Bioinformatics Software Engineering
Tips And Tricks For Bioinformatics Software Engineering
 
20090422 Www
20090422 Www20090422 Www
20090422 Www
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up
 
RESTful OGC Services
RESTful OGC ServicesRESTful OGC Services
RESTful OGC Services
 
Hadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without JavaHadoop Streaming: Programming Hadoop without Java
Hadoop Streaming: Programming Hadoop without Java
 
Lca05
Lca05Lca05
Lca05
 
Developing Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptDeveloping Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and Javascript
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
 
Zh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And HdfsZh Tw Introduction To Hadoop And Hdfs
Zh Tw Introduction To Hadoop And Hdfs
 
Web development Hackathon
Web development HackathonWeb development Hackathon
Web development Hackathon
 
เฉลยคำตอบ O
เฉลยคำตอบ Oเฉลยคำตอบ O
เฉลยคำตอบ O
 
The ROP Pack
The ROP PackThe ROP Pack
The ROP Pack
 
GOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x HadoopGOTO 2011 preso: 3x Hadoop
GOTO 2011 preso: 3x Hadoop
 
MapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvementMapReduce: A useful parallel tool that still has room for improvement
MapReduce: A useful parallel tool that still has room for improvement
 
Cより速いRubyプログラム
Cより速いRubyプログラムCより速いRubyプログラム
Cより速いRubyプログラム
 
Beyond the GFLOPS
Beyond the GFLOPSBeyond the GFLOPS
Beyond the GFLOPS
 
The Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsightThe Fundamentals Guide to HDP and HDInsight
The Fundamentals Guide to HDP and HDInsight
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expert
 
Semantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service CompositionSemantic Web Technologies for Automatic Service Composition
Semantic Web Technologies for Automatic Service Composition
 

More from Alpen-Adria-Universität

VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instancesVEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instancesAlpen-Adria-Universität
 
GREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video ProcessingGREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video ProcessingAlpen-Adria-Universität
 
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...Alpen-Adria-Universität
 
VEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission PredictionVEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission PredictionAlpen-Adria-Universität
 
Content-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive StreamingContent-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive StreamingAlpen-Adria-Universität
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...Alpen-Adria-Universität
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...
Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...Alpen-Adria-Universität
 
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...Alpen-Adria-Universität
 
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...Alpen-Adria-Universität
 
Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...Alpen-Adria-Universität
 
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamAlpen-Adria-Universität
 
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Alpen-Adria-Universität
 
Multi-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video StreamingMulti-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video StreamingAlpen-Adria-Universität
 
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentPolicy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentAlpen-Adria-Universität
 
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...Alpen-Adria-Universität
 
Energy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and StrategiesEnergy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and StrategiesAlpen-Adria-Universität
 
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...Alpen-Adria-Universität
 
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine LearningVideo Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine LearningAlpen-Adria-Universität
 
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...
Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...Alpen-Adria-Universität
 
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming ApplicationsSARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming ApplicationsAlpen-Adria-Universität
 

More from Alpen-Adria-Universität (20)

VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instancesVEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
VEED: Video Encoding Energy and CO2 Emissions Dataset for AWS EC2 instances
 
GREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video ProcessingGREEM: An Open-Source Energy Measurement Tool for Video Processing
GREEM: An Open-Source Energy Measurement Tool for Video Processing
 
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
Optimal Quality and Efficiency in Adaptive Live Streaming with JND-Aware Low ...
 
VEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission PredictionVEEP: Video Encoding Energy and CO₂ Emission Prediction
VEEP: Video Encoding Energy and CO₂ Emission Prediction
 
Content-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive StreamingContent-adaptive Video Coding for HTTP Adaptive Streaming
Content-adaptive Video Coding for HTTP Adaptive Streaming
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Video...
 
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...
Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...Empowerment of Atypical Viewers  via Low-Effort Personalized Modeling  of Vid...
Empowerment of Atypical Viewers via Low-Effort Personalized Modeling of Vid...
 
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...Optimizing Video Streaming  for Sustainability and Quality: The Role of Prese...
Optimizing Video Streaming for Sustainability and Quality: The Role of Prese...
 
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
Energy-Efficient Multi-Codec Bitrate-Ladder Estimation for Adaptive Video Str...
 
Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...Machine Learning Based Resource Utilization Prediction in the Computing Conti...
Machine Learning Based Resource Utilization Prediction in the Computing Conti...
 
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming StreamEvaluation of Quality of Experience of ABR Schemes in Gaming Stream
Evaluation of Quality of Experience of ABR Schemes in Gaming Stream
 
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
 
Multi-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video StreamingMulti-access Edge Computing for Adaptive Video Streaming
Multi-access Edge Computing for Adaptive Video Streaming
 
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player EnvironmentPolicy-Driven Dynamic HTTP Adaptive Streaming Player Environment
Policy-Driven Dynamic HTTP Adaptive Streaming Player Environment
 
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
VE-Match: Video Encoding Matching-based Model for Cloud and Edge Computing In...
 
Energy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and StrategiesEnergy Consumption in Video Streaming: Components, Measurements, and Strategies
Energy Consumption in Video Streaming: Components, Measurements, and Strategies
 
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
Exploring the Energy Consumption of Video Streaming: Components, Challenges, ...
 
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine LearningVideo Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
Video Coding Enhancements for HTTP Adaptive Streaming Using Machine Learning
 
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...
Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...Optimizing  QoE and Latency of  Live Video Streaming Using  Edge Computing  a...
Optimizing QoE and Latency of Live Video Streaming Using Edge Computing a...
 
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming ApplicationsSARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
SARENA: SFC-Enabled Architecture for Adaptive Video Streaming Applications
 

Recently uploaded

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption

  • 1. Dynamic(Adap,ve(Streaming(over(HTTP:( From(Content(Crea,on(to(Consump,on( Chris,an(Timmerer( Carsten(Griwodz( AlpenHAdriaHUniversität(Klagenfurt( Simula(Research(Laboratory( Universitätsstraße(65H67( P.O.Box(134( AH9020(Klagenfurt(am(Wörthersee( 1325(Lysaker,(Norway( +43$463$2700$3621$ +47$67$82$82$00$ chris/an./mmerer@itec.aau.at$ griff@simula.no$ ACM(Mul,media(2012,(Nara,(Japan( 29th(October,(2012(
  • 2. Video$Predominant$on$the$Internet$ •  RealB/me$video$is$more$than$50%$of$the$traffic$at$peak$periods$ •  Mobile$traffic$is$growing$exponen/ally,$all$delivered$over$the$top$(OTT)$ hZp://www.sandvine.com/downloads/documents/Phenomena_1H_2012/ Sandvine_Global_Internet_Phenomena_Report_1H_2012.pdf$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 2$
  • 3. ...$but$User$Frustra/on$is$High!!!$ •  Wrong$format$ •  Wrong$protocol$ •  Plugin$required$ •  DRM$issues$ •  Long$startBup$delay$ •  Low$quality$ •  Frequent$stalls$ •  Bitrate$intense$ •  No$DVD/PVR$experience$ Ack:$Thomas$Stockhammer$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 3$
  • 4. Dynamic$Adap/ve$Streaming$over$HTTP$ •  In$a$nutshell$…$ Ack$&$©:$Christopher$Müller$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 4$
  • 5. Presenters$ Chris,an(Timmerer( Carsten(Griwodz( Assistant$professor$at$the$Ins/tute$of$Informa/on$ Head$of$the$Media$department$of$research$company$ Technology$(ITEC),$Mul/media$Communica/on$Group$ Simula$Research$Laboratory,$and$professor$of$Computer$ (MMC),$AlpenBAdriaBUniversität$Klagenfurt,$Austria.$His$ Science$at$the$University$of$Oslo.$He$received$his$Dipl.B research$interests$include$immersive$mul/media$ Inf.$degree$from$Paderborn$University$in$1993$and$Dr.B communica/on,$streaming,$adapta/on,$and$Quality$of$ Ing.$degree$from$Technische$Universität$Darmstadt$in$ Experience$(QoE).$He$was$the$general$chair$of$ 2000.$He$worked$for$IBM$from$1993–98$and$par/cipated$ WIAMIS’08,$AVSTP2P’10$(coBlocated$with$ACMMM’10),$ in$the$standardiza/on$of$MHEG.$His$research$is$ WoMAN’11$(coBlocated$with$ICME’11),$and$TPC$coBchair$ concerned$with$streaming$media,$ranging$from$scalable$ of$QoMEX’12.$He$has$par/cipated$in$several$ECBfunded$ distribu/on$architectures$through$opera/ng$system$and$ projects,$notably$DANAE,$ENTHRONE,$P2PBNext,$ protocol$support$to$subjec/ve$visual$quality$assessment.$$ ALICANTE,$and$SocialSensor.$He$is$an$Associate$Editor$for$ He$was$coBchair$of$ACM$NOSSDAV$2008,$ACM/IEEE$ IEEE$Computer$Science$Compu/ng$Now,$Area$Editor$for$ NetGames$2011,$SPIE/ACM$MMCN$2006$and$2007,$Track$ Elsevier$Signal$Processing:$Image$Communica/on,$Review$ chair$of$ACM$MM$2008,$TPC$chair$of$ACM$MMSys$2012$ Board$Member$of$IEEE$MMTC,$editor$of$ACM$SIGMM$ and$is$general$chair$of$MMSys$2013.$He$is$Associate$ Records,$and$member$of$ACM$SIGMM$Open$Source$ Editor$of$ACM$TOMCCAP$and$EditorBinBChief$of$the$ Sorware$CommiZee.$He$also$par/cipated$in$ISO/MPEG$ newsleZer$ACM$SIGMM$Records.$The$Media$group$ work$for$several$years,$notably$in$the$area$of$MPEGB21,$ publishes$news$at$hZp://mpg.ndlab.net.$His$publica/ons$ MPEGBM,$MPEGBV,$and$DASH$(incl.$DASH$promoters$ can$be$found$at$hZp://simula.no/people/griff/ group).$He$received$his$PhD$in$2006$from$the$Klagenfurt$ bibliography.$ University.$Publica/ons$and$MPEG$contribu/ons$can$be$ found$under$hZp://research./m$merer.com,$follow$him$ on$hZp://www.twiZer.com//mse7,$and$subscribe$to$his$ blog$hZp://blog./mmerer.com.$Full$bio$can$be$found$at$ hZp://wwwBitec.uniBklu.ac.at/~/mse/cv/.$ DASH$Tutorial,$ACM$Mul/media$2012$ Oct$29,$2012$ 5$
  • 6. Tutorial$Outline$ –  Scope$and$design$principles$ –  Data$model$ –  Profiles$ –  GPAC$ –  VLC$media$player$plugin,$libdash$ –  Javascript$&$HTML5$=>$DASHBJS$ –  Mobile,$heterogeneous$environments$ –  Quality$of$Experience$(QoE)$ –  Synchroniza/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 6$
  • 7. Dynamic(Adap,ve( Streaming(over(HTTP((DASH)( Chris,an(Timmerer(and(Christopher(Müller( ( AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on( Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)( research./mmerer.com$!$blog./mmerer.com$!$selab.itec.aau.at$!$dash.itec.aau.at$!$stcsn.ieee.net$ chris/an./mmerer@itec.aau.at$ ACM(Mul,media(2012,(Nara,(Japan( 29th(October,(2012( Acknowledgment:$Thomas$Stockhammer$(QUALCOMM),$Mark$Watson$(Nezlix),$Iraj$Sodagar$(Microsor)$
  • 9. Dynamic$Adap/ve$Streaming$over$HTTP$(DASH)$ Proprietary(Solu,ons( Int’l(Standard(Solu,ons(V1( Int’l(Standard(Solu,ons(V2( Apple(HTTP(Live( Streaming(( 3GPP(Rel.9(Adap,ve( 3GPP(Rel.10(DASH( Adobe(HTTP( HTTP(Streaming(( Dynamic(Streaming(( V3…$ Microsoe(Smooth( Streaming( OIPF(HTTP(Adap,ve( MPEGHDASH( Streaming( Neflix( Akamai( Movenetworks’( Movestreaming(( Amazon( .(.(.( /me$ hZp://mul/mediacommunica/on.blogspot.com/2010/05/hZpBstreamingBofBmpegBmedia.html$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 9$
  • 10. DASH$Design$Principles$ •  DASH$is$not$ –  system,$protocol,$presenta/on,$codec,$interac/vity,$DRM,$client$specifica/on$ •  DASH$is$an$enabler$ –  It$provides$formats$to$enable$efficient$and$highBquality$delivery$of$streaming$ services$over$the$Internet$ –  It$is$considered$as$one$component$in$an$endBtoBend$service$ –  System$defini/on$ler$to$other$organiza/ons$(SDOs,$fora,$companies,$etc.)$ •  Design$choices$ –  Enable$reuse$of$exis/ng$technologies$(containers,$codecs,$DRM$etc.)$ –  Enable$deployment$on$top$of$HTTPBCDNs$(Web$Infrastructures,$caching)$ –  Enable$very$high$userBexperience$(low$startBup,$no$rebuffering,$trick$modes)$ –  Enable$selec/on$based$on$network$and$device$capability,$user$preferences$ –  Enable$seamless$switching$ –  Enable$live$and$DVDBkind$of$experiences$ –  Move$intelligence$from$network$to$client,$enable$client$differen/a/on$ –  Enable$deployment$flexibility$(e.$g.,$live,$onBdemand,$/meBshir$viewing)$ –  Provide$simple$interoperability$points$(profiles)$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 10$ Ack$&$©:$Thomas$Stockhammer$
  • 11. Scope$of$DASH$ Server( Client( 1( MF( MF( 2( DF( DF( ISOBM ISOBM FF( easy$ easy$ FF( conversion$ conversion$ M2TS( M2TS( Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 11$
  • 12. What$is$specified$–$and$what$is$not?$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 12$ Ack$&$©:$Thomas$Stockhammer$
  • 13. DASH$Data$Model$ Segment Info Initialization Segment http://www.e.com/ahs-5.3gp Media Presentation Media Segment 1 Period, start=0s Period, start=0s • start=100 Representation 1 http://www.e.com/ahs-5-1.3gs … … • baseURL=http://www.e.com/ • bandwidth=500kbit/s • width 640, height 480 Media Segment 2 Representation 1 … start=10s http://www.e.com/ahs-5-2.3gs Period, start=100s 500kbit/s Segment Info … duration=10s Media Segment 3 start=20s Representation 2 Template: http://www.e.com/ahs-5-3.3gh 100kbit/s ./ahs-5-$Index$.3gs Period, start=295s … … … Media Segment 20 start=190s http://www.e.com/ahs-5-20.3gs Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 13$ Ack$&$©:$Thomas$Stockhammer$
  • 14. Media$Presenta/on$Descrip/on$ •  Redundant$informa/on$of$Media$Streams$for$the$purpose$to$ ini/ally$select$or$reject$Adapta/onSets$of$Representa/ons$ –  Examples:$Codec,$DRM,$language,$resolu/on,$bandwidth$ •  Access$and$Timing$Informa/on$ –  HTTPBURL(s)$and$byte$range$for$each$accessible$Segment$ –  Earliest$next$update$of$the$MPD$on$the$server$ –  Segment$availability$start$and$end$/me$in$wallBclock$/me$ –  Approximated$media$start$/me$and$dura/on$of$a$Media$Segment$in$ the$media$presenta/on$/meline$ –  For$live$service,$instruc/ons$on$star/ng$playout$such$that$media$ segments$will$be$available$in$/me$for$smooth$playout$in$the$future$ •  Switching$and$splicing$rela/onships$across$Representa/ons$ •  Rela/vely$liZle$other$informa/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 14$ Ack$&$©:$Thomas$Stockhammer$
  • 15. MPD$Schema$Overview$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 15$ Ack$&$©:$Iraj$Sodagar$
  • 16. MPD$Schema$B$Representa/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 16$ Ack$&$©:$Iraj$Sodagar$
  • 17. DASH$Adapta/onSets$&$Subsets$ Adapta,onSet(id="grpH1"( Adapta/onSet$by$codec,$language,$resolu/on,$ bandwidth,$views,$etc.$–$very$flexible$(in$combina/on$ Representa,on(id="repH1"( with$xlink)!$ Representa,on(id="repH2"( "  Ranges$for$the$@bandwidth,$@width,$@height$and$ @frameRate$ .(.(.( Representa,on(id="repHn"( Subset(id="ssH1"( Contains(group="grpH1"( Adapta,onSet(id="grpH2"( Contains(group="grpH4"( Representa,on(id="repH1"( Contains(group="grpH7"( Representa,on(id="repH2"( .(.(.( Representa,on(id="repHn"( Subsets$ "  Mechanism$to$restrict$the$combina/on$of$ .(.(.( ac#ve$Groups$ "  Expresses$the$inten/on$of$the$creator$of$the$ Adapta,onSet(id="grpHm"( Media$Presenta/on$$ Representa,on(id="repH1"( Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 17$ Representa,on(id="repH2"(
  • 18. Segment$Indexing$ •  Provides$binary$informa/on$in$ISO$box$structure$on$ –  Accessible$units$of$data$in$a$media$segment$ –  Each$unit$is$described$by$ •  Byte$range$in$the$segments$(easy$access$through$HTTP$par/al$GET)$ •  Accurate$presenta/on$dura/on$(seamless$switching)$ •  Presence$of$representa/on$access$posi/ons,$e.g.$IDR$frames$ •  Provides$a$compact$bitrateBoverB/me$profile$to$client$ –  Can$be$used$for$intelligent$request$scheduling$ •  Generic$Data$Structure$usable$for$any$media$segment$ format,$e.g.$ISO$BMFF,$MPEGB2$TS,$etc.$ •  Hierarchical$structuring$for$efficient$access$ •  May$be$combined$with$media$segment$or$may$be$separate$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 18$ Ack$&$©:$Thomas$Stockhammer$
  • 19. Segment$Indexing$ seg1.mp4 Segment(Index(in(MPD(only( <MPD> seg2.mp4 ... <URL sourceURL="seg1.mp4"/> <URL sourceURL="seg2.mp4"/> ... </MPD> <MPD> seg.mp4 ... <URL sourceURL="seg.mp4" range="0-499"/> <URL sourceURL="seg.mp4" range="500-999"/> </MPD> Segment(Index(in(MPD(+(Segment(( <MPD> sidx ... .mp4 <Index sourceURL=”sidx.mp4"/> <URL sourceURL="seg.mp4"/> </MPD> seg.mp4 Segment(Index(in(Segment(only(( <MPD> ... <BaseURL>seg.mp4</BaseURL> sidx seg.mp4 </MPD> Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 19$
  • 20. Switch$Point$Alignment$ •  Segment$alignment$ –  Permits$nonBoverlapping$decoding$and$presenta/on$of$segments$from$ different$representa/ons$ •  Stream$Access$Points$(SAPs)$ –  Presenta/on$/me$and$posi/on$in$segments$at$which$random$access$and$ switching$can$occur$ •  Bitstream$Switching$ –  Concatena/on$of$segments$from$different$representa/ons$results$in$ conforming$bitstream$ •  Alignment$and$SAPs$can$ also$apply$for$subsegments$ •  Preferable$switching$points$ are$segment/subsegment$ boundaries$for$which$ –  Alignment$holds$across$ representa/ons$ –  The$switchBto$ representa/on$starts$with$ a$SAP$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 20$ Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
  • 21. Profiles$ •  Subset$(restric/ons)$of$the$func/onality$ •  Target$specific$applica/ons/domains$ •  As$of$now,$mainly$related$to$supported$segment$ formats$ Full(Profile( ISOBMFF(Main( MPEGB2$ MPEGH2( ISOBMFF$ ISOBMFF$ TS$Simple$ TS(Main( On$Demand$ Live$ •  More$restric/ons$may$be$added$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 21$ Ack:$Thomas$Stockhammer$
  • 22. Adap/ve$Streaming$Summary$ •  For$on$demand$ •  For$live$ –  Chunks$are$unnecessary$and$costly$ –  Chunks$are$unavoidable$ –  Byte$range$requests$have$caching$and$ –  S/ll$value$in$decoupling$request$size$ flexibility$advantages$ from$chunk$size$ –  Separate$audio/video$essen/al$for$ –  Mul/ple$language$audio$tracks$are$rare$ language$support$ –  May$need$manifest$updates$ •  For$both$ –  Switch$point$alignment$required$for$most$CE$decoding$pipelines$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 22$ Ack$&$©:$Mark$Watson$and$Thomas$Stockhammer$
  • 23. Adapta/on$Problem$ Choose$sequence$and$/ming$of$requests$to$minimize$ probability$of$reBbuffers$and$maximize$quality$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 23$ Ack$&$©:$Mark$Watson$
  • 24. Poten/al$Future$Work$Items$ •  MMSys’11$Keynote$ –  HTTP$Adap/ve$Streaming$in$Prac/ce$by$Mark$Watson$(Nezlix)$ –  Future$work$ •  Good$models$for$future$bandwidth$ •  Tractable$representa/ons$of$future$choices$B$how$to$efficiently$search$ the$'choice$space'$ •  What$are$the$quality$goals?$ •  Call$for$adapta/on$logics$ –  Efficient$implementa/ons$of$the$actual$adapta/on$logic$which$is$ responsible$for$the$dynamic$and$adap/ve$part$of$DASH$ hZp://mul/mediacommunica/on.blogspot.com/2011/02/betaBversionBofBvlcBdashBplugin.html$ •  Get$it$deployed$and$adopted$(e.g.$W3C,$DVB$–$what$is$ necessary?)$ •  Join$this$ac/vity,$everyone$is$invited$–$get$involved$in$and$ exited$about$DASH!$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 24$
  • 25. DASH(“Encoder”,(Dataset,(and(Players( Stefan(Lederer,(Christopher(Müller,(Benjamin(Rainer,(and(Chris,an(Timmerer( ( AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on( Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)( hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/ mailto:chris/an./mmerer@itec.uniBklu.ac.at$ ACM(Mul,media(2012,(Nara,(Japan( 29th(October,(2012( Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
  • 26. DASH@GPAC: MP4Box & MP42TS !  Multimedia Packagers •  MPEG-2 TS for DASH profiles •  ISOBMFF Packager & Analyser !  DASH Segmenter •  ISOBMFF and M2TS segments -  All DASH profiles supported -  URL-template naming scheme •  Segment indexing (SIDX) •  GOP-align segments or fragments (MediaSourceExtension) •  Automatic AdaptationSet selection -  Media type, codec, language, PAR -  Handle groups (same media but not switchable) !  DASH live simulator -  Manages MPD update and timeline continuity jean.lefeuvre@telecom-paristech.fr http://gpac.sourceforge.net
  • 27. DASHEncoder$ •  DASH$Content$Genera/on$Tool$ –  Encoding$+$Mul/plexing$+$MPD$genera/on$ –  Generates$isoffmain$profile$compliant$MPDs$ –  Fully$configurable$using$a$configBfile$ –  Enables$batch$processing$ –  Currently$uses$x264$and$GPAC‘s$MP4Box$ –  Easy$extensible$to$further$$ encoders$&$mul/plexers$ –  hZp://dash.itec.aau.at/$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 27$
  • 28. DASHEncoder$ •  h.264:$ $x264$/$ffmpeg$ •  AAC: $ $ffmpeg$ Encode$ •  [WebM,$etc.]$ •  MP4Box: $Video$/$Audio$/$Video$+$Audio$ •  [e.g.$WebM/MKV$Segmenter]$ Container$ •  Generate$one$MPD$ •  Subfolder$Organiza/on$ MPD$ •  MPD$Transforma/on$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 28$
  • 29. Dataset$ •  Dataset(with(DASH(Content( –  Long$sequences$in$high$quality$ –  Various$segmentBlength$versions$ –  Free$available$for$DASH$experiments$$ –  PSNR$values$per$frame$ •  Problem:(Content(Rights( –  CCBAZribu/on$2.0$Generic$(CCHBY(2.0)$License$or$similar$$ –  Free$to$Share,$Free$to$Remix$ –  Note:$YouTube$introduces$CCBBY$in$June$2011!$ •  Nego,a,on(with(content(owner( Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 29$
  • 30. Dataset$Sequences$ Name Source(Quality Length Genre Big$Buck$Bunny$ 1080p$YUV 09:46 Anima/on$$ Elephants$Dream$ 1080p$YUV 10:54 Anima/on$ Red$Bull$Playstreets 1080p,$6$Mbit$H.264$ 01:37:28 Sport$ The$Swiss$Account$ 1080p,$6$Mbit$H.264 57:34 Sport$ Valkaama 1080p,$6$Mbit$H.264$ 01:33:05 Movie$ Of$Forest$and$Men SD 10:53 Movie$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 30$
  • 31. DASH$Dataset$Sequences$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 31$
  • 32. Bitrates$and$Resolu/ons$ # Anima,on Sport Movie 1 50$kbit/s,$$320x240 100$kbit/s,$$320x240 50$kbit/s,$320x240 2 100$kbit/s,$$320x240 150$kbit/s,$$320x240 100$kbit/s,$320x240 3 150$kbit/s,$$320x240 200$kbit/s,$$480x360 150$kbit/s,$$320x240 4 200$kbit/s,$$480x360 250$kbit/s,$$480x360 200$kbit/s,$$480x360 5 250$kbit/s,$$480x360 300$kbit/s,$$480x360 250$kbit/s,$$480x360 6 300$kbit/s,$$480x360 400$kbit/s,$$480x360 300$kbit/s,$$480x360 7 400$kbit/s,$$480x360 500$kbit/s,$$854x480 400$kbit/s,$$480x360 8 500$kbit/s,$$480x360 700$kbit/s,$$854x480 500$kbit/s,$$854x480 9 600$kbit/s,$$854x480$ 900$kbit/s,$$854x480 600$kbit/s,$$854x480 10 700$kbit/s,$$854x480$ 1,2$Mbit/s,$$854x480 700$kbit/s,$$854x480 11 900$kbit/s,1280x720$ 1,5$Mbit/s,1280x720 900$kbit/s,1280x720 12 1,2$Mbit/s,1280x720$ 2,0$Mbit/s,1280x720 1,2$Mbit/s,1280x720 13 1,5$Mbit/s,1280x720$ 2,5$Mbit/s,1280x720 1,5$Mbit/s,1280x720 14 2,0$Mbit/s,1280x720$ 3,0$Mbit/s,1920x1080 2,0$Mbit/s,1920x1080 15 2,5$Mbit/s,1920x1080$ 4,0$Mbit/s,1920x1080 2,5$Mbit/s,1920x1080 16 3,0$Mbit/s,1920x1080$ 5,0$Mbit/s,1920x1080 3,0$Mbit/s,1920x1080 17 4,0$Mbit/s,1920x1080 6,0$Mbit/s,1920x1080 4,0$Mbit/s,1920x1080 18 5,0$Mbit/s,1920x1080 $ 5,0$Mbit/s,1920x1080 19 Oct$29,$2012$ 6,0$Mbit/s,1920x1080 $ DASH$Tutorial,$ACM$Mul/media$2012$ 6,0$Mbit/s,1920x1080 32$ 20 8,0$Mbit/s,1920x1080 $ $
  • 33. DASH$Content$Types$ •  Segment(Size:$ –  Seconds:$1,$2,$4,$6,$10,$15$ •  File(Organiza,on( –  Segmented$ –  One$file$per$representa/on,$Byte$Range$Requests$ •  e.g.:(Big(Buck(Bunny( –  (120(Encodings$needed$ –  Only$6(DASH(Encoder$runs$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 33$
  • 34. DASH@GPAC: Playback !  DASHClient !  Integrated in Osmo4 •  DASH ISOBMFF, M2TS (+ HLS) •  Many input formats and -  With or without bitstreamSwitching codecs -  Support for multiple Periods •  Composition engine •  All profiles except onDemand (SVG, BIFS, X3D) (ongoing) !  Try it! -  VoD through « live » or « main » •  Included in libgpac •  Local files and http(s) playback •  Independent from player •  Various download policies GPAC DASH MPD Playback Media Bring Your Own Segments DASH APP !! jean.lefeuvre@telecom-paristech.fr http://gpac.sourceforge.net
  • 35. DASH$VLC$Plugin$Architecture$ •  Four$major$ components$and$ two$controller$ classes$ •  Easy$Adapta/on$ Logic$Interface$for$ Researchers$and$ Developers$ •  Flexible$HTTP$ structure$for$further$ improvements$e.g.$ persistent$ hZp://dash.itec.aau.at/$ connec/ons$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 35$
  • 36. DASH$VLC$Plugin$Features$ •  Officially$part$of$VLC$and$as$library$(libdash)$ •  Provides$a$simple$interface$to$integrate$new$ Adapta/on$Logics$ •  Dynamic$adapta/on$to$the$available$bandwidth$ •  Flexible$for$further$improvements,$e.g.,$profiles,$ persistent$connec/ons$and$pipelining$ •  Source$code$is$available$through$the$VLC$git$ repository$and$at:$ hZp://wwwBitec.aau.at/dash$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 36$
  • 37. VLC$Architecture$ •  Interface:$User$ interac/on$e.g.$stop,$play$ etc.$ •  Access:$HTTP,$RTP$etc.$ •  StreamBFilter:$Recording,$ Dynamic$Streaming$ •  Demux:$MP4,$M2TS,$ MKV$ •  Decoder:$H264,$VP8$etc.$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 37$
  • 38. DASH$in$JavaScript$(DASHBJS)$ •  Completely$implemented$in$JavaScript$–$no$ (3rd$party)$plugins$required$ •  Makes$use$of$the$Media$Source$API$provided$ by$Google$Chrome$ –  Support$for$WebM$and$ISOBMFF$ •  Provides$/me$based$and$byte$based$buffers$ –  E.g.,$use$as$input$for$adapta/on$logics$ •  Flexible$adapta/on$logics$ –  Easy$to$extend$exis/ng$ones$or$integrate$your$ own$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 38$
  • 39. DASHBJS$Architecture$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 39$
  • 40. DASHBJS$(cont’d)$ •  Bandwidth$/$throughput$es/ma/on$ –  …$is$done$each$/me$a$segment$is$retrieved$ –  At$the$beginning$the$MPD$is$used$to$have$an$educated$guess$on$the$ bandwidth$ –  To$bypass$proxy$caching$“noBcache”$is$set$in$the$HTTP$Request$Header$ (will$influence$the$throughput$es/ma/on)$ •  Representa/on$selec/on$is$based$on:$ w1bn−1 + w2 bm bn = w1 + w2 –  bnB1$denotes$the$throughput$calculated$at$the$nB1th$segment$ –  bm$depicts$the$throughput$measured$with$the$nth$segment$ –  bn$is$used$to$decide$which$representa/on$should$be$selected$ –  The$weights$(w1$and$w2)$are$used$to$mimic$op/mis/c$or$pessimis/c$ behavior$ •  Simple$adapta/on$logic,$easy$to$extend,$modify…$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 40$
  • 41. Showcases$ •  Sintel$Trailer$@$480p$ –  5$representa/on$from$200$kbps$to$2000$kbps$video$bitrate$ –  128$kbps$audio$for$all$representa/ons$ –  Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtest.html$$ –  MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/sintel_mul/_rep.mpd$ •  Big$Buck$Bunny$@$480p$ –  7$representa/ons$from$200$kbps$to$4700$kbps$video$bitrate$ –  128$kbps$audio$for$all$representa/ons$ –  Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny.html$$ –  MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny.mpd$ •  Big$Buck$Bunny$@$1080p$ –  7$representa/ons$from$1000$kbps$to$8000$kbps$ –  128$kbps$audio$for$all$representa/ons$ –  Showcase:$hZp://wwwBitec.uniBklu.ac.at/dash/js/dashtestBbunny1080p.html$$ –  MPD:$hZp://wwwBitec.uniBklu.ac.at/dash/js/content/bigbuckbunny_1080p.mpd$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 41$
  • 42. Conclusions$ •  EndBtoBend$DASH$tools$available$ –  GPAC$provides$support$for$ISOBMFF,$M2TS,$and$beyond$ –  DASH$VLC$plugin$and$libdash$(world$first$DASH$player)$ –  DASHBJS$for$easy$Web$integra/on$(HTML5,$Javascript)$ •  Flexible$architecture,$easy$to$extend,$e.g.:$ –  Add$your$own$profile$(!!!)$ –  Add$your$own$buffer$model$ –  Add$your$own$bandwidth$es/ma/on,$adapta/on$logic$ •  Open$source:$hZp://dash.itec.aau.at$|$ hZp://gpac.sourceforge.net$ –  Feel$free$to$use$it,$please$acknowledge/reference$us$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 42$
  • 43. An(Evalua,on(of(Dynamic(Adap,ve(Streaming( over(HTTP(in(Vehicular(Environments( Christopher(Müller,(Stefan(Lederer,(and(Chris,an(Timmerer( ( AlpenHAdriaHUniversität(Klagenfurt((AAU)(!(Faculty(of(Technical(Sciences((TEWI)(!(Department(of(Informa,on( Technology((ITEC)(!(Mul,media(Communica,on((MMC)(!(Sensory(Experience(Lab((SELab)( hZp://research./mmerer.com$!$hZp://blog./mmerer.com$!$hZp://dash.itec.aau.at/ mailto:chris/an./mmerer@itec.uniBklu.ac.at$ ACM(Mul,media(2012( 29th(October,(2012( Acknowledgments.$This$work$was$supported$in$part$by$the$European$Commission$in$the$context$of$the$ALICANTE$project$(FP7B ICTB248652),$SocialSensor$(FP7BICTB287975),$and$the$COST$Ac/on$IC1003$QUALINET.$$
  • 44. Methodology$ •  Experiment(1(/(Track(1((601(seconds)$ –  Drive$on$the$freeway$A2,$passing$by$the$city$of$Villach$in$the$direc/on$to$ Klagenfurt.$ •  Experiment(2(/(Track(2((575(seconds)$ –  From$the$AlpenBAdriaBUniversität$Klagenfurt$on$the$freeway$A2$un/l$the$ service$area$around$Techelsberg.$ •  Experiment(3(/(Track(3((599(seconds)$ –  From$the$service$area$around$Techelsberg$on$the$freeway$A2$to$the$exit$of$ Klagenfurt.$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 44$
  • 45. Metrics$ •  Average$bitrate$ –  Overall$performance$for$the$en/re$session$ •  Number$of$quality$switches$ –  Different$representa/on$due$available$bandwidth$ •  Buffer$level$ –  Es/mated$with$download$/mestamp$(DTS)$and$ presenta/on$/mestamp$(PTS)$ •  Number$of$unsmooth$seconds$ –  Buffer$empty$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 45$
  • 46. Experimental$Setup$ •  Bandwidth$Shaping$ –  Ubuntu$11.04$w/$Linux$hierarchical$token$bucket$(htb)$ –  Available$bandwidth$will$be$adjusted$every$2s$due$to$the$recorded$ traces$and$2s$segment$length$ •  Network$Emula/on$ –  Emulates$a$round$trip$/me$of$150ms$ •  HTTP$Server$ –  Server$based$on$Windows$Server$2008$and$IIS$/$Ubuntu$11.04$and$ Apache$Web$Server$ •  Evalua/on$Client$ –  Windows$or$Linux$depending$on$the$evalua/on$system$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 46$
  • 47. Dataset$ •  All$experiments$have$been$performed$with$ the$same$content$based$on$[Lederer2012]$ •  The$content$has$been$encoded$with$x264$ •  14$different$bitrates$from$100kbps$to$ 4500kbps$ •  Segments$with$a$length$of$2$seconds$ –  Restricted$by$Microsor$Smooth$Streaming$ •  That$content$has$been$used$for$all$three$ scenarios$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 47$
  • 48. Microsor$Smooth$Streaming$ •  Client$based$on$Windows$7,$Microsor$ Silverlight$and$Firefox$7$ •  Server$based$on$Windows$Server$2008$and$IIS$ with$Media$Services$4.0$ •  Content$has$been$mul/plexed$with$IIS$ Transform$Manager$1.0$Beta$ •  PTS$has$been$taken$from$the$request$URL$ •  DTS$comes$from$the$bandwidth$emula/on$ node$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 48$
  • 50. Adobe$Dynamic$HTTP$Streaming$ •  Client$is$based$on$Ubuntu$11.04,$Firefox$7$and$ the$Open$Source$Media$Framework$player$ •  The$server$component$hosts$the$Flash$Media$ Server$in$development$edi/on$ •  The$content$has$been$generated$with$the$ Adobe$File$Packager$for$Adobe$Dynamic$ Streaming$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 50$
  • 52. Apple$HTTP$Live$Streaming$ •  Client$is$based$on$Mac$OS$X$Snow$Leopard$ 10.6$and$Safari$5$ •  Content$has$been$generated$with$Microsor$ Transform$Manager$ –  Transmul/plexing$of$mp4$to$MPEGB2$TS$ –  Chops$the$transport$stream$into$segments$of$2$ seconds$length$ •  The$only$system$that$uses$MPEGB2$TS$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 52$
  • 54. Our$MPEGBDASH$Implementa/on$ •  Client:$DASH$VLC$Plugin$[Mueller2011]$on$ Ubuntu$11.04$$ •  Server:$Ubuntu$11.04$which$hosts$an$Apache$ Web$server$ •  Content$based$on$DASH$dataset$generated$ with$DASHEncoder$ •  Simple$(naïve)$adapta/on$logic$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 54$
  • 56. MPEGBDASH$AVC$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 56$
  • 57. MPEGBDASH$SVC$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 57$
  • 58. Summary$ Name( Average(Bitrate( Average(Switches( Average(Unsmoothness( [kbps]( [Number(of(Switches]( [Seconds]( Microsor$ 1522$ 51$ 0$ Adobe$ 1239$ 97$ 64$ Apple$ 1162$ 7$ 0$ MPEGBDASH$ 1045$ 141$ 0$ Naïve*$ MPEGBDASH$ 1464$ 166$ 0$ Pipelined*$ MPEGBDASH$ 2341$ 81$ 0$ AVC**$ MPEGBDASH$ 2738$ 101$ 0$ SVC**$ *$…$MoVid/MMSys,$February$2012$ **$…$EUSIPCO,$August$2012$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 58$
  • 59. Conclusions$ •  Microsor$Smooth$Streaming$ –  Performs$very$well$w.r.t.$average$bitrate$ –  Yes,$deserves$the$name$smooth$streaming$ •  Apple$HLS$ –  Less$quality$switches$due$to$large$buffer$ –  Designed$for$mobile$devices,$energy$awareness$ •  Adobe$HDS$ –  Binary$decision$between$the$highest$and$the$lowest$representa/on$ –  Stalls,$reBbuffering$=>$low$QoE$$ •  Our$MPEGBDASH$implementa/on$ –  Achieves$a$good/superior$average$bitrate$ –  In$striking$distance$to$the$top,$space$for$improvements$though$(e.g.,$buffer$ management)$ •  Disclaimer:$comparison$of$specific$client$implementa/ons,$not$formats$ (manifest/segment),$not$technology$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 59$
  • 60. DASH$@$AAU/ITEC$ hZp://dash.itec.aau.at/$ $ DASH$VLC$Plugin$ $ DASHEncoder$ $ libdash$ $ Dataset$ $ DASHBJS$ $ Join$this$ac/vity,$everyone$ is$invited$–$get$involved$in$ and$exited$about$DASH!$ $ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 60$
  • 61. Acknowledgments$ •  EC$projects$for$par/ally$funding$this$ac/vity$ –  ALICANTE$project$(FP7BICTB248652)$ •  hZp://www.ictBalicante.eu$ –  SocialSensor$project$(FP7BICTB287975)$ •  hZp://www.socialsensor.org$ –  COST$ICT$Ac/on$IC1003$ •  QUALINET$–$European$Network$on$Quality$ of$Experience$in$Mul/media$Systems$and$Services$ •  hZp://www.qualinet.eu/$ •  DASH$Industry$Forum$ –  hZp://www.dashif.com$ •  Christopher$Müller:$VLC$Plugin,$libdash$ •  Stefan$Lederer:$DASHEncoder,$dataset,$DASHBJS$ •  Benjamin$Rainer:$DASHBJS$ •  Hermann$Hellwagner$for$his$advice$and$feedback$ •  ISO/IEC$MPEG$and$its$par/cipa/ng$members$for$their$construc/ve$ feedback$during$the$standardiza/on$process$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 61$
  • 62. References$ •  Christopher$Müller,$Daniele$Renzi,$Stefan$Lederer,$Stefano$Baàsta$and$Chris/an$Timmerer,$“Using$ Scalable$Video$Coding$for$Dynamic$Adap/ve$Streaming$Over$HTTP$in$Mobile$Environments”,$In$ Proceedings$of$the$20th$European$Signal$Processing$Conference$2012,$Bucharest,$Romania,$August$ 27B31,$2012.$ •  Benjamin$Rainer,$Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“A$Seamless$Web$ Integra/on$of$Adap/ve$HTTP$Streaming”,$In$Proceedings$of$the$20th$European$Signal$Processing$ Conference$2012,$Bucharest,$Romania,$August$27B31,$2012.$ •  Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“PeerBAssisted$Dynamic$Adap/ve$ Streaming$over$HTTP$–$System$Design$and$Evalua/on”,$In$Proceedings$of$the$IEEE$Interna/onal$ Packet$Video$Workshop$2012,$Munich,$Germany,$May$10B11,$2012.$ •  Christopher$Müller,$Stefan$Lederer$and$Chris/an$Timmerer,$“An$Evalua/on$of$Dynamic$Adap/ve$ Streaming$over$HTTP$in$Vehicular$Environments”,$In$Proceedings$of$the$4th$ACM$Workshop$on$ Mobile$Video,$Chapel$Hill,$North$Carolina,$February$24,$2012.$ •  Stefan$Lederer,$Christopher$Müller$and$Chris/an$Timmerer,$“Dynamic$Adap/ve$Streaming$over$ HTTP$Dataset”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$2012,$Chapel$Hill,$North$ Carolina,$February$22B24,$2012.$ •  Christopher$Müller$and$Chris/an$Timmerer,$“A$VLC$Media$Player$Plugin$enabling$Dynamic$Adap/ve$ Streaming$over$HTTP”,$In$Proceedings$of$the$ACM$Mul/media$2011,$ScoZsdale,$Arizona,$November$ 28,$2011.$ •  Christopher$Müller$and$Chris/an$Timmerer,$“A$TestBBed$for$the$Dynamic$Adap/ve$Streaming$over$ HTTP$featuring$Session$Mobility”,$In$Proceedings$of$the$ACM$Mul/media$Systems$Conference$ 2011,$San$Jose,$California,$February$23B25,$2011.$ •  Chris/an$Timmerer$and$Christopher$Müller,$“HTTP$Streaming$of$MPEG$Media”,$In$Proceedings$of$ the$Streaming$Day$2010,$Udine,$Italy,$September$16B17,$2010.$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 62$
  • 63. IEEE$JSAC:$Adap/ve$Media$Streaming$ •  Guest$Editors$ –  Chris/an$Timmerer,$AlpenBAdriaB Universität$Klagenfurt,$Austria$ –  Ali$C.$Begen,$CISCO,$Canada$ –  Thomas$Stockhammer,$QUALCOMM,$ USA$ –  Carsten$Griwodz,$Simula$Research$ Laboratory,$Norway$ –  Bernd$Girod,$Stanford$University,$USA$ •  Important$Dates$ –  1st$Submission:$Apr$1,$2013$ –  Reviews$Available:$Jul$1,$2013$ –  2nd$Submission:$Aug$31,$2013$ –  Final$Acceptance$Decision:$Oct$31,$2013$ –  CameraBready:$Dec$1,$2013$ –  Publica/on:$2nd$quarter$2014$ hZp://mul/mediacommunica/on.blogspot.com/ 2012/07/jsacBspecialBissueBadap/veBmedia.html$ Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 63$
  • 64. Thank$you$for$your$aZen/on$ ...$ques/ons,$comments,$etc.$are$welcome$…$ $ $ $Ass.BProf.$Dipl.BIng.$Dr.$Chris/an$Timmerer$ Klagenfurt$University,$Department$of$Informa/on$Technology$(ITEC)$ Universitätsstrasse$65B67,$AB9020$Klagenfurt,$AUSTRIA$ chris/an./mmerer@itec.uniBklu.ac.at$ hZp://research./mmerer.com/$ Tel:$+43/463/2700$3621$Fax:$+43/463/2700$3699$ ©'Copyright:'Chris#an'Timmerer' Oct$29,$2012$ DASH$Tutorial,$ACM$Mul/media$2012$ 64$
  • 65. A Comparison of Quality Scheduling in Commercial Adaptive HTTP Streaming Solutions on a 3G Network Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad, Pål Halvorsen, Carsten Griwodz
  • 66. Fluctuating Bandwidth Problem University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 67. Fluctuating Bandwidth Problem Ferry Subway Question: How well do adaptive streaming media solutions adapt? Bus Tram University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 68. Adaptive Delivery: Tested Systems !  Adobe Strobe Media Playback (v1.6.328 for Flash 10.1) using HTTP Dynamic Streaming Format !  Apple’s native iPad player (iOS v4.3.3) using native HLS format !  Microsoft Silverlight/IIS Smooth (v4.0.60531.0 on Win7) using native Smooth format and default desktop scheduler !  Netview Media Client (v2011-10-10) using Apple HLS format (worst case) and Netview 3G scheduler Server !  Apache v2.2.14 !  CodeShop Unified Streaming Platform v1.4.25 !  Throttling module for trace-based bandwidth limitation, 1sec resolution University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 69. Adaptive Delivery: Test Content !  Video: Norwegian football game (i.e. soccer) !  H.264/AVC Why is the bandwidth !  2 second segments increase non-linear? Bitrate increase Akamai recommendations provides dimishing !  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps return on visual quality increase. The just noticable difference is not achieved at 250 kbps steps. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 70. Comparison of Existing Quality Schedulers Bus: Configured for desktops Ferry: Configured for mobiles University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 71. Comparison of Existing Quality Schedulers Metro: For the Netview algorithm see: “Video Streaming Using a Location-based Bandwidth-Lookup Service for Bitrate Planning”, Haakon Riiser, Tore Endestad, Paul Vigmostad, Carsten Griwodz, Pål Halvorsen, TOMCCAP, July 2012 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 72. Conclusion Difference between players’ quality scheduler dominates the overhead Adobe: maximizes aggressiveness at the expense of stability Apple: maximize stability at the expense of aggressiveness Microsoft Silverlight: good compromise Netview: similar to Microsoft, outperforms in this configuration !  Many people commute using the same route !  Many mobile devices have GPS receivers !  What about crowdsourcing the throughput on the commute paths at various times of day? University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 73. A Comparison of Quality Scheduling in Commercial Adaptive HTTP Streaming Solutions on a 3G Network Haakon Riiser, Håkon S. Bergsaker, Paul Vigmostad, Pål Halvorsen, Carsten Griwodz
  • 74. Prediction Metro: Location-based bandwidth-lookup service for bitrate (video quality) planning: Algorithm: !  Calculate the predicted amount of data that historically can be downloaded !  Calculate maximum steady quality without getting buffer-underruns !  Safety: reactive algorithm fallback University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 75. Prediction: Metro Metro: From: “Video Streaming Using a Location-based Bandwidth-Lookup Service for Bitrate Planning”, Haakon Riiser, Tore Endestad, Paul Vigmostad, Carsten Griwodz, Pål Halvorsen, TOMCCAP, July 2012 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 76. Quality-of-Experience Considerations with Relevance for Adaptive HTTP Streaming Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn, Pål Halvorsen, Carsten Griwodz
  • 77. Adaptive Delivery: Test Content !  Video: Norwegian football game (i.e. soccer) !  H.264/AVC !  2 second segments Question: What is “good” adaptation? Akamai recommendations !  6 quality levels: 250, 500, 750, 1000, 1500, 3000 kbps University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 78. Why visual quality studies? UDP-based streaming DASH & similar   resists packets loss –  scales to available bandwidth   random loss –  congestion loss Applications Applications –  Commercial VoD: Netflix,   IPTV Akamai, Microsoft, Apple,   DVD-H Comoyo, ...   video conferencing –  MPEG DASH   classical RTSP/RTP servers –  Free VoD: Youtube, Metacafe, Dailymotion, Vimeo, Revver, Flixya ... Internet Client WLAN Server University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 79. Why visual quality studies? UDP-based streaming DASH & similar Resilience to packet loss Resilience to buffer underruns Possibly resilience to bit errors Active adaptation (client- side decision) Possibly active adaptation (server-side decision) Internet Client WLAN Server University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 80. PSNR Peak Signal-to-Noise Ratio A prevalent video quality metric (2B − 1)2 PSNR = 10log10 MSE where: 1 M N MSE = ∑∑ [Ima (x, y) − Imb (x, y)]2 MN y =1 x =1 M, N = image dimensions Ima , Imb = pictures to compare B= bit depth University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 81. User experience: reduced PSNR University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 82. PSNR Reference Example from Prof. Touradj Ebrahimi, ACM MM'09 keynote PSNR = 24.9 dB PSNR = 24.9 dB PSNR = 24.9 dB University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 83. PSNR Peak Signal-to-Noise Ratio A prevalent video quality metric In addition to this: •  several different PSNR computations for color images •  different PSNR for different color spaces (RGB,YUV) •  visible influence of the encoding format These problems hurts all metrics that are based on PSNR Improved by image quality metrics such as •  SSIM variants •  rate distortion metrics University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 84. Conclusion You encounter Quality-of-Experience measurements based on PSNR everywhere in the literature. •  it is very easy to compute •  it is probably working to assess the quality of images with bit errors Be very careful when you encounter 1.  PSNR-based objective metrics 2.  adaptation mechanisms whose effectiveness is proven by PSNR !  It’s easy to complain. !  But how to do better? University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 85. QoE Effects of Changing Layers in Adaptive HTTP Streaming Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn, Pål Halvorsen, Carsten Griwodz, Michael Zink
  • 86. Image-based metrics can fail badly: Flickering University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 87. Layered content Used SPEG as layer encoded video format [avail. from C. Krasic, UBC] shape 1 shape 2 layers layers A frames frames amplitude of layer variation layers layers B frames frames frequency of layer variation University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 88. Layered content Comparing PSNR with layer change counting: S(v) = − v i+1 ∑v i These observations discredit v i ∈v PSNR, where v is the vector of frames and vi is the number of layers of a but they don’t provide a real alternative. frame These observations indicate that frequentE change Shape € A B C D F G is problematic. PSNR of shape 1 62.86 61.46 63.15 48.01 49.40 66.02 29.84 PSNR of SPEG 2 outdated. 73.28 52.38 25.08 26.95 63.28 64.30 But shape is 49.47 SPEG scaling decisions were based on intuition. S(v)Adaptive1HTTP Streaming today is based 2 H.264. of shape 2 6 2 2 on 0.5 0 S(v) of shape 2 2 4 1 0 0 0.5 2 Subjective assessment 0.35 0.55 0.73 1.18 1.02 2.18 -0.24 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 89. Layer fluctuation in scalable video streaming University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 90. We need guidelines for video adaptation strategies To cope with the bandwidth fluctuation, which scalability dimension is generally preferable for video adaptation? Within each dimension, which scaling pattern generates the least annoying flicker effect? Is it possible to control the annoyance of flicker effects? How is subjective video quality related to other factors, such as content, devices? University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 91. We investigate visual artifact issues via several subjective tests Previous Findings   Human perception of video quality are content and context dependent   There is no general preference order of scaling dimensions   High frequency may cause flicker effect that is regarded as worse than constant low image quality   In mobile scenario, a frame rate above 12 fps does not cause noticeable visual artifacts   In HDTV scenario, a frame rate of 12 fps does generate noticeable motion jerkiness Challenges of subjective tests:   Efficient and reliable experimental design that avoids fatigue and learning effect University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 92. Flickering effects: the visual artifacts caused by layer fluctuation in scalable video Flicker arises from recurrent changes in spatial or temporal quality, some so rapid that the human visual system only perceives fluctuations within the video. Noise flicker Blur flicker Motion flicker Compression scaling Resolution scaling Frame rate scaling University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 93. Blurriness flicker example Blur flicker Amplitude: 480x320px – 120x80px Frequency: 10f / 3 Hz University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 94. Noise flicker example Noise flicker Amplitude: QP24 – QP40 Frequency: 90f / 0.33 Hz University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 95. Motion flicker example Motion flicker Amplitude: 30fps – 3fps Frequency: 6f / 5 Hz University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 96. How to describe different layer fluctuations? Layer fluctuation pattern -  Frequency: The time interval it takes for a video sequence return to its previous status -  Amplitude: The quality difference between the two layers being switched -  Dimension: Spatial or temporal, artifact type Layer Frequency and Amplitude are the interesting factors in our subjective test University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 97. Layer fluctuation pattern in Spatial dimension Full bit stream, QH F =1/2, A = QH-QL F = 1/4 , A = QH-QL F = 1/6 , A = QH-QL F = 1/24 , A = QH-QL Sub stream QL Bandwidth consumption in all of the changing patterns is the same, due to the same amplitude. References QH and QL differ. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 98. Layer fluctuation pattern in Temporal dimension Full bit stream, 30fps F =1/4, A = 30-15fps F = 1/8 , A = 30-15fps F = 1/12 , A = 30-15fps F = 1/24 , A = 30-15fps Sub stream 15fps Although the average bit-rate is the same, the visual experience of different patterns may not be identical. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 99. Method Participants Procedure •  28 paid, voluntary participants •  Field study at university library •  9 females, 19 males •  Presented on iPod touch devices •  Age 19 – 41 years (mean 24) - Resolution 480x320 •  Self-reported normal hearing, - Frame rate 30 fps and normal/corrected vision •  12 sec video duration •  Random presentations •  Optional number of blocks University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 100. Stability scores - Period 100 % 100 % 100 % 90 % 90 % 90 % 80 % 80 % 80 % 70 % 70 % 70 % 60 % 60 % 60 % 50 % Unstable 50 % Unstable 50 % 40 % 40 % 40 % Stable Stable 30 % 30 % 30 % 20 % 20 % 20 % 10 % 10 % 10 % 0% 0% 0% HQ LQ HQ LQ 10f 30f 60f 90f 10f 30f 60f 90f 180f 180f 6f 6f HQ 30f 60f 90f 180f LQ Perceived quality stability Perceived quality stability Perceived quality stability across period levels for across period levels for across period levels for Noise flicker Blur flicker Motion flicker University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 101. Stability scores - Amplitude 100 % 100 % 100 % 90 % 90 % 90 % 80 % 80 % 80 % 70 % 70 % 70 % 60 % 60 % 60 % Unstable 50 % Unstable 50 % 50 % 40 % 40 % Stable Stable 40 % 30 % 30 % 30 % 20 % 20 % 20 % 10 % 10 % 10 % 0% 0% 240x160 120x80 0% QP28 QP32 QP36 QP40 px 15fps 10fps 5fps 3fps Perceived quality stability Perceived quality stability Perceived quality stability across amplitude levels for across amplitude levels for across amplitude levels for Noise flicker Blur flicker Motion flicker University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 102. Video quality 2 Constant high quality QP 28 QP 32 QP 36 references Mean Acceptance Score QP 40 1 Constant low quality 0 reference, QP28 −1 Not investigated here: relation between qualities −2 HQ 6f 10f 30f 60f 90f 180f LQ Period Noise L1 QP24 L0 QP28, QP32, QP36, QP40 Period 1/5s, 1/3s, 1s, 2s, 3s, 6s Content 4 mid/long distance shots From: “Flicker Effects in Adaptive Video Streaming to Handheld Devices”, Pengpeng Ni, Ragnhild Eg, Alexander Eichhorn, Carsten Griwodz, Pål Halvorsen ACM Multimedia 2011 University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 103. Acceptance - Noise flicker 2 QP 28 QP 32 QP 36 Mean Acceptance Score QP 40 1 0 −1 −2 HQ 6f 10f 30f 60f 90f 180f LQ Period University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 104. Acceptance – Blur flicker 2 240x160 Mean Acceptance Score 120x80 1 0 −1 −2 HQ 6f 10f 30f 60f 90f 180f LQ Period University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 105. Acceptance – Motion flicker 2 15 fps 10 fps 5 fps Mean Acceptance Score 3 fps 1 0 −1 −2 HQ 30f 60f 90f 180f LQ Period University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 106. Conclusions With longer flicker frequencies (high periods), acceptance of video quality increases in the spatial dimension Amplitude (quality difference) has larger effect than frequency, both for stability and acceptance For noise flicker, large quality differences are rated more acceptable with less frequent quality shifts. For blur flicker, improved acceptance with less frequent shifts is more pronounced for the smallest quality difference. The flicker effect varies across contents, particularly for motion flicker. The three types of flicker have different influences on stability and quality acceptance scores. Scores are generally lower for blur flicker. University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 107. Network Behaviour of DASH Traffic Tomas Kupka, Pål Halvorsen, Carsten Griwodz
  • 108. Stream liveness !  The time it takes for an event to appear on the screen Liveness = 0s playout University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 109. Live traffic pattern Segmented live stream Limiting factors: Download synchronization -  Server speed -  Client speed Connection is idle -  Client buffer size -  Segment availability bandwidth time 2s 2s University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 110. VoD traffic pattern Segmented video file Limiting factors: -  Server speed -  Client speed -  Client buffer size •  not in real systems bandwidth •  buffer size is limited •  behaviour like live etc. when buffer is full time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 111. Transporting DASH 1. Does the request synchronization lead to problem? 2. Can we reduce such problem? Experiments with ns-2 Clients •  20 min. stream •  6 bitrates (250 to 3000 kb/s) •  2 sec. segments •  TCP CC CUBIC Bottleneck link 100 mb/s Web server University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 112. Evaluated modifications TCP congestion control alternatives TCP’s behave differently for short On traffic NewReno CUBIC CWND CWND time time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 113. TCP congestion control alternatives Liveness Router queue drops University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 114. TCP congestion control alternatives packet losses CUBIC Vegas longer router queue TCP Vegas shares the network much better than TCP CUBIC Unfortunately, TCP Vegas looses to all other TCPs in sharing University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 115. TCP congestion control alternatives lowest quality highest quality left: Cubic, right: Vegas" Vegas delivers better liveness Cubic delivers higher quality University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 116. Evaluated modifications Increasing segment length: give TCP more time vs. 2 second segments 10 second segments University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 117. 2 second vs. 10 second segments lowest quality highest quality TCPTCP gets out of slowstart CWND for 2 sec. segments Quality not better for longer segments high Quality low University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 118. Evaluated modifications Request distribution: avoid request synchronization R1 R2 R1 R2 R3 R3 vs. S1 available S1 available University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 119. Client request distribution Client A: S1 S2 S3 time Client B: S1 S2 S3 time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 120. Client request distribution Synchronous requests Distributed requests University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 121. Client request distribution lowest quality highest quality Distribution of the number of segments of different quality left: Sychronized, right: Distributed" University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 122. Evaluated modifications CWND limit: restrict CWND to the max. bitrate available CWND time University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 123. Client request distribution Liveness Router queue drops University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 124. CWND limitation Liveness Router queue drops University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 125. Conclusion TCP CC alternatives: TCP Vegas is good, but not practical Segment duration: No evidence of longer segments being better (network view) Client request distribution leads to good quality and liveness CWDN limitation leads to better fairness University of Oslo DASH Tutorial, ACM Multimedia 2012
  • 126. DASH Tutorial: Summary Introduction to MPEG DASH DASH tools Examples of DASH (and DASH-like) systems’ performance QoE considerations Interaction of DASH and TCP University of Oslo DASH Tutorial, ACM Multimedia 2012