Practical and Scalable Transmission of Segmented Video Sequences to Multiple Players using H.264 Fabian Di Fiore, Panagiotis Issaris Expertise Centre for.

Slides:



Advertisements
Similar presentations
March 24, 2004 Will H.264 Live Up to the Promise of MPEG-4 ? Vide / SURA March Marshall Eubanks Chief Technology Officer.
Advertisements

Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
A Performance Analysis of the ITU-T Draft H.26L Video Coding Standard Anthony Joch, Faouzi Kossentini, Panos Nasiopoulos Packetvideo Workshop 2002 Department.
Basics of MPEG Picture sizes: up to 4095 x 4095 Most algorithms are for the CCIR 601 format for video frames Y-Cb-Cr color space NTSC: 525 lines per frame.
-1/20- MPEG 4, H.264 Compression Standards Presented by Dukhyun Chang
1 Video Coding Concept Kai-Chao Yang. 2 Video Sequence and Picture Video sequence Large amount of temporal redundancy Intra Picture/VOP/Slice (I-Picture)
Internet Video By Mo Li. Video over the Internet Introduction Video & Internet: the problems Solutions & Technologies in use Discussion.
Source Coding for Video Application
SWE 423: Multimedia Systems
Limin Liu, Member, IEEE Zhen Li, Member, IEEE Edward J. Delp, Fellow, IEEE CSVT 2009.
An Error-Resilient GOP Structure for Robust Video Transmission Tao Fang, Lap-Pui Chau Electrical and Electronic Engineering, Nanyan Techonological University.
H.264 / MPEG-4 Part 10 Nimrod Peleg March 2003.
CS :: Fall 2003 MPEG-1 Video (Part 1) Ketan Mayer-Patel.
Efficient Fine Granularity Scalability Using Adaptive Leaky Factor Yunlong Gao and Lap-Pui Chau, Senior Member, IEEE IEEE TRANSACTIONS ON BROADCASTING,
Error Resilience in a Generic Compressed Video Stream Transmitted over a Wireless Channel Muhammad Bilal
Source-Channel Prediction in Error Resilient Video Coding Hua Yang and Kenneth Rose Signal Compression Laboratory ECE Department University of California,
Fundamentals of Multimedia Chapter 11 MPEG Video Coding I MPEG-1 and 2
Object Tracking for Retrieval Application in MPEG-2 Lorenzo Favalli, Alessandro Mecocci, Fulvio Moschetti IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR.
H.264/AVC for Wireless Applications Thomas Stockhammer, and Thomas Wiegand Institute for Communications Engineering, Munich University of Technology, Germany.
Xinqiao LiuRate constrained conditional replenishment1 Rate-Constrained Conditional Replenishment with Adaptive Change Detection Xinqiao Liu December 8,
Strictly private and confidential
MPEG2 FGS Implementation ECE 738 Advanced Digital Image Processing Author: Deshan Yang 05/01/2003.
Multimedia Compression John Hall SMDC Training June, 2006.
January 26, Nick Feamster Development of a Transcoding Algorithm from MPEG to H.263.
EE 5359 H.264 to VC 1 Transcoding Vidhya Vijayakumar Multimedia Processing Lab MSEE, University of Arlington Guided.
Video Streaming © Nanda Ganesan, Ph.D..
Faking Dynamics of Cloth Animation for Animated Films Fabian Di Fiore Expertise Centre for Digital Media Hasselt University, Belgium
GODIAN MABINDAH RUTHERFORD UNUSI RICHARD MWANGI.  Differential coding operates by making numbers small. This is a major goal in compression technology:
MPEG MPEG-VideoThis deals with the compression of video signals to about 1.5 Mbits/s; MPEG-AudioThis deals with the compression of digital audio signals.
Video Coding. Introduction Video Coding The objective of video coding is to compress moving images. The MPEG (Moving Picture Experts Group) and H.26X.
Multimedia Data Video Compression The MPEG-1 Standard
Picture typestMyn1 Picture types There are three types of coded pictures. I (intra) pictures are fields or frames coded as a stand-alone still image. These.
MPEG Motion Picture Expert Group Moving Picture Encoded Group Prateek raj gautam(725/09)
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Abhik Majumdar, Rohit Puri, Kannan Ramchandran, and Jim Chou /24 1 Distributed Video Coding and Its Application Presented by Lei Sun.
Digital Media Dr. Jim Rowan ITEC 2110 Video Part 2.
Adaptive Multi-path Prediction for Error Resilient H.264 Coding Xiaosong Zhou, C.-C. Jay Kuo University of Southern California Multimedia Signal Processing.
Codec structuretMyn1 Codec structure In an MPEG system, the DCT and motion- compensated interframe prediction are combined. The coder subtracts the motion-compensated.
MPEG MPEG : Motion Pictures Experts Group MPEG : ISO Committee Widely Used Video Compression Standard.
Image Compression Supervised By: Mr.Nael Alian Student: Anwaar Ahmed Abu-AlQomboz ID: IT College “Multimedia”
Effects of P2P Streaming on Video Quality Csaba Kiraly, Luca Abeni, Renato Lo Cigno DISI – University of Trento, Italy
8. 1 MPEG MPEG is Moving Picture Experts Group On 1992 MPEG-1 was the standard, but was replaced only a year after by MPEG-2. Nowadays, MPEG-2 is gradually.
Digital Media Dr. Jim Rowan ITEC 2110 Video Part 2.
Compression video overview 演講者:林崇元. Outline Introduction Fundamentals of video compression Picture type Signal quality measure Video encoder and decoder.
Rate-distortion Optimized Mode Selection Based on Multi-channel Realizations Markus Gärtner Davide Bertozzi Classroom Presentation 13 th March 2001.
Compression of Real-Time Cardiac MRI Video Sequences EE 368B Final Project December 8, 2000 Neal K. Bangerter and Julie C. Sabataitis.
Spring 2000CS 4611 Multimedia Outline Compression RTP Scheduling.
MPEG-4 Systems Introduction & Elementary Stream Management
UNDER THE GUIDANCE DR. K. R. RAO SUBMITTED BY SHAHEER AHMED ID : Encoding H.264 by Thread Level Parallelism.
MPEG-1Standard By Alejandro Mendoza. Introduction The major goal of video compression is to represent a video source with as few bits as possible while.
Streaming and Content Delivery SECTIONS 7.4 AND 7.5.
Overview of Fine Granularity Scalability in MPEG-4 Video Standard Weiping Li Presented by : Brian Eriksson.
Video Compression—From Concepts to the H.264/AVC Standard
Video Compression and Standards
Overview of Digital Video Compression Multimedia Systems and Standards S2 IF Telkom University.
COMPARATIVE STUDY OF HEVC and H.264 INTRA FRAME CODING AND JPEG2000 BY Under the Guidance of Harshdeep Brahmasury Jain Dr. K. R. RAO ID MS Electrical.
MPEG CODING PROCESS. Contents  What is MPEG Encoding?  Why MPEG Encoding?  Types of frames in MPEG 1  Layer of MPEG1 Video  MPEG 1 Intra frame Encoding.
IMAGE/VIDEO COMPRESSION STANDARD JPEG-2000/JasPer/Motion JPEG/Wireless JPEG/Kakadu Jan T. Bialasiewicz.
1 Department of Electrical Engineering, Stanford University EE 392J Final Project Presentation Shantanu Rane Hash-Aided Motion Estimation & Rate Control.
Introduction to MPEG Video Coding Dr. S. M. N. Arosha Senanayake, Senior Member/IEEE Associate Professor in Artificial Intelligence Room No: M2.06
V ENUS INTERNATIONAL COLLEGE OF TECHNOLOGY Guided by : Rinkal mam.
Principles of Video Compression Dr. S. M. N. Arosha Senanayake, Senior Member/IEEE Associate Professor in Artificial Intelligence Room No: M2.06
CMPT365 Multimedia Systems 1 Media Compression - Video Spring 2015 CMPT 365 Multimedia Systems.
MPEG Video Coding I: MPEG-1 1. Overview  MPEG: Moving Pictures Experts Group, established in 1988 for the development of digital video.  It is appropriately.
H. 261 Video Compression Techniques 1. H.261  H.261: An earlier digital video compression standard, its principle of MC-based compression is retained.
Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
Research Topic Error Concealment Techniques in H.264/AVC for Wireless Video Transmission Vineeth Shetty Kolkeri EE Graduate,UTA.
ENEE 631 Project Video Codec and Shot Segmentation
Standards Presentation ECE 8873 – Data Compression and Modeling
Fundamentals of Video Compression
Presentation transcript:

