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

Similar documents
Distributed Video Coding

Frequency Band Coding Mode Selection for Key Frames of Wyner-Ziv Video Coding

Distributed Source Coding for Image and Video Applications. Acknowledgements

MOTION ESTIMATION AT THE DECODER USING MAXIMUM LIKELIHOOD TECHNIQUES FOR DISTRIBUTED VIDEO CODING. Ivy H. Tseng and Antonio Ortega

Research on Distributed Video Compression Coding Algorithm for Wireless Sensor Networks

Region-based Fusion Strategy for Side Information Generation in DMVC

LOW DELAY DISTRIBUTED VIDEO CODING. António Tomé. Instituto Superior Técnico Av. Rovisco Pais, Lisboa, Portugal

Distributed video coding for wireless video sensor networks: a review of the state of the art architectures

Compression Algorithms for Flexible Video Decoding

WZS: WYNER-ZIV SCALABLE PREDICTIVE VIDEO CODING. Huisheng Wang, Ngai-Man Cheung and Antonio Ortega

ENCODER POWER CONSUMPTION COMPARISON OF DISTRIBUTED VIDEO CODEC AND H.264/AVC IN LOW-COMPLEXITY MODE

Systematic Lossy Error Protection for Video Transmission over Wireless Ad Hoc Networks

A Video Coding Framework with Spatial Scalability

JOINT DISPARITY AND MOTION ESTIMATION USING OPTICAL FLOW FOR MULTIVIEW DISTRIBUTED VIDEO CODING

Review and Implementation of DWT based Scalable Video Coding with Scalable Motion Coding.

Recommended Readings

Introduction to Video Encoding

ADVANCES IN VIDEO COMPRESSION

Complexity Efficient Stopping Criterion for LDPC Based Distributed Video Coding

Citation for the original published paper (version of record):

Intra-Key-Frame Coding and Side Information Generation Schemes in Distributed Video Coding

Video Codec Design Developing Image and Video Compression Systems

UNIFIED PLATFORM-INDEPENDENT AIRBORNE NETWORKING ARCHITECTURE FOR VIDEO COMPRESSION

Wyner Ziv-Based Multiview Video Coding Xun Guo, Yan Lu, Member, IEEE, Feng Wu, Senior Member, IEEE, Debin Zhao, and Wen Gao, Senior Member, IEEE

Scalable Video Coding

JPEG 2000 vs. JPEG in MPEG Encoding

Video Quality Analysis of Distributed Video Coding in Wireless Multimedia Sensor Networks

Navigarea Autonomă utilizând Codarea Video Distribuită Free Navigation with Distributed Video Coding (DVC)

Pre- and Post-Processing for Video Compression

Video Compression MPEG-4. Market s requirements for Video compression standard

Model-based Multi-view Video Compression Using Distributed Source Coding Principles

Distributed Grayscale Stereo Image Coding with Unsupervised Learning of Disparity

Measurements and Bits: Compressed Sensing meets Information Theory. Dror Baron ECE Department Rice University dsp.rice.edu/cs

Efficient and Low Complexity Surveillance Video Compression using Distributed Scalable Video Coding

SCALABLE HYBRID VIDEO CODERS WITH DOUBLE MOTION COMPENSATION

Fundamentals of Video Compression. Video Compression

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

Performance Comparison between DWT-based and DCT-based Encoders

IMAGE COMPRESSION. Image Compression. Why? Reducing transportation times Reducing file size. A two way event - compression and decompression

Georgios Tziritas Computer Science Department

Image Interpolation with Dense Disparity Estimation in Multiview Distributed Video Coding

Multimedia Systems Video II (Video Coding) Mahdi Amiri April 2012 Sharif University of Technology

Lecture 5: Error Resilience & Scalability

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:

Compression of Stereo Images using a Huffman-Zip Scheme

Low-complexity video compression based on 3-D DWT and fast entropy coding

Motion Estimation. Original. enhancement layers. Motion Compensation. Baselayer. Scan-Specific Entropy Coding. Prediction Error.

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

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

