Recommended Readings

Similar documents
Coding for the Network: Scalable and Multiple description coding Marco Cagnazzo

Scalable Video Coding

Lecture 5: Error Resilience & Scalability

Multimedia networked applications: standards, protocols and research trends

Error Control Techniques for Interactive Low-bit Rate Video Transmission over the Internet.

MITIGATING THE EFFECT OF PACKET LOSSES ON REAL-TIME VIDEO STREAMING USING PSNR AS VIDEO QUALITY ASSESSMENT METRIC ABSTRACT

Module 6 STILL IMAGE COMPRESSION STANDARDS

Scalable Extension of HEVC 한종기

SMART: An Efficient, Scalable and Robust Streaming Video System

Video Streaming in Wireless Environments

MPEG-4: Simple Profile (SP)

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

Chapter 11.3 MPEG-2. MPEG-2: For higher quality video at a bit-rate of more than 4 Mbps Defined seven profiles aimed at different applications:

Networking Applications

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

2014 Summer School on MPEG/VCEG Video. Video Coding Concept

In the name of Allah. the compassionate, the merciful

Streaming (Multi)media

VIDEO COMPRESSION STANDARDS

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Channel-Adaptive Error Protection for Scalable Audio Streaming over Wireless Internet

Audio and video compression

SMART: An Efficient, Scalable, and Robust Streaming Video System

System Modeling and Implementation of MPEG-4. Encoder under Fine-Granular-Scalability Framework

Video-Aware Wireless Networks (VAWN) Final Meeting January 23, 2014

Week 14. Video Compression. Ref: Fundamentals of Multimedia

Module 7 VIDEO CODING AND MOTION ESTIMATION

Digital Asset Management 5. Streaming multimedia

A Hybrid Temporal-SNR Fine-Granular Scalability for Internet Video

Introduction to Video Compression

Compressed-Domain Video Processing and Transcoding

Real-Time Course. Video Streaming Over network. June Peter van der TU/e Computer Science, System Architecture and Networking

Network-Adaptive Video Coding and Transmission

Overview. A Survey of Packet-Loss Recovery Techniques. Outline. Overview. Mbone Loss Characteristics. IP Multicast Characteristics

Streaming Video over the Internet. Dr. Dapeng Wu University of Florida Department of Electrical and Computer Engineering

Robust Video Coding. Heechan Park. Signal and Image Processing Group Computer Science Department University of Warwick. for CS403

Delay Constrained ARQ Mechanism for MPEG Media Transport Protocol Based Video Streaming over Internet

Quality of Service (QoS) Whitepaper

Multimedia Networking

CODING METHOD FOR EMBEDDING AUDIO IN VIDEO STREAM. Harri Sorokin, Jari Koivusaari, Moncef Gabbouj, and Jarmo Takala

Video Redundancy Coding in H.263+ Stephan Wenger Technische Universität Berlin

A LOW-COMPLEXITY MULTIPLE DESCRIPTION VIDEO CODER BASED ON 3D-TRANSFORMS

ECE 417 Guest Lecture Video Compression in MPEG-1/2/4. Min-Hsuan Tsai Apr 02, 2013

A real-time SNR scalable transcoder for MPEG-2 video streams

EE 5359 H.264 to VC 1 Transcoding

The Importance of Being Opportunistic

Video Compression An Introduction

A Survey of Adaptive Layered Video Multicast using MPEG-2 Streams

Lecture 13 Video Coding H.264 / MPEG4 AVC

Optimal Estimation for Error Concealment in Scalable Video Coding

Course Syllabus. Website Multimedia Systems, Overview

Unbalanced Multiple Description Video Communication Using Path Diversity

Lecture 6: Internet Streaming Media

PREFACE...XIII ACKNOWLEDGEMENTS...XV

Mahdi Amiri. February Sharif University of Technology

Proxy-based TCP-friendly streaming over mobile networks

Improving Interactive Video in Wireless Networks Using Path Diversity 1

How to achieve low latency audio/video streaming over IP network?

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Professor Laurence S. Dooley. School of Computing and Communications Milton Keynes, UK

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

The Scope of Picture and Video Coding Standardization

Advances in Efficient Resource Allocation for Packet-Based Real-Time Video Transmission

JPEG 2000 vs. JPEG in MPEG Encoding

Video Coding Standards. Yao Wang Polytechnic University, Brooklyn, NY11201 http: //eeweb.poly.edu/~yao

MPEG-2. ISO/IEC (or ITU-T H.262)

