SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
Video
Streaming




            Video Communications
             and Video Streaming


                John G. Apostolopoulos
            Streaming Media Systems Group
             Hewlett-Packard Laboratories




                                            John G. Apostolopoulos
                                            April 27, 2004           Page 1
Video
Streaming
            Video Communication Applications

            • Video storage, e.g. DVD or Video CD
            • Videophone over PSTN
            • Videoconferencing over ISDN
            • Digital TV
            • Video streaming over the Internet
            • Wireless video
                – Videophone over cellular (Dick Tracy’s watch)
                – Video over 3G and 4G networks: Interactive games, etc.




                                                             John G. Apostolopoulos
                                                             April 27, 2004           Page 2
Video
Streaming
            Outline of Today’s Lecture

            • Properties of Video Communication Applications
            • Brief case studies:
                – Video storage, e.g. DVD
                – Digital television
            • Video streaming over the Internet
                – Bandwidth problem → Rate control
                – Delay jitter → Playout buffer
                – Loss → Error control




                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 3
Video     Properties of Video Communication
Streaming
            Applications

            Wide range of different video communication applications with
             different operating conditions or different properties:
            • Broadcast or multicast or point-to-point
            • Pre-encoded (stored) video or interactive (real-time encoding)
            • Dynamic or static channels
            • Packet-switched or circuit-switched network
            • Quality of Service (QoS) support or best-effort network
            • Constant or variable bit rate channel
             The specific properties of a video communication application
                               strongly influence its design




                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 4
Video     Properties of Video Communication
Streaming
            Applications (cont.)

            • Broadcast
                – One-to-many (basically one-to-all)
                – Example: Broadcast television
                – Typically different channels characteristics for each
                  recipient
                – Sometimes, system is designed for worst case-channel
            • Multicast
                – One-to-many (but not everyone)
                – Example: IP-Multicast over the Internet
                – More efficient than multiple unicasts
                – Similar advantages/disadvantages to broadcast


                                                             John G. Apostolopoulos
                                                             April 27, 2004           Page 5
Video     Properties of Video Communication
Streaming
            Applications (cont.)

            • Point-to-point
                – One-to-one
                – Properties depend on available back channel:
                    – With back channel: Receiver can provide feedback
                      to sender → sender can adapt processing
                    – Without back channel: Sender has limited knowledge
                      about the channel
                – Examples: Videophone, unicast over the Internet




                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 6
Video     Properties of Video Communication
Streaming
            Applications (cont.)

            • Pre-encoded (stored) video
                – Decoder retrieves a previously compressed video
                  that is stored (locally or remotely)
                – Limited flexibility, e.g. often pre-encoded video can
                  not be significantly adapted to current situation
                – Examples of locally stored: DVD or Video CD
                – Examples of remotely stored: Video-On-Demand
                  (VOD), video streaming (e.g. MPEG-4,
                  RealNetworks, & Microsoft streaming content)




                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 7
Video     Properties of Video Communication
Streaming
            Applications (cont.)

            • Real-time (or interactive) vs non-real-time
                – Real-time: Information has time-bounded usefulness,
                  e.g. if the info arrives, but is late, it is useless
                – Equivalent to maximum acceptable latency on
                  transmitted information
                – Non-real-time: Loose latency constraint (many secs)
                – Examples of real-time: Videophone or
                  videoconferencing, interactive games




                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 8
Video     Properties of Video Communication
Streaming
            Applications (cont.)

            • Dynamic (time-varying) vs static channels:
                – Most communication involve channels whose
                  characteristics vary with time, e.g. capacity, error
                  rate, delay
                – Video communication over a dynamic channel is
                  much more difficult than for a static channel
                – Examples of largely static channel: DVD, ISDN
                – Examples of dynamic channels: Internet, wireless




                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 9
Video     Properties of Video Communication
Streaming
            Applications (cont.)

            • Packet-switched vs circuit-switched network
                – Packet-switched: Packets may exhibit variable delay, may
                  arrive out of order, or may be lost completely
                – Circuit-switched: Data arrives in order, however may be
                  corrupted by bit errors or burst errors
                – Example of packet-switched: LAN, Internet
                – Example of circuit-switched: PSTN, ISDN
            • Quality of Service (QoS) support
                – Types of service: Guarantees on bandwidth, maximum loss
                  rates or delay
                – Network QoS support can greatly facilitate video
                  communication
                – Networks that support QoS: PSTN, ISDN
                – Networks w/o QoS support: Current Internet (best effort, e.g.
                  no guaranteed support)

                                                                   John G. Apostolopoulos
                                                                   April 27, 2004           Page 10
Video     Properties of Video Communication
Streaming
            Applications (cont.)

            • Constant bit rate (CBR) or variable bit rate (VBR) coding
                – Constant bit rate leads to variable quality
                – Variable bit rate can enable constant quality
                – Example of CBR: Digital TV, videoconferencing over
                  ISDN
                – Example of VBR: DVD




                                                                  John G. Apostolopoulos
                                                                  April 27, 2004           Page 11
Video     Basic Video Coding Question:
Streaming
            VBR vs CBR coding

            • Question: How many bits should we allocate to code
              each frame?




                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 12
Video
Streaming
            How to Allocation Bits Among Frames?

            • Raw (uncompressed) digital video has a constant bit rate:
              480 × 720 pixels 30 frames 24bits
                              ×         ×       = 250 M bits
                   frame          sec     pixel              sec

            • Question: Compress at a constant bit rate? Variable rate?
            • Observations:
               – Some frames are more complex than others, or are less
                 predictable than others, and therefore require more bits
               – To achieve constant quality for every frame, a high
                 complexity frame requires more bits than a low
                 complexity frame



                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 13
Video
Streaming
            VBR vs CBR Coding
                                                      Rate   Variable rate
            • Variable Bit Rate (VBR)
                                 Variable-Rate
                   Encoder         Channel                                    time
                                                  PSNR       Constant quality


                                                                              time
            • Constant Bit Rate (CBR)
                                                      Rate   Constant rate
                                      Constant-Rate
                 Encoder     Buffer     Channel
                                                                              time
                      Feedback                               Variable quality
                                                  PSNR


                                                                              time

                                                                 John G. Apostolopoulos
                                                                 April 27, 2004           Page 14
Video
Streaming
            VBR vs CBR Coding (cont.)

            • Tradeoff between quality and bit rate:
                – Constant quality → Variable bit rate
                – Constant bit rate → Variable quality


            • Constant quality corresponds to approximately the same
              distortion per frame:
                – Can be achieved by constant quantization stepsize for
                  all frames
            • Constant bit rate corresponds to approximately the same bit
              rate per frame (or other unit of time):
                – Can be achieved by using a buffer and feedback to
                  direct the encoding (e.g. variable quantization stepsize)

                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 15
Video
Streaming
            Outline of Today’s Lecture

            • Properties of Video Communication Applications
            • Brief case studies:
                – Video storage, e.g. DVD
                – Digital television
            • Video streaming over the Internet
                – Bandwidth problem → Rate control
                – Delay jitter → Playout buffer
                – Loss → Error control




                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 16
Video
Streaming
            Video Coding for Storage

            • Goal: Store a video in storage with RTotal bits
                – Example: DVD, 2 hour movie in 4.7 GB
            • Problem: How do we encode the video for this storage
              constraint?
            • Possible approach # 1:
                – Allocate equal number of bits to each frame,
                  For N frames:
                          RTotal
                     Ri =          where Ri is bits for frame i
                           N
               – Problem:
                   – Some frames are more complex than others
                   – Some frames are less predictable than others
                   →Some frames should be allocated more bits than others
                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 17
Video
Streaming
            Video Coding for Storage (cont.)

            • Basic video coding problem for storage:
                                       N                                     N
                 minimize DTotal = ∑ Di such that RTotal = ∑ Ri
                                       i =1                                 i =1
                                              Di = distortion for frame i
            • Possible approach # 2:
                                                                          RTotal
                – Allocate bits per frame so that on average:        Ri ≈
                – Enables some variation in bit allocation                 N
                – Ensure storage constraint is satisfied when Nth frame is
                  coded
                      Total                                  N
                      rate                           RTotal = ∑ Ri
                                                             i =1




                              1                     frame
                                                N
                                                                     John G. Apostolopoulos
                                                                     April 27, 2004           Page 18
Video
Streaming
            Video Coding for Storage (cont.)

            • Proposed approach # 2 (cont.):
                – Better than approach #1
                – Problem: Future frames are unknown
                   – How many bits to allocate for them?
                   – Can over estimate (too conservative)
                       → Waste bits at end of sequence
                   – Can under estimate
                       → Not enough bits at end of sequence
                   → Either way sub-optimal quality
                – Basic Problem: Future frames are unknown, have to
                  guess how many bits to allocate for them

                                                            John G. Apostolopoulos
                                                            April 27, 2004           Page 19
Video
Streaming
            Video Coding for Storage (cont.)

         • Idea: Video coding for storage doesn’t require causal processing
             – Can examine all frame before encoding
             – Perform global bit allocation (we have a global constraint)
         • Proposed approach #3:
             1. Code entire video sequence
             2. Gather and analyze statistics
             3. Identify complex areas of video sequence