Image and Video Watermarking

A Novel Statistical Distortion Model Based on Mixed Laplacian and Uniform Distribution of Mpeg-4 FGS

H.264/AVC und MPEG-4 SVC - die nächsten Generationen der Videokompression

FPGA IMPLEMENTATION OF BIT PLANE ENTROPY ENCODER FOR 3 D DWT BASED VIDEO COMPRESSION

ERROR-ROBUST INTER/INTRA MACROBLOCK MODE SELECTION USING ISOLATED REGIONS

SYMMETRIC DISTRIBUTED CODING OF STEREO OMNIDIRECTIONAL IMAGES

ECE 634: Digital Video Systems Scalable coding: 3/23/17

WHITE PAPER ON2 TECHNOLOGIES, INC. TrueMotion VP7 Video Codec. January 10, 2005 Document Version: 1.0

STUDY AND IMPLEMENTATION OF VIDEO COMPRESSION STANDARDS (H.264/AVC, DIRAC)

Cooperative Visual Monitoring in Energy- Constrained Wireless Sensor Networks

Depth Estimation for View Synthesis in Multiview Video Coding

VIDEO COMPRESSION STANDARDS

The Scope of Picture and Video Coding Standardization

EE 5359 H.264 to VC 1 Transcoding

Network Image Coding for Multicast

Source Coding with Distortion through Graph Coloring

STACK ROBUST FINE GRANULARITY SCALABLE VIDEO CODING

An Imperceptible and Blind Watermarking Scheme Based on Wyner-Ziv Video Coding for Wireless Video Sensor Networks

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

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

CS 260: Seminar in Computer Science: Multimedia Networking

Upcoming Video Standards. Madhukar Budagavi, Ph.D. DSPS R&D Center, Dallas Texas Instruments Inc.

Video Compression An Introduction

Descrambling Privacy Protected Information for Authenticated users in H.264/AVC Compressed Video

VC 12/13 T16 Video Compression

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY ACADEMIC YEAR / ODD SEMESTER QUESTION BANK

Multimedia Communication in Wireless Sensor Networks

Module 7 VIDEO CODING AND MOTION ESTIMATION

Optimum Quantization Parameters for Mode Decision in Scalable Extension of H.264/AVC Video Codec

CMPT 365 Multimedia Systems. Media Compression - Video

A COST-EFFICIENT RESIDUAL PREDICTION VLSI ARCHITECTURE FOR H.264/AVC SCALABLE EXTENSION

Product Evaluation Guide. for CMOS Megapixel IP Cameras. Version 1.0

Distributed Rate Allocation for Video Streaming over Wireless Networks. Wireless Home Video Networking

Optimal Estimation for Error Concealment in Scalable Video Coding

Scalable Video/Image Transmission using Rate Compatible PUM Turbo Codes

Introduction to Video Coding

Smoooth Streaming over wireless Networks Sreya Chakraborty Final Report EE-5359 under the guidance of Dr. K.R.Rao

Performance analysis of AAC audio codec and comparison of Dirac Video Codec with AVS-china. Under guidance of Dr.K.R.Rao Submitted By, ASHWINI S URS

A REAL-TIME H.264/AVC ENCODER&DECODER WITH VERTICAL MODE FOR INTRA FRAME AND THREE STEP SEARCH ALGORITHM FOR P-FRAME

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

View Synthesis for Multiview Video Compression

EE 5359 Low Complexity H.264 encoder for mobile applications. Thejaswini Purushotham Student I.D.: Date: February 18,2010

FAST OBJECT TRACKING IN COMPRESSED VIDEOS FOR REAL TIME SURVEILLANCE VIDEO ANALYSIS. K.Mehmood, M.Mrak, J.Calic and A.Kondoz

View Synthesis for Multiview Video Compression

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

REGION-BASED SPIHT CODING AND MULTIRESOLUTION DECODING OF IMAGE SEQUENCES

Joint Coding/Routing Optimization for Correlated Sources in Wireless Visual Sensor Networks