Receiver-based adaptation mechanisms for real-time media delivery. Outline

Transporting Real-Time Video over the Internet: Challenges and Approaches

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

RECOMMENDATION ITU-R BT.1720 *

QoE Characterization for Video-On-Demand Services in 4G WiMAX Networks

ITEC310 Computer Networks II

Lec 19 - Error and Loss Control

RTP Transport & Extensions

Lecture 9 and 10. Source coding for packet networks

ERROR-RESILIENT TRANSMISSION OF H.264 SVC STREAMS OVER DVB-T/H AND WIMAX CHANNELS WITH MULTIPLE DESCRIPTION CODING TECHNIQUES

Combined Copyright Protection and Error Detection Scheme for H.264/AVC

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

Video Coding with Multiple Descriptors and Spatial Scalability for Device Diversity in Wireless Multi-hop Networks

Lecture 5: Video Compression Standards (Part2) Tutorial 3 : Introduction to Histogram

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

Error Concealment Used for P-Frame on Video Stream over the Internet

EEC-682/782 Computer Networks I

Scalable Multi-DM642-based MPEG-2 to H.264 Transcoder. Arvind Raman, Sriram Sethuraman Ittiam Systems (Pvt.) Ltd. Bangalore, India

To address these challenges, extensive research has been conducted and have introduced six key areas of streaming video, namely: video compression,

Introduction to Video Encoding

ROBUST LOW-LATENCY VOICE AND VIDEO COMMUNICATION OVER BEST-EFFORT NETWORKS

Advanced Video Coding: The new H.264 video compression standard

4G WIRELESS VIDEO COMMUNICATIONS

Introduction to LAN/WAN. Application Layer 4

Assuring Media Quality in IP Video Networks. Jim Welch IneoQuest Technologies

EE122: Multicast. Kevin Lai October 7, 2002

Rate-Distortion Optimized Layered Coding with Unequal Error Protection for Robust Internet Video

EE122: Multicast. Internet Radio. Multicast Service Model 1. Motivation

Chapter 28. Multimedia

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Bit Error Recovery in MMR Coded Bitstreams Using Error Detection Points

FEC Performance in Large File Transfer over Bursty Channels

COMP 249 Advanced Distributed Systems Multimedia Networking. Performance of Multimedia Delivery on the Internet Today

Multimedia Networking

Transcription:

Lecture 11: Media Adaptation Scalable Coding, Dealing with Errors Some slides, images were from http://ip.hhi.de/imagecom_g1/savce/index.htm and John G. Apostolopoulos http://www.mit.edu/~6.344/spring2004 video_streaming2_2004.pdf 1 Recommended Readings The Scalable Video Coding Amendment of the H.264/ AVC Standard http://ip.hhi.de/imagecom_g1/savce/index.htm Video Communication and Video Streaming II: Error Resilient Video Coding, by John G. Apostolopoulos http://www.mit.edu/~6.344/spring2004 video_streaming2_2004.pdf 2 1

Previously Ways to distribute video online Client-server IP Multicast Content delivery networks P2P media streaming design YouTube Study 3 Client-Server Gatech Stanford Berkeley Multiple copies of the same message is transmitted on the same link 4 Built from Sanjay Rao s lecture from Purdue 2

IP Multicast Gatech Stanford Source: Purdue Berkeley Per-group Router State Smart Network 5 Built from Sanjay Rao s lecture from Purdue Content Delivery Networks Strategically located replicas unicast content to nearby clients Clients can access the content on the replica servers nearest to them or the one with less current load. Reduces burden on primary server Improves perceived performance at client Low-latency, high-availability, high-scalability http://www.abacast.com/ 6 3

P2P Multicast Source: Purdue Gatech Overlay Tree Stan1 Gatech Dumb Network Stan2 Berkeley Stan1 Stanford Stan2 Berk1 Berk2 Purdue Berk1 Berk2 7! <=>+?"?@&%#+,'*)"5+%11"@-2+3"#+A=>+2"2%&+,')45! 0#%12'"-+"3+%//#)/%2)+,')45 627)#+"-&'-)+8"9+5:52)$5+ 57"4+5$%&&)#+5.)4;!"#$%&'()*+,'*)"+#%-.'-/ 8 4

TODAY: WHAT CAN MEDIA DO TO COPE WITH NETWORK ARTIFACTS 9 Network Artifacts Network congestion " Time-varying network bandwidth Multiple users (IP multicast) with different bandwidth Packet losses Transmission errors " Corrupted bits Common in wireless 10 5