Repeat
             4. Re-estimate bit allocation for each frame
             5. Re-encode entire video sequence
             → Multi-pass algorithm: Process entire video multiple times
         • Multi-pass coding can provide much better performance then
           single-pass coding

                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 20
Video
Streaming
            Video Coding for Storage (cont.)

            • Example of DVD:
               – MPEG-2 Main-profile @ main-level video
               – Storage constraint: 4.7 GB
               – VBR coding
               – Can use multi-pass encoding to optimize quality
                 given global storage constraint




                                                            John G. Apostolopoulos
                                                            April 27, 2004           Page 21
Video
Streaming
            Outline of Today’s Lecture

            • Properties of Video Communication Applications
            • Brief case studies:
                – Video storage, e.g. DVD
                – Digital television
            • Video streaming over the Internet
                – Bandwidth problem → Rate control
                – Delay jitter → Playout buffer
                – Loss → Error control




                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 22
Video
Streaming
            Video Coding for Digital Television
       • Terrestrial (over-the-air) broadcast television
       • Constraint: Constant bandwidth channel (20 Mb/s)
            → Requires CBR coding
       • Must regulate video bit rate
            – Buffer to smooth instantaneous bit rate
            – Buffer control mechanism to control average bit rate
       • Buffer feedback intuitively:
            – Quantizes coarsely if bit rate is too high
            – Quantizes finely if bit rate is too low   Rate

                                        Constant-Rate
                 Encoder       Buffer     Channel       PSNR                            time

                       Feedback
                                                               John G. Apostolopoulos
                                                                                        time
                                                               April 27, 2004           Page 23
Video
Streaming
            Video Coding for Digital TV (cont.)

            • Requirement:
                – Fast initialization and channel acquisition (turning on TV
                  and changing channels)
                – Requires random access into compressed video
            • Solution: Periodic I-frames, MPEG GOP structure, one I-frame
              every ½ sec
            • Remarks:
                – Simple solution, works well
                – Also used to provide random access for DVD
                – However, requires lots of bits for each I-frame
                – Impractical for many low-bit-rate applications



                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 24
Video
Streaming
            Video Coding for Digital TV (cont.)

            • Example of Digital TV:
                – MPEG-2 Main-profile @ high-level
                – Channel constraint: 20 Mb/s
                – CBR coding
                – Receiver initialization/channel acquisition: Random
                  access via periodic I-frames (MPEG GOP structure)



            • Prof Lim will discuss Digital TV in detail




                                                             John G. Apostolopoulos
                                                             April 27, 2004           Page 25
Video
Streaming
            Outline of Today’s Lecture

            • Properties of Video Communication Applications
            • Brief case studies:
                – Video storage, e.g. DVD
                – Digital television
            • Video streaming over the Internet
                – Bandwidth problem → Rate control
                – Delay jitter → Playout buffer
                – Loss → Error control




                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 26
Video     Video Delivery over the Internet:
Streaming
            File Download

            Download video:
            • Same as file download, but a LARGE file
            • Allows simple delivery mechanisms, e.g. TCP
            • Disadvantages:
                – Usually requires LONG download time and large
                  storage space (practical constraints)
                – Download before viewing (requires patience)




                                                            John G. Apostolopoulos
                                                            April 27, 2004           Page 27
Video     Video Delivery over the Internet:
Streaming
            Video Streaming

            Video streaming:
            • Partition video into packets
            • Start delivery, begin playback while video is still being
              downloaded (5-15 sec delay)
            • Simultaneous delivery and playback (with short delay)
            • Advantages:
                – Low delay before viewing
                – Minimum storage requirements




                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 28
Video     Video Streaming: Sequence of
Streaming
            Constraints

            • Problem of streaming video can be expressed as a sequence
              of constraints:
                – Frame N      must be delivered & decoded by time TN
                – Frame N+1 must be delivered & decoded by time TN+∆
                – Frame N+2 must be delivered & decoded by time TN+2∆
            • Any data that is lost is useless
            • Any data that arrives late is useless
            • Goal: Design system to satisfy this sequence of constraints




                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 29
Video
Streaming
            Video Streaming over the Internet

            • Problem: Internet only offers best-effort service
            • No guarantees on:
                – Bandwidth
                – Loss rates
                – Delay jitter
            • Specifically, these characteristics are unknown and
              dynamic
            • Goal: Design a system to reliably delivery high-quality
              video over the Internet




                                                                  John G. Apostolopoulos
                                                                  April 27, 2004           Page 30
Video     Problems in Video Streaming over the
Streaming
            Internet

            Problems to be addressed include unknown and dynamic:
            • Bandwidth
            • Delay jitter
            • Loss


            • Many other problems also exist for streaming, but in the
              brief time available we focus on these three key video
              problems




                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 31
Video     Problems in Video Streaming over the
Streaming
            Internet

            Problems to be addressed include unknown and dynamic :
            • Bandwidth
                – Can not reserve bandwidth in Internet today
                – Available bandwidth is dynamic
                – If transmit faster than available bandwidth
                      → Congestion occurs, packet loss, and severe drop in
                        video quality
                – If transmit slower than available bandwidth
                      → Sub-optimal video quality
                – Goal: Match video bit rate with available bandwidth
            • Delay
            • Loss
                                                                   John G. Apostolopoulos
                                                                   April 27, 2004           Page 32
Video     Overcoming the Bandwidth Problem:
Streaming
            Rate Control
                                 Available
                                Bandwidth?
                       Sender                Receiver

            • Rate control:
               1. Estimate the available bandwidth
               2. Match video rate to available bandwidth
            • Rate control may be performed at:
               –   Sender
               –   Receiver
            • Available bandwidth may be estimated by:
               –   Probe-based methods
               –   Model-based (equation-based) methods


                                                            John G. Apostolopoulos
                                                            April 27, 2004           Page 33
Video     Overcoming the Bandwidth Problem:
Streaming
            Source-Based Rate Control
                                   Available
                                  Bandwidth?
                       Sender                  Receiver


                                  Feedback

            • Source-based rate control:
                – Source explicitly adapts the video rate
                – Feedback from the receiver is used to estimate the
                  available bandwidth
                – Feedback information includes packet loss rate
            • Methods for estimating available bandwidth based on
              packet loss rate:
                – Probe-based methods
                – Model-based methods

                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 34
Video     Estimating Available Bandwidth:
Streaming
            Probe-Based Methods

            • Probe-based methods:
               – Basic idea: Use probing experiments to estimate the
                 available bandwidth
               – Example: Adapt sending rate to keep packet loss
                 rate ρ less then a threshold Pth
                   – If (ρ < Pth) then increase transmission rate
                   – If (ρ > Pth) then decrease transmission rate
               – Different strategies exist for adapting transmission
                 rate
               – Simple, ad-hoc




                                                                    John G. Apostolopoulos
                                                                    April 27, 2004           Page 35
Video     Estimating Available Bandwidth:
Streaming
            Model-Based Methods
            • Model-based (equation-based) methods
               – Goal: Ensure fair competition with concurrent TCP
                 flows on the network, e.g. fair sharing of bandwidth
               – Basic idea:
                   – Model the average throughput of a TCP flow
                   – Transmit video with the same throughput as if is was a
                     TCP flow
                                           λ = Throughput of TCP
                       1.22 × MTU
                     λ=                    MTU = Maximum Transmit Unit (max packet size)
                                           RTT = Round Trip Time
                        RTT × ρ            ρ = Packet loss ratio
                – Similar characteristics to TCP flow on macroscopic
                  scale (not microscopic)
                – Behaves macroscopically like a TCP flow, “fair” to
                  other TCP flows, referred to as “TCP-friendly”
                [Floyd, et.al.; Mathis et.al.; Tan, Zakhor]
                                                                    John G. Apostolopoulos
                                                                    April 27, 2004           Page 36
Video
Streaming
            Why not use TCP for Rate Control?

            • TCP:
                – Guarantees delivery via retransmission, leading to time-
                  varying throughput and delay
                – Additive-increase multiplicative-decrease (AIMD) rate control

               Rate                                         Rave

                                                                   Time
            • Problem: TCP AIMD oscillations are detrimental for streaming
                 → Exactly matching TCP traffic pattern is bad!
            • Instead, match TCP traffic pattern on a coarser (macroscopic)
              scale, e.g. same average throughput over a time-window
            • Summary:
                 – Exactly emulating TCP rate control (AIMD) is bad
                 – TCP-friendly approaches attempt to share bandwidth fairly on
                   a macroscopic scale
                                                                      John G. Apostolopoulos
                                                                      April 27, 2004           Page 37
Video     Overcoming the Bandwidth Problem:
Streaming
            Rate Control
                                 Available
                                Bandwidth?
                       Sender                Receiver

            • Rate control:
               1. Estimate the available bandwidth
               2. Match video rate to available bandwidth
            • Rate control may be performed at:
               –   Sender
               –   Receiver
            • Available bandwidth may be estimated by:
               –   Probe-based methods
               –   Model-based (equation-based) methods


                                                            John G. Apostolopoulos
                                                            April 27, 2004           Page 38
Video
Streaming
            Receiver-Based Rate Control

            • Receiver explicitly selects the video rate from a number
              of possible rates
            • Key example: Receiver-driven Layered Multicast
                1. Sender codes video with scalable or layered coder
                2. Sends different layers over different multicast
                   groups
                3. Each receiver estimates its bandwidth and joins an
                   appropriate number of multicast groups
                   – Receives an appropriate number of layers up to its
                     available bandwidth




                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 39