Multiresolution motion compensation coding for video compression

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

CS 335 Graphics and Multimedia. Image Compression

FRAME-RATE UP-CONVERSION USING TRANSMITTED TRUE MOTION VECTORS

Transcription:

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

Standard Video Coding Scalable Video Coding Distributed Video Coding

Video Coding Compression! Video recording with 1M pixel cam [ 1 Mega pixel x 1Byte x 30frame ] / sec

frame 1 frame 2 frame 7 JPEG coding for each frame? Not efficient way, only slight change frame to frame

How to compress video Motion estimation / compensation Residual Coding

Sender ----> Receiver Encoding Channel Decoding

Sender ----> Receiver Encoding Channel Decoding current frame

Sender ----> Receiver Encoding Channel Decoding current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation Prediction current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation Prediction current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation Prediction current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation Prediction current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation Prediction current frame

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation Prediction current frame Closed loop system

Sender ----> Receiver Encoding Previous frame Channel Decoding Motion Estimation / Compensation Prediction current frame Closed loop system

Motion Estimation Previous Frame sender/receiver Current Frame sender

Motion Estimation Previous Frame sender/receiver Current Frame sender

Motion Estimation Previous Frame sender/receiver Current Frame sender

Motion Estimation Previous Frame sender/receiver Current Frame sender

Motion Estimation Previous Frame sender/receiver Current Frame sender

Motion Estimation Mean Absolute Difference Previous Frame sender/receiver Current Frame sender

Motion Estimation Mean Absolute Difference Previous Frame sender/receiver Current Frame sender

Motion Estimation Mean Absolute Difference copy & paste Previous Frame sender/receiver Current Frame sender

Mesh-Based ME

Mesh-Based ME Triangle deformation is expressed by Affine Transform

Residual Coding

Residual Coding w/o ME with ME

Residual Coding w/o ME with ME (DCT Wavelet) > Quantisation > Entropy

H.264 / MPEG-4 AVC Latest Standard, Finely tuned over decades succeeding H263 and MPEG4 Offers 50:1 compression ratio (J2K 40:1) Bluray / HD-DVD H264 = great so what is next now?

Compactness

Robustness Compactness

Compactness Robustness Scalability

What is problem in this system? Encoding Decoding

What is problem in this system? Encoding Decoding Wireless Noisy Channel

What is problem in this system? Encoding Decoding Wireless Noisy Channel

What is problem in this system? Encoding Decoding Wireless Noisy Channel

What is problem in this system? Encoding Decoding Wireless Noisy Channel

What is problem in this system? Encoding Decoding Wireless Noisy Channel

What is problem in this system? Encoding Decoding Wireless Noisy Channel

What is problem in this system? Encoding Decoding Wireless Noisy Channel Drifting Error Accumulates

What is problem in this system? Encoding Decoding Wireless Noisy Channel Drifting Error Accumulates Target bitrate is fixed; not flexible to cope with variable connection

Scalable Video Coding

Wavelet Temporal Filtering

Wavelet Temporal Filtering

Wavelet Temporal Filtering

Wavelet Temporal Filtering

Wavelet Temporal Filtering End-user can choose right resolution for his connection

Wavelet Temporal Filtering End-user can choose right resolution for his connection alleviates drifting errors

Wavelet Temporal Filtering End-user can choose right resolution for his connection alleviates drifting errors but not a perfect solution for channel noise

Distributed Video Coding

1970 Slepian and Wolf Independent encoding Joint decoding Girod IEEE Video Coding and Delivery 2005

1970 Slepian and Wolf Independent encoding Joint decoding X and Y are correlated Girod IEEE Video Coding and Delivery 2005

1970 Slepian-Wolf Theorem RX H(X Y) RY H(Y X) (RX + RY) H(X, Y) Girod IEEE Video Coding and Delivery 2005

1970 Slepian-Wolf Theorem RX H(X Y) RY H(Y X) (RX + RY) H(X, Y) Girod IEEE Video Coding and Delivery 2005

