High Efficiency Video Coding Kiana Calagari CMPT 880: Large-scale Multimedia Systems and Cloud Computing.

Slides:



Advertisements
Similar presentations
Parallel Scalability and Efficiency of HEVC Parallelization Approaches
Advertisements

Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
KIANOOSH MOKHTARIAN SCHOOL OF COMPUTING SCIENCE SIMON FRASER UNIVERSITY 6/24/2007 Overview of the Scalable Video Coding Extension of the H.264/AVC Standard.
MPEG4 Natural Video Coding Functionalities: –Coding of arbitrary shaped objects –Efficient compression of video and images over wide range of bit rates.
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
MULTIMEDIA PROCESSING
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)
A Highly Parallel Framework for HEVC Coding Unit Partitioning Tree Decision on Many-core Processors Chenggang Yan, Yongdong Zhang, Jizheng Xu, Feng Dai,
H.264/AVC Baseline Profile Decoder Complexity Analysis Michael Horowitz, Anthony Joch, Faouzi Kossentini, and Antti Hallapuro IEEE TRANSACTIONS ON CIRCUITS.
1 Adaptive slice-level parallelism for H.264/AVC encoding using pre macroblock mode selection Bongsoo Jung, Byeungwoo Jeon Journal of Visual Communication.
Shaobo Zhang, Xiaoyun Zhang, Zhiyong Gao
Ch. 6- H.264/AVC Part I (pp.160~199) Sheng-kai Lin
Overview of the H.264/AVC Video Coding Standard
Decision Trees for Error Concealment in Video Decoding Song Cen and Pamela C. Cosman, Senior Member, IEEE IEEE TRANSACTION ON MULTIMEDIA, VOL. 5, NO. 1,
Image (and Video) Coding and Processing Lecture: DCT Compression and JPEG Wade Trappe Again: Thanks to Min Wu for allowing me to borrow many of her slides.
Block Partitioning Structure in the HEVC Standard
BY AMRUTA KULKARNI STUDENT ID : UNDER SUPERVISION OF DR. K.R. RAO Complexity Reduction Algorithm for Intra Mode Selection in H.264/AVC Video.
Complexity Model Based Load- balancing Algorithm For Parallel Tools Of HEVC Yong-Jo Ahn, Tae-Jin Hwang, Dong-Gyu Sim, and Woo-Jin Han 2013 IEEE International.
1 Image and Video Compression: An Overview Jayanta Mukhopadhyay Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur,
An Introduction to H.264/AVC and 3D Video Coding.
MPEG-2 Digital Video Coding Standard
EE 5359 H.264 to VC 1 Transcoding Vidhya Vijayakumar Multimedia Processing Lab MSEE, University of Arlington Guided.
PROJECT PROPOSAL HEVC DEBLOCKING FILTER AND ITS IMPLIMENTATION RAKESH SAI SRIRAMBHATLA UTA ID: EE 5359 Under the guidance of DR. K. R. RAO.
PROJECT INTERIM REPORT HEVC DEBLOCKING FILTER AND ITS IMPLEMENTATION RAKESH SAI SRIRAMBHATLA UTA ID:
Page 19/15/2015 CSE 40373/60373: Multimedia Systems 11.1 MPEG 1 and 2  MPEG: Moving Pictures Experts Group for the development of digital video  It is.
Profiles and levelstMyn1 Profiles and levels MPEG-2 is intended to be generic, supporting a diverse range of applications Different algorithmic elements.
Windows Media Video 9 Tarun Bhatia Multimedia Processing Lab University Of Texas at Arlington 11/05/04.
Reducing/Eliminating visual artifacts in HEVC by Deblocking filter By: Harshal Shah Under the guidance of: Dr. K. R. Rao.
By Abhishek Hassan Thungaraj Supervisor- Dr. K. R. Rao.
Outline JVT/H.26L: History, Goals, Applications, Structure
JPEG. The JPEG Standard JPEG is an image compression standard which was accepted as an international standard in  Developed by the Joint Photographic.
Adaptive Multi-path Prediction for Error Resilient H.264 Coding Xiaosong Zhou, C.-C. Jay Kuo University of Southern California Multimedia Signal Processing.
June, 1999 An Introduction to MPEG School of Computer Science, University of Central Florida, VLSI and M-5 Research Group Tao.
VIDEO COMPRESSION USING NESTED QUADTREE STRUCTURES, LEAF MERGING, AND IMPROVED TECHNIQUES FOR MOTION REPRESENTATION AND ENTROPY CODING Present by fakewen.
Directional DCT Presented by, -Shreyanka Subbarayappa, Sadaf Ahamed, Tejas Sathe, Priyadarshini Anjanappa K. R. RAO 1.
Compression video overview 演講者:林崇元. Outline Introduction Fundamentals of video compression Picture type Signal quality measure Video encoder and decoder.
Rate-GOP Based Rate Control for HEVC SHANSHE WANG, SIWEI MA, SHIQI WANG, DEBIN ZHAO, AND WEN GAO IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING,
- By Naveen Siddaraju - Under the guidance of Dr K R Rao Study and comparison between H.264.
Figure 1.a AVS China encoder [3] Video Bit stream.
Image/Video Coding Techniques for IPTV Applications Wen-Jyi Hwang ( 黃文吉 ) Department of Computer Science and Information Engineering, National Taiwan Normal.
Study and Optimization of the Deblocking Filter in H.265 and its Advantages over H.264 By: Valay Shah Under the guidance of: Dr. K. R. Rao.
High-efficiency video coding: tools and complexity Oct
Vamsi Krishna Vegunta University of Texas, Arlington
Reducing/Eliminating visual artifacts in HEVC by Deblocking filter Submitted By: Harshal Shah Under the guidance of Dr. K. R. Rao.
Porting of Fast Intra Prediction in HM7.0 to HM9.2
JPEG Image Compression Standard Introduction Lossless and Lossy Coding Schemes JPEG Standard Details Summary.
Transcoding from H.264/AVC to HEVC
Video Compression—From Concepts to the H.264/AVC Standard
Block-based coding Multimedia Systems and Standards S2 IF Telkom University.
Overview of the High Efficiency Video Coding (HEVC) Standard
Time Optimization of HEVC Encoder over X86 Processors using SIMD Kushal Shah Advisor: Dr. K. R. Rao Spring 2013 Multimedia.
Introduction to MPEG Video Coding Dr. S. M. N. Arosha Senanayake, Senior Member/IEEE Associate Professor in Artificial Intelligence Room No: M2.06
HEVC High Level Syntax and Around
Fundamentals of Multimedia 2 nd ed., Chapter 12 Li, Drew, Liu1 Chapter 12 New Video Coding Standards: H.264 and H H H Comparisons.
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.
JPEG Compression What is JPEG? Motivation
CSI-447: Multimedia Systems
HEVC Complexity and Implementation Analysis
Adaptive Block Coding Order for Intra Prediction in HEVC
Thomas Daede October 5, 2017 AV1 Update Thomas Daede October 5, 2017.
Research Topic Error Concealment Techniques in H.264/AVC for Wireless Video Transmission Vineeth Shetty Kolkeri EE Graduate,UTA.
Supplement, Chapters 6 MC Course, 2009.
Study and Optimization of the Deblocking Filter in H
PROJECT PROPOSAL HEVC DEBLOCKING FILTER AND ITS IMPLIMENTATION RAKESH SAI SRIRAMBHATLA UTA ID: EE 5359 Under the guidance of DR. K. R. RAO.
/ Fast block partitioning method in HEVC Intra coding for UHD video /
Viewport-based 360 Video Streaming:
Viewport-based 360 Video Streaming:
MPEG4 Natural Video Coding
Presentation transcript:

High Efficiency Video Coding Kiana Calagari CMPT 880: Large-scale Multimedia Systems and Cloud Computing

Outline Introduction Main concepts –Improvements in coding efficiency –Parallel processing Other features and details

Video Coding Standards

HEVC H.265 or MPEG-H Part2 : The new joint video coding standard First edition finalized on Jan 2013 Additional work planned to extend the standard … – 3D and multiview  expected in 2014/2015 –Scalable extensions(SVC)  expected in July 2014 –Range extensions (several color formats, increased bit depth) 4

HEVC 5

Mainly focus on: –Doubling the coding efficiency –Parallel processing architectures 6

HEVC 50% bit-rate reduction  Same bandwidth, double the data ! Motivations: Popularity of HD videos Emergence of beyond HD format (4k x 2k, 8k x 4k) High resolution 3D or multiview More than 50% of the current network traffic is video  HEVC is suitable for high resolution videos

HEVC Main Features and Improvements: Coding Tree Structure Intra Prediction Motion Vector coding 8

Coding Tree Structure Core of the coding layer: Coding Tree Units (CTU) instead of Macro Blocks (MB)  Size of CTU can be larger that traditional MB 9

Coding Tree Structure 10 Coding tree blocks (CTBs): Picture is partitioned into CTBs, each luma CTB covers a rectangular picture area of NxN samples (N=16, 32, 64) Coding Tree Units (CTU): The luma CTB and the two chroma CTBs, together with the associated syntax, form a CTU