Video
Streaming
             Receiver-Based Rate Control (cont.)
             • Example of Receiver-Driven Layered Multicast
               [McCanne, Jacobson, Vetterli]
                  – Each client can join/drop layers
                                                 Client with high-rate
                                                     connection
    Source
                                                Client with medium-rate
                                                       connection

                                                 Client with low-rate
                                                     connection
    Base layer
    Enh layer 1                                  Client with low-rate
    Enh layer 2                                      connection


                                                                   John G. Apostolopoulos
                                                                   April 27, 2004           Page 40
Video     Rate Control:
Streaming
            Adapting the Video Bit Rate

            • Source must match video bit rate with available
              bandwidth
            • Video bit rate may be adapted by:
                – Varying the quantization
                – Varying the frame rate
                – Varying the spatial resolution
                – Adding/dropping layers (for scalable coding)
            • Options depend on real-time encoding or pre-encoded
              content:
                – Real-time encoding: Adapting is straightforward
                – Pre-encoded content: Limited options, e.g. drop B-
                  frames, drop layers in scalable coding, or perform
                  transcoding

                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 41
Video     Problems in Video Streaming over the
Streaming
            Internet

            Problems to be addressed include unknown and dynamic:
            • Bandwidth
            • Delay jitter
                – Variable end-to-end packet delay
                – Compensate via playout buffer
            • Loss




                                                          John G. Apostolopoulos
                                                          April 27, 2004           Page 42
Video
Streaming
            Why is Delay Jitter an Issue?

            Example:
            • Video encoder captures/sends video at a certain rate, e.g. 10
              frames/sec or one frame every 100 ms
            • Receiver should decode and display frames at the same rate
                – Each frame has its own specific playout time
                – Playout time: Deadline by which it must be
                  received/decoded/displayed
            • If a frame arrives after its playout time it is (generally) useless
            • If subsequent frames depend on the late frame, then effects
              can propagate



                                                                   John G. Apostolopoulos
                                                                   April 27, 2004           Page 43
Video
Streaming
            Delay Jitter

              Encoder                    Internet                 Decoder


            • End-to-end delay in Internet: Depends on router processing
              and queuing delays, propagation delays, and end system
              processing delays
            • Delay jitter:
                – End-to-end delay may fluctuate from packet to packet
                – Jitter: Variation in the end-to-end delay
            • Example: Video coded at 10 frames/sec
                – Each frame sent in one packet every 100 ms
                – Received packets may not be spaced apart by 100 ms
                    – Some may be closer together
                    – Some may be farther apart
                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 44
Video     Overcoming Delay Jitter:
Streaming
            Playout buffer

            • Goal: Overcome delay jitter
            • Approach: Add buffer at decoder to compensate for jitter
            • Corresponds to adding an offset to the playout time of each
              packet
                – If (packet delay < offset) then OK
                    – Buffer packet until its playout time
                – If (packet delay > offset) then problem
            • Playout buffer typically 5-15 secs
                – Compensates for delay jitter and enables retransmission
                  of lost packets



                                                             John G. Apostolopoulos
                                                             April 27, 2004           Page 45
Video     Overcoming Delay Jitter:
Streaming
            Playout Buffer (cont.)

            • Packet delivery, time-varying delay (jitter), and playout
              delay:
                                      Playout
              Time           Loss                     Playout
                                                       Delay

                     Buffering
                                                  Packet
                                                 Reception

                           Delay          Packet
                                       Transmission

                                           Packet Number


                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 46
Video     Overcoming Delay Jitter:
Streaming
            Playout Buffer (cont.)

            • Delay per packet and effect of playout delay:

                                   Loss
              Delay
                                                  Playout
                                                   Delay


                                                    Packet
                                                    Delay

                                          Packet Number




                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 47
Video
Streaming
            Effect of Different Playout Delays

            • Playout delays: TD1 < TD2 < TD3



               Time
                                                                  TD3
                                                            TD2
                                                     TD1


                                                 Packet
                                                Reception
                                        Packet
                                     Transmission

                                         Packet Number

                                                                   John G. Apostolopoulos
                                                                   April 27, 2004           Page 48
Video
Streaming
            Effect of Different Playout Delays (cont.)

            • Playout delays: TD1 < TD2 < TD3




               Delay
                                                 TD3
                                                 TD2
                                                 TD1
                                                   Packet
                                                   Delay

                                          Packet Number


                                                            John G. Apostolopoulos
                                                            April 27, 2004           Page 49
Video
Streaming
             Effect of Different Playout Delays (cont.)

             • As the playout delay is increased, the cumulative distribution of
               in-time packets is increased
             • Note: (1) minimum transmit time, (2) long tail in the distribution

                                       80% 90% 99%
            Probability




                                         TD1           Delay
                                               TD2
                                                     TD3
                                                                       John G. Apostolopoulos
                                                                       April 27, 2004           Page 50
Video
Streaming
            Comments on Playout Delay

            • Designing appropriate playout strategy is very important
            • Tradeoff between playout delay and loss (late packets)
                – Longer delay leads to fewer late (lost) packets
                – Shorter delay leads to more late (lost) packets
            • Streaming of stored video can tolerate long delays (e.g.
              Real and Microsoft use 5-15 secs)
            • Real-time interactive video can not tolerate long delays
              (maybe 150 ms)
            • Delay jitter is dynamic (time-varying)
                – Fixed playout delay is sub-optimal
                – Adaptive playout delay is better
                    → Estimate delay jitter and adapt playout delay
                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 51
Video     Problems in Video Streaming over the
Streaming
            Internet

            Problems to be addressed include unknown and dynamic:
            • Bandwidth
            • Delay jitter
            • Loss
                – Overcome losses via error control:
                     –   Forward Error Correction (FEC)
                     –   Retransmission
                     –   Error concealment
                     –   Error-resilient video coding




                                                          John G. Apostolopoulos
                                                          April 27, 2004           Page 52
Video
Streaming
             Error Control

             • Goal of error control:
                 – To overcome the effect of errors such as packet loss
                   on a packet network or bit or burst errors on a
                   wireless link
             • Types of error control:
   Channel       – Forward Error Correction (FEC)
   Coding        – Retransmission
    Source       – Error concealment
    Coding       – Error-resilient video coding




                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 53
Video
Streaming
            Error Control

            • Goal of error control:
                – To overcome the effect of errors such as packet loss
                  on a packet network or bit or burst errors on a
                  wireless link
            • Types of error control:
                – Forward Error Correction (FEC)
                – Retransmission
                – Error concealment
                – Error-resilient video coding




                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 54
Video
Streaming
            Forward Error Correction (FEC)

            • Goal of FEC or channel coding: Add specialized
              redundancy that can be used to recover from errors
            • Example: Overcoming packet losses in a packet network
                – Losses correspond to packet erasures
                – Block codes are typically used
                – K data packets, (N-K) redundant packets, total of N
                  packets
                – Overhead N/K
                – Example:
                   – 5 data packets, 2 redundant packets (K,N) = (5,7)
                   – 7/5 = 1.40 or 40 % overhead


                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 55
Video
Streaming
            FEC (cont.)

            • Error correcting capability:
               1. If no errors, then K data packets provide data
               2. As long as any K of the N packets are correctly
                  received the original data can be recovered
                   (Assuming maximum distance separable (MDS) code)
            • Simplest example:
               – N = K+1
               – Redundant packet is parity packet, simplest form of
                 erasure code
               – OK as long as no more than 1 out of N packets are lost
            • Example: 5 data packets, 2 redundant packets (5,7)
               – Can compensate for up to 2 lost packets
               – OK as long as any 5 out of 7 are received

                                                             John G. Apostolopoulos
                                                             April 27, 2004           Page 56
Video
Streaming
            FEC and Interleaving

            • Problem: Burst errors may produce more than N-K
              consecutive lost packets
            • Possible solution: FEC combined with interleaving to
              spread out the lost packets
            • FEC and interleaving often effective
            • Potential problem:
                – To overcome long burst errors need large
                  interleaving depth → Leads to large delay




                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 57
Video
Streaming
            Summary of FEC

            • Advantages:
               – Low delay (as compared to retransmits)
               – Doesn’t require feedback channel
               – Works well (if appropriately matched to channel)
            • Disadvantages:
               – Overhead
               – Channel loss characteristics are often unknown and
                 time-varying
                   – FEC may be poorly matched to channel
                   →Therefore, often ineffective (too little FEC) or
                    inefficient (too much FEC)

                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 58
Video
Streaming
            Error Control

            • Goal of error control:
                – To overcome the effect of errors such as packet loss
                  on a packet network or bit or burst errors on a
                  wireless link
            • Types of error control:
                – Forward Error Correction (FEC)
                – Retransmission
                – Error concealment
                – Error-resilient video coding




                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 59
Video
Streaming
            Retransmissions

            • Assumption: Back-channel exists between receiver and
              sender
            • Approach: Receiver tells sender which packets were
              received/lost and sender resends lost packets
            • Advantages:
                – Only resends lost packets, efficiently uses bandwidth
                – Easily adapts to changing channel conditions
            • Disadvantages:
                – Latency (round-trip-time (RTT))
                – Requires a back-channel (not applicable in broadcast,
                  multicast, or point-to-point w/o back-channel)
                – For some applications, usefulness decreases with
                  increasing RTT
                                                              John G. Apostolopoulos
                                                              April 27, 2004           Page 60