1970 Slepian-Wolf Theorem RX H(X Y) RY H(Y X) (RX + RY) H(X, Y) Girod IEEE Video Coding and Delivery 2005

Later, Wyner and Ziv established the min rate to encode X guaranteeing its recon. when Y is already known to decoder but not to encoder decoder aware of the correlation between X and Y No rate increase when X and Y are jointly Gaussian Girod IEEE Video Coding and Delivery 2005

Later, Wyner and Ziv established the min rate to encode X guaranteeing its recon. when Y is already known to decoder but not to encoder decoder aware of the correlation between X and Y No rate increase when X and Y are jointly Gaussian Girod IEEE Video Coding and Delivery 2005

Later, Wyner and Ziv X, Y correlated established the min rate to encode X guaranteeing its recon. when Y is already known to decoder but not to encoder decoder aware of the correlation between X and Y No rate increase when X and Y are jointly Gaussian Girod IEEE Video Coding and Delivery 2005

Later, Wyner and Ziv X, Y correlated X=Y established the min rate to encode X guaranteeing its recon. when Y is already known to decoder but not to encoder decoder aware of the correlation between X and Y No rate increase when X and Y are jointly Gaussian Girod IEEE Video Coding and Delivery 2005

Later, Wyner and Ziv X, Y correlated Channel coding X=Y established the min rate to encode X guaranteeing its recon. when Y is already known to decoder but not to encoder decoder aware of the correlation between X and Y No rate increase when X and Y are jointly Gaussian Girod IEEE Video Coding and Delivery 2005

Later, Wyner and Ziv X, Y correlated X=Y Error Correction Channel coding established the min rate to encode X guaranteeing its recon. when Y is already known to decoder but not to encoder decoder aware of the correlation between X and Y No rate increase when X and Y are jointly Gaussian Girod IEEE Video Coding and Delivery 2005

Example standard video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ]

Example standard video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ] X = [ 0 1 0 ] or [ 1 1 0 ] or [ 0 0 0 ] or [ 0 1 1 ]

Example standard video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ] X = [ 0 1 0 ] or [ 1 1 0 ] or [ 0 0 0 ] or [ 0 1 1 ] 4 possibilities; Need 2 bits to encode

Example distributed video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ]

Example distributed video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ]

Example distributed video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ]

Example distributed video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ] Coset 1 Coset 2 Coset 3 Coset 4 [ 0 0 0 ] [ 1 1 1 ] [ 0 0 1 ] [ 1 1 0 ] [ 0 1 0 ] [ 1 0 1 ] [ 1 0 0 ] [ 0 1 1 ]

Example distributed video coding Correlation = hamming distance is at most 1 Given Y = [ 0 1 0 ] Encode X = [ 0 1 1 ] Coset 1 Coset 2 Coset 3 Coset 4 [ 0 0 0 ] [ 1 1 1 ] [ 0 0 1 ] [ 1 1 0 ] [ 0 1 0 ] [ 1 0 1 ] [ 1 0 0 ] [ 0 1 1 ] 4 possibilities; Need 2 bits to encode

Distributed Video Coding Encoding Channel Decoding

Distributed Video Coding Encoding Channel Decoding

Distributed Video Coding Encoding Channel Decoding partial info for each block

Distributed Video Coding Encoding Channel Decoding partial info for each block

Distributed Video Coding Encoding Channel Decoding partial info for each block refresh each block with partial info -> no drift error

Distributed Video Coding Encoding Channel Decoding partial info for each block refresh each block with partial info -> no drift error

Distributed Video Coding Encoding Channel Decoding partial info for each block refresh each block with partial info -> no drift error

Coset code and Side info(y) Source Side Info Ramchandran ICIP 2005

Coset code and Side info(y) Source Side Info Ramchandran ICIP 2005

Coset code and Side info(y) Source Side Info Ramchandran ICIP 2005

Coset code and Side info(y) Source Side Info Ramchandran ICIP 2005

Coset code and Side info(y) Source Side Info Ramchandran ICIP 2005