Practical and Scalable Transmission of Segmented Video Sequences to Multiple Players using H.264 Fabian Di Fiore, Panagiotis Issaris Expertise Centre for Digital Media Hasselt University, Belgium {fabian.difiore,

MIG09 November, /30 Introduction  The integration of multimedia streams of various nature is an important feature of many of today's games  Should not be limited to inter-person communication only  Many other interesting applications are in the queue  omnidirectional video  you control the camera and, hence, the viewport  the replacement of traditional computer-generated background images by video sequences  viewport depends on your position in a platform game  geospatial data visualization applications (battlefield, Google Earth) Introduction Approach Measurement Results Conclusions motivation need for distributing personal viewports on the same video sequence to large amounts of players

MIG09 November, /30 Introduction Introduction Approach Measurement Results Conclusions contribution Video consists of sequences of frames

MIG09 November, /30 Introduction Introduction Approach Measurement Results Conclusions contribution Let’s focus on one such frame

MIG09 November, /30 Introduction Introduction Approach Measurement Results Conclusions contribution We'd like to have multiple viewports...

MIG09 November, /30 Introduction Introduction Approach Measurement Results Conclusions contribution … of possibly different sizes

MIG09 November, /30 Introduction Introduction Approach Measurement Results Conclusions contribution … and possibly moving

MIG09 November, /30 Introduction Introduction Approach Measurement Results Conclusions contribution … and then distribute it (to heterogeneous clients).

MIG09 November, /30 How can we accomplish this?  System serving video 1) - Decode - For each client  crop the required viewing area  encode it  send it in compressed form to the client 2) - Encode once (H.264) - For each client  cut out the required viewing area  send itto the client Introduction Approach Measurement Results Conclusions overview