Video
Streaming
            Retransmission (cont.)

            Variations on retransmission-based schemes:
            • Video streaming with time-sensitive data
                – Delay-constrained retransmission
                   – Only retransmit packets that can arrive in time
                – Priority-based retransmission
                   – Retransmit important packets before unimportant
                     packets
                – Leads to interesting scheduling problems, e.g. which
                  packet should be transmitted next?




                                                                  John G. Apostolopoulos
                                                                  April 27, 2004           Page 61
Video
Streaming
            Joint Source-Channel Coding

            Key Idea:
             Data and video communication are fundamentally different!

            • Data communication:
                – All data bits are equally important and must be reliably
                  delivered
                – Timeliness may not be important
            • Video communication:
                – Some bits are more important than other bits
                – It is not necessary for all bits to be reliably delivered
                – Timeliness is often critical
            • Idea: Exploit the differing importance in the video data
            • Joint source-channel coding: Jointly design source and
              channel coders to exploit the difference in importance
                                                               John G. Apostolopoulos
                                                               April 27, 2004           Page 62
Video
Streaming
            Joint Source-Channel Coding (cont.)

            Examples of coded video data with different importance:
            • Different frame types have different importance
                – I-frame: Most important
                – P-frame: Medium importance
                – B-frame: Minimum importance (can be discarded)
            • Different layers in a scalable coder have different
              importance
                – Base layer: Most important
                – Enhancement layer 1: Medium importance
                – Enhancement layer 2: Minimum importance



                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 63
Video
Streaming
            Joint Source-Channel Coding (cont.)

            • Adapt error-control based on importance of video data
                – FEC: Unequal error protection
                – Retransmit: Unequal (prioritized) retransmit strategies
            • Example for I, P, and B frames:

                            I-frame       P-frame        B-frame

              FEC           Maximum       Medium         Minimum
                                                         (or none)
              Retransmit    Maximum       Medium         Can discard




                                                                John G. Apostolopoulos
                                                                April 27, 2004           Page 64
Video
Streaming
            Joint Source-Channel Coding (cont.)

            • Example for scalable video coding:



                           Base Layer   Enhancement Enhancement
                                        Layer #1    Layer # 2
             FEC           Maximum      Medium      Minimum
                                                    (or none)
             Retransmit    Maximum      Medium      Can discard




                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 65
Video
Streaming
            Review of Today’s Lecture

            • Properties of Video Communication Applications
            • Brief case studies:
                – Video storage, e.g. DVD
                – Digital television
            • Video streaming over the Internet
                – Bandwidth problem → Rate control
                – Delay jitter → Playout buffer
                – Loss → Error control
                    – Forward Error Correction (FEC)
                    – Retransmission
                    – Error concealment
 Next lecture
                    – Error-resilient video coding
                                                           John G. Apostolopoulos
                                                           April 27, 2004           Page 66

Weitere ähnliche Inhalte

Was ist angesagt?

Ultra-Videoconferencing
Ultra-VideoconferencingUltra-Videoconferencing
Ultra-VideoconferencingVideoguy
 
DEC@Henry - Distributed Education Center, INI Building
DEC@Henry - Distributed Education Center, INI BuildingDEC@Henry - Distributed Education Center, INI Building
DEC@Henry - Distributed Education Center, INI BuildingVideoguy
 
Axeos Brochure
Axeos BrochureAxeos Brochure
Axeos Brochureaxeos
 
Polycom Video Conferencing Solutions Brochure
Polycom Video Conferencing Solutions BrochurePolycom Video Conferencing Solutions Brochure
Polycom Video Conferencing Solutions BrochureVideoguy
 
basic video conferencing knowledge(for sales presales-technical)
basic video conferencing knowledge(for sales presales-technical)basic video conferencing knowledge(for sales presales-technical)
basic video conferencing knowledge(for sales presales-technical)The Friday Times
 
4 CP 6 VAS P-P
4 CP 6 VAS P-P4 CP 6 VAS P-P
4 CP 6 VAS P-PVideoguy
 
Telstra 1 Touch Video
Telstra 1 Touch VideoTelstra 1 Touch Video
Telstra 1 Touch VideoVideoguy
 
Telepresencia y Comunicaciones Unificadas: Mitos y Realidades
Telepresencia y Comunicaciones Unificadas: Mitos y RealidadesTelepresencia y Comunicaciones Unificadas: Mitos y Realidades
Telepresencia y Comunicaciones Unificadas: Mitos y RealidadesMundo Contact
 
Multimedia networking
Multimedia networkingMultimedia networking
Multimedia networkingKikima Jimmy
 
DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...
DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...
DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...Bitmovin Inc
 
Yorktel Capabilities Briefing 2012
Yorktel Capabilities Briefing  2012Yorktel Capabilities Briefing  2012
Yorktel Capabilities Briefing 2012RolandNC1
 
Polycom Video Communications
Polycom Video CommunicationsPolycom Video Communications
Polycom Video CommunicationsVideoguy
 
So 
Clients
‐
Video
Conferencing
Collabora on
Tools
which
So 
Clients
‐
Video
Conferencing
Collabora on
Tools
whichSo 
Clients
‐
Video
Conferencing
Collabora on
Tools
which
So 
Clients
‐
Video
Conferencing
Collabora on
Tools
whichVideoguy
 
Java Abs Implementation Of Vvoip
Java Abs   Implementation Of VvoipJava Abs   Implementation Of Vvoip
Java Abs Implementation Of Vvoipncct
 
Corporate Overview
Corporate OverviewCorporate Overview
Corporate OverviewVideoguy
 
INTERNET PROTOCOL TELEVISION SEMINAR PPT
INTERNET PROTOCOL TELEVISION SEMINAR PPTINTERNET PROTOCOL TELEVISION SEMINAR PPT
INTERNET PROTOCOL TELEVISION SEMINAR PPTAnil Mahapatra
 

Was ist angesagt? (19)

Ultra-Videoconferencing
Ultra-VideoconferencingUltra-Videoconferencing
Ultra-Videoconferencing
 
05 vdo
05 vdo05 vdo
05 vdo
 
DEC@Henry - Distributed Education Center, INI Building
DEC@Henry - Distributed Education Center, INI BuildingDEC@Henry - Distributed Education Center, INI Building
DEC@Henry - Distributed Education Center, INI Building
 
Dialogic
DialogicDialogic
Dialogic
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Axeos Brochure
Axeos BrochureAxeos Brochure
Axeos Brochure
 
Polycom Video Conferencing Solutions Brochure
Polycom Video Conferencing Solutions BrochurePolycom Video Conferencing Solutions Brochure
Polycom Video Conferencing Solutions Brochure
 
basic video conferencing knowledge(for sales presales-technical)
basic video conferencing knowledge(for sales presales-technical)basic video conferencing knowledge(for sales presales-technical)
basic video conferencing knowledge(for sales presales-technical)
 
4 CP 6 VAS P-P
4 CP 6 VAS P-P4 CP 6 VAS P-P
4 CP 6 VAS P-P
 
Telstra 1 Touch Video
Telstra 1 Touch VideoTelstra 1 Touch Video
Telstra 1 Touch Video
 
Telepresencia y Comunicaciones Unificadas: Mitos y Realidades
Telepresencia y Comunicaciones Unificadas: Mitos y RealidadesTelepresencia y Comunicaciones Unificadas: Mitos y Realidades
Telepresencia y Comunicaciones Unificadas: Mitos y Realidades
 
Multimedia networking
Multimedia networkingMultimedia networking
Multimedia networking
 
DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...
DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...
DRM Workflows: How to Provide Protected Content to Desktop, Mobile, TVs, & St...
 
Yorktel Capabilities Briefing 2012
Yorktel Capabilities Briefing  2012Yorktel Capabilities Briefing  2012
Yorktel Capabilities Briefing 2012
 
Polycom Video Communications
Polycom Video CommunicationsPolycom Video Communications
Polycom Video Communications
 
So 
Clients
‐
Video
Conferencing
Collabora on
Tools
which
So 
Clients
‐
Video
Conferencing
Collabora on
Tools
whichSo 
Clients
‐
Video
Conferencing
Collabora on
Tools
which
So 
Clients
‐
Video
Conferencing
Collabora on
Tools
which
 
Java Abs Implementation Of Vvoip
Java Abs   Implementation Of VvoipJava Abs   Implementation Of Vvoip
Java Abs Implementation Of Vvoip
 
Corporate Overview
Corporate OverviewCorporate Overview
Corporate Overview
 
INTERNET PROTOCOL TELEVISION SEMINAR PPT
INTERNET PROTOCOL TELEVISION SEMINAR PPTINTERNET PROTOCOL TELEVISION SEMINAR PPT
INTERNET PROTOCOL TELEVISION SEMINAR PPT
 

Andere mochten auch

Error control techniques for video communications
Error control techniques for video communications Error control techniques for video communications
Error control techniques for video communications Shubhi Singh chauhan
 
Reed Solomon Frame Structures Revealed
Reed Solomon Frame Structures RevealedReed Solomon Frame Structures Revealed
Reed Solomon Frame Structures RevealedDavid Alan Tyner
 