Coset code and Side info(y) Source Side Info Ramchandran ICIP 2005

Coset code and Side info(y) Source Side Info Ramchandran ICIP 2005

Quantised DCT coefficient Generating Cosets

Generating Cosets Quantised DCT coefficient x

Generating Cosets Quantised DCT coefficient x

Generating Cosets Quantised DCT coefficient x

Generating Cosets Quantised DCT coefficient x

Generating Cosets Quantised DCT coefficient x coset 1 coset 2

Generating Cosets Quantised DCT coefficient x coset 1 coset 2

Generating Cosets Quantised DCT coefficient x coset 1 coset 2 y

Generating Cosets Quantised DCT coefficient x coset 1 coset 2 y

Motion Estimation Previous Frame Current Frame

Motion Estimation Previous Frame Current Frame

Motion Estimation Previous Frame Current Frame

Motion Estimation Previous Frame Current Frame

Motion Estimation Too many side info(y) Previous Frame Current Frame

Motion Estimation Too many side info(y) Previous Frame Current Frame

Motion Estimation Too many side info(y) CRC or Hash Previous Frame Current Frame

Motion Estimation Too many side info(y) copy & paste CRC or Hash Previous Frame Current Frame

Packet Loss Experiment H.264 + FEC SVC + DVC Ramchandran PCS 2004

Packet Loss Experiment H.264 + FEC SVC + DVC Separate source coding and channel coding Ramchandran PCS 2004

Packet Loss Experiment H.264 + FEC SVC + DVC Separate source coding and channel coding Joint source / channel coding Ramchandran PCS 2004

Pereira, MPEG Future Video Coding Workshop, Nice, France 2005

Standard Video Coding Distributed Video Coding Encoding Slow Very Fast Decoding Fast Slow Power Consumption High in encoder / Low in decoder Low in encoder / High in encoder Motion Estimation in encoder in decoder Compression ratio 50:1 (60:1) ~30:1 Noise resilient No Yes Applications DVD, Streaming from server,... Streaming from mobile, Sensor Network,...

References Girod, A. Aaron, S. Rane and D. Rebollo-Monedero, "Distributed video coding," Proceedings of the IEEE, Special Issue on Video Coding and Delivery, vol. 93, no. 1, pp. 71-83, January 2005 R. Puri and K. Ramchandran, PRISM: A new robust video coding architecture based on distriubted compression principles, in Proc. Allerton Conference on Communication, Contro, and Computing, Allerton, IL, Oct. 2002 S. S. Pradhan and K. Ramchandran, Generalized Coset Codes for Distributed Binning, IEEE Trans. Information Theory, Vol. 51, No. 10, Oct. 2005 M. Tagliasacchi, A. Majumdar and K. Ramchandran, A Distributed- Source-Coding Based Robust Spatio-Temporal Scalable Video Codec, Picture Coding Symposium 2004

References Girod, A. Aaron, S. Rane and D. Rebollo-Monedero, "Distributed video coding," Proceedings of the IEEE, Special Issue on Video Coding and Delivery, vol. 93, no. 1, pp. 71-83, January 2005 R. Puri and K. Ramchandran, PRISM: A new robust video coding architecture based on distriubted compression principles, in Proc. Allerton Conference on Communication, Contro, and Computing, Allerton, IL, Oct. 2002 S. S. Pradhan and K. Ramchandran, Generalized Coset Codes for Distributed Binning, IEEE Trans. Information Theory, Vol. 51, No. 10, Oct. 2005 M. Tagliasacchi, A. Majumdar and K. Ramchandran, A Distributed- Source-Coding Based Robust Spatio-Temporal Scalable Video Codec, Picture Coding Symposium 2004 This slide is available at http://www.dcs.warwick.ac.uk/~heechan/cs403.pdf

Conclusion Conventional video coding structure and its problem Scalable Video Coding Distributed Video Coding Joint source-channel coding : Wyner - Ziv coding Still very early stage and more works to be done for better coding efficiency

Questions?