Artifact #1 Time-varying Network Bandwidth Artifact #2 Heterogeneous Receivers 11 The Concept of Media Scaling Dynamically adapt the media encoding to accommodate changes in available network bandwidth Not that easy! Need to address the following: Estimate the bandwidth Figure out what can be adjusted How to adapt encoding, and encoding rate What if both audio and video are present? How to partition bandwidth between the two? What if the media is pre-encoded, i.e. MPEG-1. Decode and then re-encode? 12 6

Estimating Bandwidth Requires feedback. How often? In what form? Recall: RTP + RTCP TCP-friendliness B TCP Current thought: act like TCP. Padhye s equation: = t RTT 2Dl + t 3 out M & min$ 1,3 % 3Dl #! l 8 " ( 1+ 32l 2 ) M = packet size l = loss fraction D = number of packets ACK'ed by one ACK 13 How often? Feedback Want to limit this to once per RTT. Otherwise, rate of feedback is a design decision. Tradeoff: responsiveness vs. feedback bandwidth Should be related to when the source can use the info. 14 7

Feedback In what form? Media independent information: Loss rate and delay RTCP reports from RTCP layer Media specific information: Quality of reconstructed media. Not necessarily well related to loss and delay. User preferences For example: Regions of interest. Very application dependent. 15 Scaling Dimensions Different media can be scaled along different dimensions. Two major considerations: Encoding support. The media representation often restricts the range and type of scalability. Perceptual quality. Non-linear subjective response to changes. Think of frame size changes. 16 8

SVC: Scalable Video Coding Temporal scaling Reduce the resolution of the stream by reducing the frame rate Spatial scaling Reduce the number of pixels in an image Frequency scaling Reduce the number of DCT coefficients used in compression Amplitude scaling Reduce the color depth of each pixel in the image Quality Scaling Color space scaling Reduce the number of colors available for displaying the image An excellent read! http://ip.hhi.de/imagecom_g1/savce/index.htm 17 SVC (2) 18 9

Temporal Scalability Easy implementation: choose reference frames for motion compensation Minimum coding/decoding delay 19 Spatial Scalability Multi-layer structure with additional inter-layer prediction (black arrows). 20 10

The Result 21 Generalizing Scalability! Layered coding 22 11

Layered Representations An encoding specifically designed to produce multiple representations. Characteristics: Additive: the more layers you get, the better the media Efficient: the sum of the layers is only slightly greater than the best rep. at that quality. 23 Layered Solution Use a layered representation. Receivers decide Layers added and dropped to adjust to appropriate target rate. R1 S R2 R3 24 12

Layering Mechanisms Strictly Additive Layering Independent Layering Multi-description Coding 25 Strictly Additive Layering Layering split into: Base Layer Enhancement Layers Each layer depends on all data in lower layers. Advantages: increased compression Disadvantages: packet loss in lower layers makes packets in higher layers useless. 26 13

Examples: Temporal Scalability Need T_i to decode T_j if i<j 27 Examples: Spatial Scalability Layer 1 Layer 0 Multi-layer structure with additional inter-layer prediction (black arrows). Need T_i to decode T_j if i<j 28 14

Independent Layering Every packet from every layer improves quality. No ordering or dependency between layers. Advantages: Good ADU properties Disadvantages: Hard to construct Compression suffers Most layering schemes fall between these two extremes in some hybrid fashion. 29 Examples Temporal layering Video: Odd frames vs. Even frames. Mostly independent layers. Packet loss affects smoothness. Audio: Multiple, offset, lower-rate streams. Inter-sample compression compromised. Not all combinations equally pleasing. Spatial layering Each layer improves video size/resolution. Many of the issues as in temporal. 30 15