Reed Solomon Code
Reed Solomon CodeReed Solomon Code
Reed Solomon Codeadi234
 
Implementation of reed solomon codes basics
Implementation of reed solomon codes basicsImplementation of reed solomon codes basics
Implementation of reed solomon codes basicsRam Singh Yadav
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresVideoguy
 
Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingVideoguy
 

Andere mochten auch (6)

Error control techniques for video communications
Error control techniques for video communications Error control techniques for video communications
Error control techniques for video communications
 
Reed Solomon Frame Structures Revealed
Reed Solomon Frame Structures RevealedReed Solomon Frame Structures Revealed
Reed Solomon Frame Structures Revealed
 
Reed Solomon Code
Reed Solomon CodeReed Solomon Code
Reed Solomon Code
 
Implementation of reed solomon codes basics
Implementation of reed solomon codes basicsImplementation of reed solomon codes basics
Implementation of reed solomon codes basics
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_Pres
 
Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video Streaming
 

Ähnlich wie Video Communications and Video Streaming

video_compression_2004
video_compression_2004video_compression_2004
video_compression_2004Aniruddh Tyagi
 
video_compression_2004
video_compression_2004video_compression_2004
video_compression_2004aniruddh Tyagi
 
video_compression_2004
video_compression_2004video_compression_2004
video_compression_2004aniruddh Tyagi
 
Mobixell pipeline webinar_june_20_2012
Mobixell pipeline webinar_june_20_2012Mobixell pipeline webinar_june_20_2012
Mobixell pipeline webinar_june_20_2012Mobixell
 
Delivering Great WebRTC on Mobile Devices
Delivering Great WebRTC on Mobile DevicesDelivering Great WebRTC on Mobile Devices
Delivering Great WebRTC on Mobile DevicesWeemo, Inc.
 
Slides for Week 4 - Lec 2
Slides for Week 4 - Lec 2Slides for Week 4 - Lec 2
Slides for Week 4 - Lec 2Videoguy
 
Introduction to Audiovisual Communications
Introduction to Audiovisual CommunicationsIntroduction to Audiovisual Communications
Introduction to Audiovisual CommunicationsFrancesc Tarrés
 
Communication medium in modern tv
Communication medium in modern tvCommunication medium in modern tv
Communication medium in modern tvHarsh Mehta
 
Television news search and analysis with lucene solr
Television news search and analysis with lucene solrTelevision news search and analysis with lucene solr
Television news search and analysis with lucene solrlucenerevolution
 
Television News Search and Analysis with Lucene/Solr
Television News Search and Analysis with Lucene/SolrTelevision News Search and Analysis with Lucene/Solr
Television News Search and Analysis with Lucene/Solrlucenerevolution
 
Ise 2011 Insight Into Digital System Design
Ise 2011  Insight Into Digital System DesignIse 2011  Insight Into Digital System Design
Ise 2011 Insight Into Digital System Designfranksheehan
 
IP networks and mutlimedia
IP networks and mutlimediaIP networks and mutlimedia
IP networks and mutlimediaTran Thang
 
Evolution of the home movie industry
Evolution of the home movie industryEvolution of the home movie industry
Evolution of the home movie industryMJ Yen
 
LMSE - Ebplus Streaming Solution
LMSE - Ebplus Streaming SolutionLMSE - Ebplus Streaming Solution
LMSE - Ebplus Streaming Solutionsilverfox2580
 
GPAC Team Research Highlights
GPAC Team Research HighlightsGPAC Team Research Highlights
GPAC Team Research HighlightsCyril Concolato
 
Telecommunication: The Needs and Demands of Telecoms
Telecommunication: The Needs and Demands of TelecomsTelecommunication: The Needs and Demands of Telecoms
Telecommunication: The Needs and Demands of TelecomsNapier University
 

Ähnlich wie Video Communications and Video Streaming (20)

video_compression_2004
video_compression_2004video_compression_2004
video_compression_2004
 
video_compression_2004
video_compression_2004video_compression_2004
video_compression_2004
 
video_compression_2004
video_compression_2004video_compression_2004
video_compression_2004
 
Mobixell pipeline webinar_june_20_2012
Mobixell pipeline webinar_june_20_2012Mobixell pipeline webinar_june_20_2012
Mobixell pipeline webinar_june_20_2012
 
Delivering Great WebRTC on Mobile Devices
Delivering Great WebRTC on Mobile DevicesDelivering Great WebRTC on Mobile Devices
Delivering Great WebRTC on Mobile Devices
 
Slides for Week 4 - Lec 2
Slides for Week 4 - Lec 2Slides for Week 4 - Lec 2
Slides for Week 4 - Lec 2
 
Video-over-IP for AV
Video-over-IP for AVVideo-over-IP for AV
Video-over-IP for AV
 
Introduction to Audiovisual Communications
Introduction to Audiovisual CommunicationsIntroduction to Audiovisual Communications
Introduction to Audiovisual Communications
 
Communication medium in modern tv
Communication medium in modern tvCommunication medium in modern tv
Communication medium in modern tv
 
Television news search and analysis with lucene solr
Television news search and analysis with lucene solrTelevision news search and analysis with lucene solr
Television news search and analysis with lucene solr
 
Television News Search and Analysis with Lucene/Solr
Television News Search and Analysis with Lucene/SolrTelevision News Search and Analysis with Lucene/Solr
Television News Search and Analysis with Lucene/Solr
 
what is iptv ?
what is iptv ?what is iptv ?
what is iptv ?
 
Ise 2011 Insight Into Digital System Design
Ise 2011  Insight Into Digital System DesignIse 2011  Insight Into Digital System Design
Ise 2011 Insight Into Digital System Design
 
What’s new in MPEG?
What’s new in MPEG?What’s new in MPEG?
What’s new in MPEG?
 
IP networks and mutlimedia
IP networks and mutlimediaIP networks and mutlimedia
IP networks and mutlimedia
 
Digital TV, IPTV
Digital TV, IPTVDigital TV, IPTV
Digital TV, IPTV
 
Evolution of the home movie industry
Evolution of the home movie industryEvolution of the home movie industry
Evolution of the home movie industry
 
LMSE - Ebplus Streaming Solution
LMSE - Ebplus Streaming SolutionLMSE - Ebplus Streaming Solution
LMSE - Ebplus Streaming Solution
 
GPAC Team Research Highlights
GPAC Team Research HighlightsGPAC Team Research Highlights
GPAC Team Research Highlights
 
Telecommunication: The Needs and Demands of Telecoms
Telecommunication: The Needs and Demands of TelecomsTelecommunication: The Needs and Demands of Telecoms
Telecommunication: The Needs and Demands of Telecoms
 

Mehr von Videoguy

Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingVideoguy
 
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksFree-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksVideoguy
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streamingVideoguy
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideoguy
 
Video Streaming
Video StreamingVideo Streaming
Video StreamingVideoguy
 
Reaching a Broader Audience
Reaching a Broader AudienceReaching a Broader Audience
Reaching a Broader AudienceVideoguy
 
Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Videoguy
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGVideoguy
 
Impact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingImpact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingVideoguy
 
Application Brief
Application BriefApplication Brief
Application BriefVideoguy
 
Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Videoguy
 
Streaming Video into Second Life
Streaming Video into Second LifeStreaming Video into Second Life
Streaming Video into Second LifeVideoguy
 
Flash Live Video Streaming Software
Flash Live Video Streaming SoftwareFlash Live Video Streaming Software
Flash Live Video Streaming SoftwareVideoguy
 
Videoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoguy
 
Streaming Video Formaten
Streaming Video FormatenStreaming Video Formaten
Streaming Video FormatenVideoguy
 
iPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareiPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareVideoguy
 
Glow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxGlow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxVideoguy
 
Video and Streaming in Nokia Phones v1.0
Video and Streaming in Nokia Phones v1.0Video and Streaming in Nokia Phones v1.0
Video and Streaming in Nokia Phones v1.0Videoguy
 
Video Streaming across wide area networks
Video Streaming across wide area networksVideo Streaming across wide area networks
Video Streaming across wide area networksVideoguy
 

Mehr von Videoguy (20)

Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video Streaming
 
Adobe
AdobeAdobe
Adobe
 
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksFree-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streaming
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A Survey
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Reaching a Broader Audience
Reaching a Broader AudienceReaching a Broader Audience
Reaching a Broader Audience
 
Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
 
Impact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingImpact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video Streaming
 
Application Brief
Application BriefApplication Brief
Application Brief
 
Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Video Streaming Services – Stage 1
Video Streaming Services – Stage 1
 
Streaming Video into Second Life
Streaming Video into Second LifeStreaming Video into Second Life
Streaming Video into Second Life
 
Flash Live Video Streaming Software
Flash Live Video Streaming SoftwareFlash Live Video Streaming Software
Flash Live Video Streaming Software
 
Videoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions Cookbook
 
Streaming Video Formaten
Streaming Video FormatenStreaming Video Formaten
Streaming Video Formaten
 
iPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareiPhone Live Video Streaming Software
iPhone Live Video Streaming Software
 
Glow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxGlow: Video streaming training guide - Firefox
Glow: Video streaming training guide - Firefox
 