MIG09 November, /30 Encode for each client Introduction Approach Measurement Results Conclusions encode for each client  Extremely CPU-intensive and thus not scalable  Possible loss of quality (if source was already compressed)

MIG09 November, /30 How can we accomplish this?  System serving video 1) - Decode - For each client  take the required viewing area  encode it  send it in compressed form to the client 2) - Encode once (H.264) - For each client  cut out the required viewing area  send itto the client Introduction Approach Measurement Results Conclusions overview

MIG09 November, /30 H.264  Video encoder  input: a sequence of frames  output: smaller bitstream conforming to a specification  Block-based video codecs  divide each input frame into a grid structure  each individual area is called a macroblock  resulting output bitstream consists of a highly compressed representation of these macroblocks  the representation of each macroblock in the compressed form is of variable length: a bit error in for example the first macroblock leads to the failure to decode any macroblock in the frame Introduction Approach Measurement Results Conclusions H.264: general

MIG09 November, /30 H.264  H.264  aka MPEG-4/AVC  most recent ITU & MPEG video coding standard widely used (Blu-ray, DVB-S2, QuickTime,... )  provides a feature called a ‘slice’ which allows macroblocks to be grouped  each slice becomes individually en/decodable  coded video bitstream can have a very simple structure using one slice per frame, however, having multiple slices is advantageous for parallel processing and network transmission Introduction Approach Measurement Results Conclusions H.264 errors in a slice will not prevent the correct decoding of the other slices

MIG09 November, /30 How can we accomplish this?  System serving video 1) - Decode - For each client  take the required viewing area  encode it  send it in compressed form to the client 2) - Encode once (H.264) - For each client  cut out the required viewing area  send itto the client Introduction Approach Measurement Results Conclusions overview

MIG09 November, /30 Cut out the selected area  Cut out the video... Introduction Approach Measurement Results Conclusions regular slice subdivision

MIG09 November, /30 Cut out the selected area  … by regarding the frame as being composed of many independent areas…  use regular slice subdivision over all frames Introduction Approach Measurement Results Conclusions regular slice subdivision