Examples Multiple description coding (MDC) Partition a single media stream into n-substreams (n!"!2) referred to as descriptions. Packets of each description are routed over multiple, (partially) disjoint paths. In order to decode the media stream, any description can be used The quality improves with the number of descriptions received in parallel. http://en.wikipedia.org/wiki/multiple_description_coding V. K. Goyal, "Multiple Description Coding: Compression Meets the Network," IEEE Signal Processing Magazine, vol. 18, no. 5, pp. 74 94, Sept. 2001. 31 Question SNR layering Layers contain different DCT coefficient ranges. DC and first few AC Low AC Middle AC High AC Is this an independent layering? 32 16

33 Layered Video Codec Example: LayerStream video stream " a base layer + multiple enhancement layers The encoder == a lightweight transcoder Takes high quality video as input Transcodes it to a layered stream in real-time. The layers are subsequently packetized and sent to the network The decoder : packets are reassembled by the depacketizer and transcoded back into a valid MPEG stream. Some enhancement layers may have been dropped by the network due to congestion. This causes the signal-to-noise ratio to decrease. But the client will never experience freezes or artifacts, as real-time delivery of the lower layers is guaranteed by the network at all times. 34 17

Artifact #3 Packet Losses + Corruptions 35 Video is vulnerable to losses Assuming conventional MPEG-like system: MC-prediction, Block-DCT, run length and Huffman coding Losses create two types of problems Loss of bit stream synchronization: Decoder does not know what bits correspond to what parameters E.g. error in Huffman codeword Incorrect state and error propagation: Decoder s state is different from encoder s, leading to incorrect predictions and error propagation E.g. error in MC-prediction or DC-coefficient prediction 36 18

Measurement-based Study Effects of Packet Loss on MPEG Jill Boyce and Robert Gaglianello ACM Multimedia 1998 37 Measurements From: NYC, Austin, London To: Holmdel, NJ Two 5-mins MPEG videos 30 fps 384 kbps and 1 Mbps IBBPBBPBBPBBPBB QSIF 176x112 and SIF 352x240 One row per slice 38 19

Average Packet Loss 39 Packet Loss vs Time 40 20

How to Fill Packets B: 1 frame " 1 packet P: 1 slice " 1 packet I: 1 slice " 1 packet 41 Packet Size Distributions 42 21

Packet Size vs Loss Rate 43 Lesson 1 slice per packet even if larger than MTU If smaller packets means higher loss rate: fill packet until MTU Else one slice per MTU Alt: Change size of slice 44 22

Frame Effected by Errors 45 Correlation of Packet Loss 46 23

Video is vulnerable to losses Assuming conventional MPEG-like system: MC-prediction, Block-DCT, run length and Huffman coding Losses create two types of problems Loss of bit stream synchronization: Decoder does not know what bits correspond to what parameters E.g. error in Huffman codeword Incorrect state and error propagation: Decoder s state is different from encoder s, leading to incorrect predictions and error propagation E.g. error in MC-prediction or DC-coefficient prediction 47 Some Ways to Deal with Packet Losses Network-driven (done by the sender) Retransmission Happen infrequently FEC Unequal error protection + layered coding Multiple-description coding Error Concealment (done by the receiver) Limiting Error Propagation (done by both) Reference Frame Selection 48 24

Yes We Can Do This http://www.vidyo.com/resources/videos.php#vidyo_vs_legacy 49 Decoding: Reference Frame Selection If a I-frame gets lost, how to decode subsequent P, B-frames? Select the next I-frame and use it as the reference I-frame 50 25

Decoding: Use Late Packets Packets can be dropped by routers due to congestion They can also be dropped by receivers because they arrive late 51 Illustrative Examples I X P X P X P X P X P X P Loss of this frame (no packets at the play-time) I X P X P X P X P P P Retransmission or arrival 52 26

Encoding: Changing Temporal Structure X X X I P P P P P P loss retransmission Need to protect I-frame strongly, adding more FEC or allow retransmissions Another solution: use all I-frames? No error propagation but BAD compression 53 Decoding: Error Concealment for Videos Estimate the lost information in order to conceal the fact that an error has occurred Performed at the decoder Possible because: Video exhibits a significant amount of correlation along the spatial and temporal dimensions Basic approach: Perform some form of spatial/temporal interpolation to estimate the lost information from correctly received data 54 27

Error Concealment for Video Repeat pixels from previous frame Effective when there is no motion, potential problems when there is motion Interpolate pixels from neighboring region Correctly recovering missing pixels is extremely difficult, however even correctly estimating the DC (average) value is very helpful Interpolate motion vectors from previous frame Can use coded motion vector, neighboring motion vector, or compute new motion vector 55 Impact of Error Concealment www.ebu.ch/en/technical/trev/trev_312-vitali_streaming.pdf 56 28

An excellent tutorial Video Communication and Video Streaming II: Error Resilient Video Coding by John G. Apostolopoulos http://www.mit.edu/~6.344/spring2004/video_streaming2_2004.pdf 57 Summary of Today s Learning Media coding meets networking How can media address various networking artifacts Scalable, error-resilient coding Layered coding (dependent vs. independent layering) Reference frame selection Error recovery/concealment 58 29