Video and Streaming in Nokia Phones v1.0
Video and Streaming in Nokia Phones v1.0Video and Streaming in Nokia Phones v1.0
Video and Streaming in Nokia Phones v1.0
 
Video Streaming across wide area networks
Video Streaming across wide area networksVideo Streaming across wide area networks
Video Streaming across wide area networks
 

Video Communications and Video Streaming

  • 1. Video Streaming Video Communications and Video Streaming John G. Apostolopoulos Streaming Media Systems Group Hewlett-Packard Laboratories John G. Apostolopoulos April 27, 2004 Page 1
  • 2. Video Streaming Video Communication Applications • Video storage, e.g. DVD or Video CD • Videophone over PSTN • Videoconferencing over ISDN • Digital TV • Video streaming over the Internet • Wireless video – Videophone over cellular (Dick Tracy’s watch) – Video over 3G and 4G networks: Interactive games, etc. John G. Apostolopoulos April 27, 2004 Page 2
  • 3. Video Streaming Outline of Today’s Lecture • Properties of Video Communication Applications • Brief case studies: – Video storage, e.g. DVD – Digital television • Video streaming over the Internet – Bandwidth problem → Rate control – Delay jitter → Playout buffer – Loss → Error control John G. Apostolopoulos April 27, 2004 Page 3
  • 4. Video Properties of Video Communication Streaming Applications Wide range of different video communication applications with different operating conditions or different properties: • Broadcast or multicast or point-to-point • Pre-encoded (stored) video or interactive (real-time encoding) • Dynamic or static channels • Packet-switched or circuit-switched network • Quality of Service (QoS) support or best-effort network • Constant or variable bit rate channel The specific properties of a video communication application strongly influence its design John G. Apostolopoulos April 27, 2004 Page 4
  • 5. Video Properties of Video Communication Streaming Applications (cont.) • Broadcast – One-to-many (basically one-to-all) – Example: Broadcast television – Typically different channels characteristics for each recipient – Sometimes, system is designed for worst case-channel • Multicast – One-to-many (but not everyone) – Example: IP-Multicast over the Internet – More efficient than multiple unicasts – Similar advantages/disadvantages to broadcast John G. Apostolopoulos April 27, 2004 Page 5
  • 6. Video Properties of Video Communication Streaming Applications (cont.) • Point-to-point – One-to-one – Properties depend on available back channel: – With back channel: Receiver can provide feedback to sender → sender can adapt processing – Without back channel: Sender has limited knowledge about the channel – Examples: Videophone, unicast over the Internet John G. Apostolopoulos April 27, 2004 Page 6
  • 7. Video Properties of Video Communication Streaming Applications (cont.) • Pre-encoded (stored) video – Decoder retrieves a previously compressed video that is stored (locally or remotely) – Limited flexibility, e.g. often pre-encoded video can not be significantly adapted to current situation – Examples of locally stored: DVD or Video CD – Examples of remotely stored: Video-On-Demand (VOD), video streaming (e.g. MPEG-4, RealNetworks, & Microsoft streaming content) John G. Apostolopoulos April 27, 2004 Page 7
  • 8. Video Properties of Video Communication Streaming Applications (cont.) • Real-time (or interactive) vs non-real-time – Real-time: Information has time-bounded usefulness, e.g. if the info arrives, but is late, it is useless – Equivalent to maximum acceptable latency on transmitted information – Non-real-time: Loose latency constraint (many secs) – Examples of real-time: Videophone or videoconferencing, interactive games John G. Apostolopoulos April 27, 2004 Page 8
  • 9. Video Properties of Video Communication Streaming Applications (cont.) • Dynamic (time-varying) vs static channels: – Most communication involve channels whose characteristics vary with time, e.g. capacity, error rate, delay – Video communication over a dynamic channel is much more difficult than for a static channel – Examples of largely static channel: DVD, ISDN – Examples of dynamic channels: Internet, wireless John G. Apostolopoulos April 27, 2004 Page 9
  • 10. Video Properties of Video Communication Streaming Applications (cont.) • Packet-switched vs circuit-switched network – Packet-switched: Packets may exhibit variable delay, may arrive out of order, or may be lost completely – Circuit-switched: Data arrives in order, however may be corrupted by bit errors or burst errors – Example of packet-switched: LAN, Internet – Example of circuit-switched: PSTN, ISDN • Quality of Service (QoS) support – Types of service: Guarantees on bandwidth, maximum loss rates or delay – Network QoS support can greatly facilitate video communication – Networks that support QoS: PSTN, ISDN – Networks w/o QoS support: Current Internet (best effort, e.g. no guaranteed support) John G. Apostolopoulos April 27, 2004 Page 10
  • 11. Video Properties of Video Communication Streaming Applications (cont.) • Constant bit rate (CBR) or variable bit rate (VBR) coding – Constant bit rate leads to variable quality – Variable bit rate can enable constant quality – Example of CBR: Digital TV, videoconferencing over ISDN – Example of VBR: DVD John G. Apostolopoulos April 27, 2004 Page 11
  • 12. Video Basic Video Coding Question: Streaming VBR vs CBR coding • Question: How many bits should we allocate to code each frame? John G. Apostolopoulos April 27, 2004 Page 12
  • 13. Video Streaming How to Allocation Bits Among Frames? • Raw (uncompressed) digital video has a constant bit rate: 480 × 720 pixels 30 frames 24bits × × = 250 M bits frame sec pixel sec • Question: Compress at a constant bit rate? Variable rate? • Observations: – Some frames are more complex than others, or are less predictable than others, and therefore require more bits – To achieve constant quality for every frame, a high complexity frame requires more bits than a low complexity frame John G. Apostolopoulos April 27, 2004 Page 13
  • 14. Video Streaming VBR vs CBR Coding Rate Variable rate • Variable Bit Rate (VBR) Variable-Rate Encoder Channel time PSNR Constant quality time • Constant Bit Rate (CBR) Rate Constant rate Constant-Rate Encoder Buffer Channel time Feedback Variable quality PSNR time John G. Apostolopoulos April 27, 2004 Page 14
  • 15. Video Streaming VBR vs CBR Coding (cont.) • Tradeoff between quality and bit rate: – Constant quality → Variable bit rate – Constant bit rate → Variable quality • Constant quality corresponds to approximately the same distortion per frame: – Can be achieved by constant quantization stepsize for all frames • Constant bit rate corresponds to approximately the same bit rate per frame (or other unit of time): – Can be achieved by using a buffer and feedback to direct the encoding (e.g. variable quantization stepsize) John G. Apostolopoulos April 27, 2004 Page 15
  • 16. Video Streaming Outline of Today’s Lecture • Properties of Video Communication Applications • Brief case studies: – Video storage, e.g. DVD – Digital television • Video streaming over the Internet – Bandwidth problem → Rate control – Delay jitter → Playout buffer – Loss → Error control John G. Apostolopoulos April 27, 2004 Page 16
  • 17. Video Streaming Video Coding for Storage • Goal: Store a video in storage with RTotal bits – Example: DVD, 2 hour movie in 4.7 GB • Problem: How do we encode the video for this storage constraint? • Possible approach # 1: – Allocate equal number of bits to each frame, For N frames: RTotal Ri = where Ri is bits for frame i N – Problem: – Some frames are more complex than others – Some frames are less predictable than others →Some frames should be allocated more bits than others John G. Apostolopoulos April 27, 2004 Page 17
  • 18. Video Streaming Video Coding for Storage (cont.) • Basic video coding problem for storage: N N minimize DTotal = ∑ Di such that RTotal = ∑ Ri i =1 i =1 Di = distortion for frame i • Possible approach # 2: RTotal – Allocate bits per frame so that on average: Ri ≈ – Enables some variation in bit allocation N – Ensure storage constraint is satisfied when Nth frame is coded Total N rate RTotal = ∑ Ri i =1 1 frame N John G. Apostolopoulos April 27, 2004 Page 18
  • 19. Video Streaming Video Coding for Storage (cont.) • Proposed approach # 2 (cont.): – Better than approach #1 – Problem: Future frames are unknown – How many bits to allocate for them? – Can over estimate (too conservative) → Waste bits at end of sequence – Can under estimate → Not enough bits at end of sequence → Either way sub-optimal quality – Basic Problem: Future frames are unknown, have to guess how many bits to allocate for them John G. Apostolopoulos April 27, 2004 Page 19
  • 20. Video Streaming Video Coding for Storage (cont.) • Idea: Video coding for storage doesn’t require causal processing – Can examine all frame before encoding – Perform global bit allocation (we have a global constraint) • Proposed approach #3: 1. Code entire video sequence 2. Gather and analyze statistics 3. Identify complex areas of video sequence Repeat 4. Re-estimate bit allocation for each frame 5. Re-encode entire video sequence → Multi-pass algorithm: Process entire video multiple times • Multi-pass coding can provide much better performance then single-pass coding John G. Apostolopoulos April 27, 2004 Page 20
  • 21. Video Streaming Video Coding for Storage (cont.) • Example of DVD: – MPEG-2 Main-profile @ main-level video – Storage constraint: 4.7 GB – VBR coding – Can use multi-pass encoding to optimize quality given global storage constraint John G. Apostolopoulos April 27, 2004 Page 21
  • 22. Video Streaming Outline of Today’s Lecture • Properties of Video Communication Applications • Brief case studies: – Video storage, e.g. DVD – Digital television • Video streaming over the Internet – Bandwidth problem → Rate control – Delay jitter → Playout buffer – Loss → Error control John G. Apostolopoulos April 27, 2004 Page 22
  • 23. Video Streaming Video Coding for Digital Television • Terrestrial (over-the-air) broadcast television • Constraint: Constant bandwidth channel (20 Mb/s) → Requires CBR coding • Must regulate video bit rate – Buffer to smooth instantaneous bit rate – Buffer control mechanism to control average bit rate • Buffer feedback intuitively: – Quantizes coarsely if bit rate is too high – Quantizes finely if bit rate is too low Rate Constant-Rate Encoder Buffer Channel PSNR time Feedback John G. Apostolopoulos time April 27, 2004 Page 23
  • 24. Video Streaming Video Coding for Digital TV (cont.) • Requirement: – Fast initialization and channel acquisition (turning on TV and changing channels) – Requires random access into compressed video • Solution: Periodic I-frames, MPEG GOP structure, one I-frame every ½ sec • Remarks: – Simple solution, works well – Also used to provide random access for DVD – However, requires lots of bits for each I-frame – Impractical for many low-bit-rate applications John G. Apostolopoulos April 27, 2004 Page 24
  • 25. Video Streaming Video Coding for Digital TV (cont.) • Example of Digital TV: – MPEG-2 Main-profile @ high-level – Channel constraint: 20 Mb/s – CBR coding – Receiver initialization/channel acquisition: Random access via periodic I-frames (MPEG GOP structure) • Prof Lim will discuss Digital TV in detail John G. Apostolopoulos April 27, 2004 Page 25
  • 26. Video Streaming Outline of Today’s Lecture • Properties of Video Communication Applications • Brief case studies: – Video storage, e.g. DVD – Digital television • Video streaming over the Internet – Bandwidth problem → Rate control – Delay jitter → Playout buffer – Loss → Error control John G. Apostolopoulos April 27, 2004 Page 26
  • 27. Video Video Delivery over the Internet: Streaming File Download Download video: • Same as file download, but a LARGE file • Allows simple delivery mechanisms, e.g. TCP • Disadvantages: – Usually requires LONG download time and large storage space (practical constraints) – Download before viewing (requires patience) John G. Apostolopoulos April 27, 2004 Page 27
  • 28. Video Video Delivery over the Internet: Streaming Video Streaming Video streaming: • Partition video into packets • Start delivery, begin playback while video is still being downloaded (5-15 sec delay) • Simultaneous delivery and playback (with short delay) • Advantages: – Low delay before viewing – Minimum storage requirements John G. Apostolopoulos April 27, 2004 Page 28
  • 29. Video Video Streaming: Sequence of Streaming Constraints • Problem of streaming video can be expressed as a sequence of constraints: – Frame N must be delivered & decoded by time TN – Frame N+1 must be delivered & decoded by time TN+∆ – Frame N+2 must be delivered & decoded by time TN+2∆ • Any data that is lost is useless • Any data that arrives late is useless • Goal: Design system to satisfy this sequence of constraints John G. Apostolopoulos April 27, 2004 Page 29
  • 30. Video Streaming Video Streaming over the Internet • Problem: Internet only offers best-effort service • No guarantees on: – Bandwidth – Loss rates – Delay jitter • Specifically, these characteristics are unknown and dynamic • Goal: Design a system to reliably delivery high-quality video over the Internet John G. Apostolopoulos April 27, 2004 Page 30
  • 31. Video Problems in Video Streaming over the Streaming Internet Problems to be addressed include unknown and dynamic: • Bandwidth • Delay jitter • Loss • Many other problems also exist for streaming, but in the brief time available we focus on these three key video problems John G. Apostolopoulos April 27, 2004 Page 31
  • 32. Video Problems in Video Streaming over the Streaming Internet Problems to be addressed include unknown and dynamic : • Bandwidth – Can not reserve bandwidth in Internet today – Available bandwidth is dynamic – If transmit faster than available bandwidth → Congestion occurs, packet loss, and severe drop in video quality – If transmit slower than available bandwidth → Sub-optimal video quality – Goal: Match video bit rate with available bandwidth • Delay • Loss John G. Apostolopoulos April 27, 2004 Page 32
  • 33. Video Overcoming the Bandwidth Problem: Streaming Rate Control Available Bandwidth? Sender Receiver • Rate control: 1. Estimate the available bandwidth 2. Match video rate to available bandwidth • Rate control may be performed at: – Sender – Receiver • Available bandwidth may be estimated by: – Probe-based methods – Model-based (equation-based) methods John G. Apostolopoulos April 27, 2004 Page 33
  • 34. Video Overcoming the Bandwidth Problem: Streaming Source-Based Rate Control Available Bandwidth? Sender Receiver Feedback • Source-based rate control: – Source explicitly adapts the video rate – Feedback from the receiver is used to estimate the available bandwidth – Feedback information includes packet loss rate • Methods for estimating available bandwidth based on packet loss rate: – Probe-based methods – Model-based methods John G. Apostolopoulos April 27, 2004 Page 34
  • 35. Video Estimating Available Bandwidth: Streaming Probe-Based Methods • Probe-based methods: – Basic idea: Use probing experiments to estimate the available bandwidth – Example: Adapt sending rate to keep packet loss rate ρ less then a threshold Pth – If (ρ < Pth) then increase transmission rate – If (ρ > Pth) then decrease transmission rate – Different strategies exist for adapting transmission rate – Simple, ad-hoc John G. Apostolopoulos April 27, 2004 Page 35
  • 36. Video Estimating Available Bandwidth: Streaming Model-Based Methods • Model-based (equation-based) methods – Goal: Ensure fair competition with concurrent TCP flows on the network, e.g. fair sharing of bandwidth – Basic idea: – Model the average throughput of a TCP flow – Transmit video with the same throughput as if is was a TCP flow λ = Throughput of TCP 1.22 × MTU λ= MTU = Maximum Transmit Unit (max packet size) RTT = Round Trip Time RTT × ρ ρ = Packet loss ratio – Similar characteristics to TCP flow on macroscopic scale (not microscopic) – Behaves macroscopically like a TCP flow, “fair” to other TCP flows, referred to as “TCP-friendly” [Floyd, et.al.; Mathis et.al.; Tan, Zakhor] John G. Apostolopoulos April 27, 2004 Page 36
  • 37. Video Streaming Why not use TCP for Rate Control? • TCP: – Guarantees delivery via retransmission, leading to time- varying throughput and delay – Additive-increase multiplicative-decrease (AIMD) rate control Rate Rave Time • Problem: TCP AIMD oscillations are detrimental for streaming → Exactly matching TCP traffic pattern is bad! • Instead, match TCP traffic pattern on a coarser (macroscopic) scale, e.g. same average throughput over a time-window • Summary: – Exactly emulating TCP rate control (AIMD) is bad – TCP-friendly approaches attempt to share bandwidth fairly on a macroscopic scale John G. Apostolopoulos April 27, 2004 Page 37
  • 38. Video Overcoming the Bandwidth Problem: Streaming Rate Control Available Bandwidth? Sender Receiver • Rate control: 1. Estimate the available bandwidth 2. Match video rate to available bandwidth • Rate control may be performed at: – Sender – Receiver • Available bandwidth may be estimated by: – Probe-based methods – Model-based (equation-based) methods John G. Apostolopoulos April 27, 2004 Page 38
  • 39. Video Streaming Receiver-Based Rate Control • Receiver explicitly selects the video rate from a number of possible rates • Key example: Receiver-driven Layered Multicast 1. Sender codes video with scalable or layered coder 2. Sends different layers over different multicast groups 3. Each receiver estimates its bandwidth and joins an appropriate number of multicast groups – Receives an appropriate number of layers up to its available bandwidth John G. Apostolopoulos April 27, 2004 Page 39
  • 40. Video Streaming Receiver-Based Rate Control (cont.) • Example of Receiver-Driven Layered Multicast [McCanne, Jacobson, Vetterli] – Each client can join/drop layers Client with high-rate connection Source Client with medium-rate connection Client with low-rate connection Base layer Enh layer 1 Client with low-rate Enh layer 2 connection John G. Apostolopoulos April 27, 2004 Page 40
  • 41. Video Rate Control: Streaming Adapting the Video Bit Rate • Source must match video bit rate with available bandwidth • Video bit rate may be adapted by: – Varying the quantization – Varying the frame rate – Varying the spatial resolution – Adding/dropping layers (for scalable coding) • Options depend on real-time encoding or pre-encoded content: – Real-time encoding: Adapting is straightforward – Pre-encoded content: Limited options, e.g. drop B- frames, drop layers in scalable coding, or perform transcoding John G. Apostolopoulos April 27, 2004 Page 41
  • 42. Video Problems in Video Streaming over the Streaming Internet Problems to be addressed include unknown and dynamic: • Bandwidth • Delay jitter – Variable end-to-end packet delay – Compensate via playout buffer • Loss John G. Apostolopoulos April 27, 2004 Page 42
  • 43. Video Streaming Why is Delay Jitter an Issue? Example: • Video encoder captures/sends video at a certain rate, e.g. 10 frames/sec or one frame every 100 ms • Receiver should decode and display frames at the same rate – Each frame has its own specific playout time – Playout time: Deadline by which it must be received/decoded/displayed • If a frame arrives after its playout time it is (generally) useless • If subsequent frames depend on the late frame, then effects can propagate John G. Apostolopoulos April 27, 2004 Page 43
  • 44. Video Streaming Delay Jitter Encoder Internet Decoder • End-to-end delay in Internet: Depends on router processing and queuing delays, propagation delays, and end system processing delays • Delay jitter: – End-to-end delay may fluctuate from packet to packet – Jitter: Variation in the end-to-end delay • Example: Video coded at 10 frames/sec – Each frame sent in one packet every 100 ms – Received packets may not be spaced apart by 100 ms – Some may be closer together – Some may be farther apart John G. Apostolopoulos April 27, 2004 Page 44
  • 45. Video Overcoming Delay Jitter: Streaming Playout buffer • Goal: Overcome delay jitter • Approach: Add buffer at decoder to compensate for jitter • Corresponds to adding an offset to the playout time of each packet – If (packet delay < offset) then OK – Buffer packet until its playout time – If (packet delay > offset) then problem • Playout buffer typically 5-15 secs – Compensates for delay jitter and enables retransmission of lost packets John G. Apostolopoulos April 27, 2004 Page 45
  • 46. Video Overcoming Delay Jitter: Streaming Playout Buffer (cont.) • Packet delivery, time-varying delay (jitter), and playout delay: Playout Time Loss Playout Delay Buffering Packet Reception Delay Packet Transmission Packet Number John G. Apostolopoulos April 27, 2004 Page 46
  • 47. Video Overcoming Delay Jitter: Streaming Playout Buffer (cont.) • Delay per packet and effect of playout delay: Loss Delay Playout Delay Packet Delay Packet Number John G. Apostolopoulos April 27, 2004 Page 47
  • 48. Video Streaming Effect of Different Playout Delays • Playout delays: TD1 < TD2 < TD3 Time TD3 TD2 TD1 Packet Reception Packet Transmission Packet Number John G. Apostolopoulos April 27, 2004 Page 48
  • 49. Video Streaming Effect of Different Playout Delays (cont.) • Playout delays: TD1 < TD2 < TD3 Delay TD3 TD2 TD1 Packet Delay Packet Number John G. Apostolopoulos April 27, 2004 Page 49
  • 50. Video Streaming Effect of Different Playout Delays (cont.) • As the playout delay is increased, the cumulative distribution of in-time packets is increased • Note: (1) minimum transmit time, (2) long tail in the distribution 80% 90% 99% Probability TD1 Delay TD2 TD3 John G. Apostolopoulos April 27, 2004 Page 50
  • 51. Video Streaming Comments on Playout Delay • Designing appropriate playout strategy is very important • Tradeoff between playout delay and loss (late packets) – Longer delay leads to fewer late (lost) packets – Shorter delay leads to more late (lost) packets • Streaming of stored video can tolerate long delays (e.g. Real and Microsoft use 5-15 secs) • Real-time interactive video can not tolerate long delays (maybe 150 ms) • Delay jitter is dynamic (time-varying) – Fixed playout delay is sub-optimal – Adaptive playout delay is better → Estimate delay jitter and adapt playout delay John G. Apostolopoulos April 27, 2004 Page 51
  • 52. Video Problems in Video Streaming over the Streaming Internet Problems to be addressed include unknown and dynamic: • Bandwidth • Delay jitter • Loss – Overcome losses via error control: – Forward Error Correction (FEC) – Retransmission – Error concealment – Error-resilient video coding John G. Apostolopoulos April 27, 2004 Page 52
  • 53. Video Streaming Error Control • Goal of error control: – To overcome the effect of errors such as packet loss on a packet network or bit or burst errors on a wireless link • Types of error control: Channel – Forward Error Correction (FEC) Coding – Retransmission Source – Error concealment Coding – Error-resilient video coding John G. Apostolopoulos April 27, 2004 Page 53
  • 54. Video Streaming Error Control • Goal of error control: – To overcome the effect of errors such as packet loss on a packet network or bit or burst errors on a wireless link • Types of error control: – Forward Error Correction (FEC) – Retransmission – Error concealment – Error-resilient video coding John G. Apostolopoulos April 27, 2004 Page 54
  • 55. Video Streaming Forward Error Correction (FEC) • Goal of FEC or channel coding: Add specialized redundancy that can be used to recover from errors • Example: Overcoming packet losses in a packet network – Losses correspond to packet erasures – Block codes are typically used – K data packets, (N-K) redundant packets, total of N packets – Overhead N/K – Example: – 5 data packets, 2 redundant packets (K,N) = (5,7) – 7/5 = 1.40 or 40 % overhead John G. Apostolopoulos April 27, 2004 Page 55
  • 56. Video Streaming FEC (cont.) • Error correcting capability: 1. If no errors, then K data packets provide data 2. As long as any K of the N packets are correctly received the original data can be recovered (Assuming maximum distance separable (MDS) code) • Simplest example: – N = K+1 – Redundant packet is parity packet, simplest form of erasure code – OK as long as no more than 1 out of N packets are lost • Example: 5 data packets, 2 redundant packets (5,7) – Can compensate for up to 2 lost packets – OK as long as any 5 out of 7 are received John G. Apostolopoulos April 27, 2004 Page 56
  • 57. Video Streaming FEC and Interleaving • Problem: Burst errors may produce more than N-K consecutive lost packets • Possible solution: FEC combined with interleaving to spread out the lost packets • FEC and interleaving often effective • Potential problem: – To overcome long burst errors need large interleaving depth → Leads to large delay John G. Apostolopoulos April 27, 2004 Page 57
  • 58. Video Streaming Summary of FEC • Advantages: – Low delay (as compared to retransmits) – Doesn’t require feedback channel – Works well (if appropriately matched to channel) • Disadvantages: – Overhead – Channel loss characteristics are often unknown and time-varying – FEC may be poorly matched to channel →Therefore, often ineffective (too little FEC) or inefficient (too much FEC) John G. Apostolopoulos April 27, 2004 Page 58
  • 59. Video Streaming Error Control • Goal of error control: – To overcome the effect of errors such as packet loss on a packet network or bit or burst errors on a wireless link • Types of error control: – Forward Error Correction (FEC) – Retransmission – Error concealment – Error-resilient video coding John G. Apostolopoulos April 27, 2004 Page 59
  • 60. Video Streaming Retransmissions • Assumption: Back-channel exists between receiver and sender • Approach: Receiver tells sender which packets were received/lost and sender resends lost packets • Advantages: – Only resends lost packets, efficiently uses bandwidth – Easily adapts to changing channel conditions • Disadvantages: – Latency (round-trip-time (RTT)) – Requires a back-channel (not applicable in broadcast, multicast, or point-to-point w/o back-channel) – For some applications, usefulness decreases with increasing RTT John G. Apostolopoulos April 27, 2004 Page 60
  • 61. Video Streaming Retransmission (cont.) Variations on retransmission-based schemes: • Video streaming with time-sensitive data – Delay-constrained retransmission – Only retransmit packets that can arrive in time – Priority-based retransmission – Retransmit important packets before unimportant packets – Leads to interesting scheduling problems, e.g. which packet should be transmitted next? John G. Apostolopoulos April 27, 2004 Page 61
  • 62. Video Streaming Joint Source-Channel Coding Key Idea: Data and video communication are fundamentally different! • Data communication: – All data bits are equally important and must be reliably delivered – Timeliness may not be important • Video communication: – Some bits are more important than other bits – It is not necessary for all bits to be reliably delivered – Timeliness is often critical • Idea: Exploit the differing importance in the video data • Joint source-channel coding: Jointly design source and channel coders to exploit the difference in importance John G. Apostolopoulos April 27, 2004 Page 62
  • 63. Video Streaming Joint Source-Channel Coding (cont.) Examples of coded video data with different importance: • Different frame types have different importance – I-frame: Most important – P-frame: Medium importance – B-frame: Minimum importance (can be discarded) • Different layers in a scalable coder have different importance – Base layer: Most important – Enhancement layer 1: Medium importance – Enhancement layer 2: Minimum importance John G. Apostolopoulos April 27, 2004 Page 63
  • 64. Video Streaming Joint Source-Channel Coding (cont.) • Adapt error-control based on importance of video data – FEC: Unequal error protection – Retransmit: Unequal (prioritized) retransmit strategies • Example for I, P, and B frames: I-frame P-frame B-frame FEC Maximum Medium Minimum (or none) Retransmit Maximum Medium Can discard John G. Apostolopoulos April 27, 2004 Page 64
  • 65. Video Streaming Joint Source-Channel Coding (cont.) • Example for scalable video coding: Base Layer Enhancement Enhancement Layer #1 Layer # 2 FEC Maximum Medium Minimum (or none) Retransmit Maximum Medium Can discard John G. Apostolopoulos April 27, 2004 Page 65
  • 66. Video Streaming Review of Today’s Lecture • Properties of Video Communication Applications • Brief case studies: – Video storage, e.g. DVD – Digital television • Video streaming over the Internet – Bandwidth problem → Rate control – Delay jitter → Playout buffer – Loss → Error control – Forward Error Correction (FEC) – Retransmission – Error concealment Next lecture – Error-resilient video coding John G. Apostolopoulos April 27, 2004 Page 66