MIG09 November, /30 Cut out the selected area  … and then for each client, select the areas enclosing the desired viewport. Introduction Approach Measurement Results Conclusions regular slice subdivision

MIG09 November, /30 Cut out the selected area  Removing unnecessary slices Introduction Approach Measurement Results Conclusions removing slices

MIG09 November, /30 Cut out the selected area  Removing unnecessary slices  deleting one slice affects all others  renumbering of macroblock numbers: slices need to be altered  dangerous due to variable bit length encoding: implies bit shifts  moving view frustrum  the renumbering of macroblocks due to the cropping, is different before and after the movement of the cropping window. So, the motion compensation process in the decoder will start using the wrong image data to reconstruct the image  video frame size could change: decoder issues Introduction Approach Measurement Results Conclusions removing slices

MIG09 November, /30 Cut out the selected area  Replacing unnecessary slices  replace by an artificially generated slice of minimal size  no renumbering of macroblocks  no issues of bit shifting  no header modifications needed  larger decoded picture buffer size  generated on the fly  intra-frames (~ I frames): gray blocks  inter-frames (~ P frames): only skip-bits  macroblocks of subsequent ‘empty’ slices are grouped together into a single empty slice to prevent overhead of the slices’ headers Introduction Approach Measurement Results Conclusions replacing slices

MIG09 November, /30 Cut out the selected area Introduction Approach Measurement Results Conclusions replacing slices Replacing slices empties part of a frameGrouping empty slices

MIG09 November, /30 Concerns  Frame dependency  motion vectors can point to a replaced slice (i.e. gray area) in a previous frame  solution: restrict motion vectors to current slice area Introduction Approach Measurement Results Conclusions concerns

MIG09 November, /30 Concerns  Grid structure  H.264 forces grouping of macroblocks to be consecutive in raster scan order  slices cannot span more than one row of macroblocks  macroblock: 16 x 16  rectangular slices of 16 x.... (e.g., 16 x 192)  FMO  Flexible Macroblock Ordering  not supported yet by real-time decoders Introduction Approach Measurement Results Conclusions concerns

MIG09 November, /30 Concerns  Prediction artifacts  moving the view frustum might cause motion compensation to use data we cropped out in previous frames  sudden large movements  we receive predicted slices for which we do not have the basis of the prediction (only gray artificial slices)  solution: send out more slices, located around the viewport Introduction Approach Measurement Results Conclusions concerns

MIG09 November, /30 Measurement results and comparison  Evaluation of replacing unneeded slices by empty ones  Comparisons are made against the official reference encoder (JM)  Our implementation is built on the reference encoder as it is the only encoder fully implementing H.264  No specific decoder needed Introduction Approach Measurement Results Conclusions settings

MIG09 November, /30 Measurement results and comparison  panoramic video sequence  input stream  2 clients  actual videostream sent to third client

MIG09 November, /30 Measurement results and comparison  Grid structure overhead caused by using 512 slices per frame Introduction Approach Measurement Results Conclusions grid structure overhead

MIG09 November, /30 Measurement results and comparison  Bitrate reduction using slice replacement Introduction Approach Measurement Results Conclusions bit rate reduction  purple: one slice per frame (i.e. full frame)  green: 512 slices  red: slices replaced Using FMO and optimized encoder will have even bigger impact

MIG09 November, /30 Measurement results and comparison  Bitrate reduction using slice replacement (low vs hi quality) Introduction Approach Measurement Results Conclusions bit rate reduction  green: unaltered  blue: inter slices replaced  orange/yellow: all slices replaced  red: replaced and grouped

MIG09 November, /30 Conclusion and future work  Practical way to distribute parts of a video sequence to large amounts of users  Conforming to H.264 standard  Frame extraction directly from compressed bitstream  Eliminating need for additional decoding and encoding  The overhead associated with the slice structure is mitigated by the bandwidth reduction in transmitting high- quality video streams Conclusion and future work Additional benefit will be gained when - FMO is practically usable (encoder and decoder) - using an optimized encoder (instead of reference encoder) Additional benefit will be gained when - FMO is practically usable (encoder and decoder) - using an optimized encoder (instead of reference encoder)