Coding Blocks (CB): –CTB can be partitioned into multiple CBs –The syntax in CTU specifies the size and positions Coding Units (CU): –The luma CB and the two chroma CBs, with the associated syntax, form a CU 11 Coding Tree Structure 8x8 ≤ CB size ≤ CTB size

Coding Tree Structure 12 The decision whether to code a picture area using inter or intra prediction is made at the CU level Quadtree Roots CTU CU TU PU

Coding Tree Structure Prediction Blocks (PB): –Depending on the prediction type CBs can be spitted to PBs. –Each PB contains one motion vector (if in a P slice). Prediction Unit (PU): – Again, the luma and chroma PBs, with the associated syntax, form a PU 13 4x4 ≤ PB size ≤ CB size

Coding Tree Structure Transform Blocks (TB): –Blocks for applying DCT transform: 4x4 ≤ size ≤ 32x32 –Integer transform for 4x4 intra blocks. Transform Unit (TU): – Again, the luma and chroma TBs, with the associated syntax, form a TU 14 TB size ≤ CB size TB can span across multiple PBs

Coding Tree Structure large CTB sizes are even more important for coding efficiency when higher resolution video are used large CTB sizes increase coding efficiency while also reducing decoding time. 15

Intra Prediction What is Intra Prediction? 16

Intra Prediction Prior to HEVC 17

Intra Prediction HEVC supports :  33 directional modes  planar (surface fitting)  DC prediction (flat) 18 Using 4N+1 spatial neighbours Extrapolating samples for a given direction

Motion Vector coding There are two methods for MV prediction: –Merge Mode –Advanced Motion Vector Prediction (AMVP) (instead of sending the whole motion vector each time) 19

Motion Vector coding Merge Mode A candidate list of motion parameters is made for the corresponding PU (Using spatial and temporal neighbouring PBs) No motion parameters are coded, only the index information for selecting one of the candidates is transmitted Allows a very efficient coding for large consistently displaced picture areas. (Combined with large block sizes) 20

Motion Vector coding Advanced Motion Vector Prediction (AMVP) AMVP is used when an inter coded CB is not coded using the merge mode The difference between the chosen predictor and the actual motion vector is transmitted… … along with the index of the chosen candidate 21

Parallel Processing Tools Motivation: High resolution videos HEVC is far more complex than its prior standards Since we have parallel processing architectures, why not use it ! 22

Parallel Processing Tools Slices Tiles Wavefront parallel processing (WPP) Dependent Slices 23

Slice Slices are a sequence of CTUs that are processed in the order of a raster scan. Slices are self-contained and independent. Each slice is encapsulated in a separate packet. 24

Tile Self-contained and independently decodable rectangular regions. Tiles provide parallelism at a coarse level of granularity. Tiles more than the cores  Not efficient  Breaks dependencies 25

Wavefront Parallel Processing A slice is divided into rows of CTUs. Parallel processing of rows. The decoding of each row can be begun as soon a few decisions have been made in the preceding row for the adaptation of the entropy coder. Better compression than tiles. Parallel processing at a fine level of granularity. 26 No WPP with tiles !!

Dependent Slices Separate NAL units but dependent (Can only be decoded after part of the previous slice) Dependent slices are mainly useful for ultra low delay applications  Remote Surgery Error resiliency gets worst Low delay Good Efficiency 27  Goes well with WPP

Comparison Slice vs Tile Tile vs WPP 28

Slice vs Tile  Tiles are kind of zero overhead slices –Slice header is sent at every slice but tile information once for a sequence –Slices have packet headers too Each tile can contain a number of slices and vice versa  Slices are for :  Controlling packet sizes  Error resiliency  Tiles are for:  Controlling parallelism (multiple core architecture)  Defining ROI regions 29

Tile vs WPP  WPP:  Better compression than tiles  Parallel processing at a fine level of granularity But …  Needs frequent communication between processing units  If high number of cores  Can’t get full utilization  Good for when:  Relatively small number of nodes  Good inter core communication  No need to match to MTU size  Big enough shared cache 30

Other Features and Details 31

Other Features and Details In-loop filters  New SAO Special coding modes Profiles and Levels Merge mode and Non-merge mode Intra Prediction Inter Prediction 32

In-loop Filters Deblocking Filter (DBF) SAO

In-loop Filters Deblocking Filter  Reduces the blocking artifacts (due to block based coding)  Only applied to samples adjacent to PU and TU boundaries and aligned with the 8x8 sample grid  Controlled by the SPS and slice headers

In-loop Filters Deblocking Filter  3 Strengths : Strength 2: If one of the blocks is intra coded Strength 1: If any of the below Strength 0: DBF not applied At least one transform coefficient is non-zero The references of the two blocks are not equal The motion vectors are not equal

In-loop Filters Deblocking Filter  According to the strength and average quantization parameter:  2 cases for chroma: Normal filtering (if Strength >1) or No filtering 3 cases for luma: No filter Weak filter Strong filter

In-loop Filters Deblocking Filter –Processing order: The filtering process can be done in parallel threads 1 st ) Horizontal filtering  For vertical edges 2 nd ) Vertical filtering  For horizontal edges

In-loop Filters SAO  New in HEVC  After the deblocking filter  Applies to all samples satisfying the conditions  Performed on a region basis

In-loop Filters SAO  Modifies Samples by  adding an offset  The offset is based on  look-up table values  Per CTB Type_ID=0 No SAO Type_ID=1 Band offset Type_ID=2 Edge offset

In-loop Filters SAO  Band offset: Offset value Sample amplitude Full sample range  Uniformly split into 32 bands 4 consecutive bands  Have a + or – band offset Depends on

In-loop Filters SAO  Edge offset:  4 types  5 categories (for classifying each sample)

In-loop Filters SAO  Edge offset: Based on the category  A value from the look-up table Categories 1, 2 : Negative offset Categories 3, 4 : Positive offset

Special Coding Modes 3 special modes:  I_PCM  Lossless mode  Transform skipping mode

Special Coding Modes I_PCM: samples are directly represented Prediction Transform Quantization Entropy  For noise-like signals  Extremely unusual signal characteristics Bypassed

Special Coding Modes Lossless mode: residuals are directly fed to entropy Transform Quantization In-Loop filters Bypassed

Special Coding Modes Transform skipping: Transform Improves compression for some videos such as computer generated images Bypassed

Profiles and Levels Profile : A set of coding tools and algorithms that can be used Level : Puts constraints on certain key parameters

Profiles and Levels 13 levels  8 of them have 2 tiers Main tier High tier  Higher max bit rate For more demanding app.s

Profiles and Levels 3 Profiles –Main: all-purpose 8 bit per pixel –Main 10: 10 bit per pixel where very high quality is critical –Main still picture: subset of main just a single still picture

Merge Mode Candidates ? Spatial   Availability check: {a1, b1, b0, a0, b2}

Merge Mode Candidates ? Temporal  right, bottom position outside the PU If not available  center position

Merge Mode Candidates ? Slice header: max number of candidates (C) Temporal + (C-1) Spatial If less  generate

Motion Vector Prediction Candidates ? Only 2 candidates 1 st from {a0, a1} 2 nd {b0, b1, b2} If the reference frame isn’t the same  scale If less than 2  use a temporal

Intra Prediction PB size = CB size Unless... CB = min size  can be split to 4 parts Prediction is done according to the TB size Intra mode is established at the PU level

Inter Prediction CB can split to 4 equal sizes only if CB = min size

Inter Prediction Fractional sample:  8 tap filter for half-sample  7 tap filter for quarter-sample  4 tap for chroma one-eight-sample

Conclusion A combined and well use of the HEVC features can cause 50% bit-rate reduction HEVC well suits the parallel processing architecture

References Sullivan et al., “Overview of the High Efficiency Video Coding (HEVC) Standard”, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, December 2012 Frojdh et al., “Next Generation Video Compression”, Ericsson Review, April

Thanks