High Efficiency Video Coding. Li Li 2016/10/18

Similar documents
HEVC The Next Generation Video Coding. 1 ELEG5502 Video Coding Technology

Selected coding methods in H.265/HEVC

Lecture 13 Video Coding H.264 / MPEG4 AVC

Lec 10 Video Coding Standard and System - HEVC

Laboratoire d'informatique, de Robotique et de Microélectronique de Montpellier Montpellier Cedex 5 France

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

Video Codecs. National Chiao Tung University Chun-Jen Tsai 1/5/2015

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

ENCODER COMPLEXITY REDUCTION WITH SELECTIVE MOTION MERGE IN HEVC ABHISHEK HASSAN THUNGARAJ. Presented to the Faculty of the Graduate School of

Professor, CSE Department, Nirma University, Ahmedabad, India

Transcoding from H.264/AVC to High Efficiency Video Coding (HEVC)

MPEG-4: Simple Profile (SP)

Reducing/eliminating visual artifacts in HEVC by the deblocking filter.

High Efficiency Video Coding: The Next Gen Codec. Matthew Goldman Senior Vice President TV Compression Technology Ericsson

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

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

Intel Stress Bitstreams and Encoder (Intel SBE) HEVC Getting Started

Digital Video Processing

THE H.264 ADVANCED VIDEO COMPRESSION STANDARD

High Efficiency Video Coding (HEVC)

Introduction to Video Compression

Video Compression An Introduction

CMPT 365 Multimedia Systems. Media Compression - Video

Anatomy of a Video Codec

OVERVIEW OF IEEE 1857 VIDEO CODING STANDARD

Interframe coding A video scene captured as a sequence of frames can be efficiently coded by estimating and compensating for motion between frames pri

VIDEO COMPRESSION STANDARDS

Week 14. Video Compression. Ref: Fundamentals of Multimedia

EFFICIENT DEISGN OF LOW AREA BASED H.264 COMPRESSOR AND DECOMPRESSOR WITH H.264 INTEGER TRANSFORM

Video compression Beyond H.264, HEVC

A VIDEO TRANSCODING USING SPATIAL RESOLUTION FILTER INTRA FRAME METHOD IN MULTIMEDIA NETWORKS

High Efficiency Video Coding (HEVC) test model HM vs. HM- 16.6: objective and subjective performance analysis

The Scope of Picture and Video Coding Standardization

Transcoding from H.264/AVC to High Efficiency Video Coding (HEVC)

H.264 / AVC (Advanced Video Coding)

Using animation to motivate motion

Encoding Video for the Highest Quality and Performance

LIST OF TABLES. Table 5.1 Specification of mapping of idx to cij for zig-zag scan 46. Table 5.2 Macroblock types 46

COMPARISON OF HIGH EFFICIENCY VIDEO CODING (HEVC) PERFORMANCE WITH H.264 ADVANCED VIDEO CODING (AVC)

Content-Based Adaptive Binary Arithmetic Coding (CABAC) Li Li 2017/2/9

IMPLEMENTATION OF H.264 DECODER ON SANDBLASTER DSP Vaidyanathan Ramadurai, Sanjay Jinturkar, Mayan Moudgill, John Glossner

Introduction of Video Codec

Chapter 10. Basic Video Compression Techniques Introduction to Video Compression 10.2 Video Compression with Motion Compensation

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

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

COMPLEXITY REDUCTION IN HEVC INTRA CODING AND COMPARISON WITH H.264/AVC VINOOTHNA GAJULA. Presented to the Faculty of the Graduate School of

Lecture 5: Error Resilience & Scalability

10.2 Video Compression with Motion Compensation 10.4 H H.263

Comparative and performance analysis of HEVC and H.264 Intra frame coding and JPEG2000

Mark Kogan CTO Video Delivery Technologies Bluebird TV

INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO

Ch. 4: Video Compression Multimedia Systems

Video coding. Concepts and notations.

Scalable Extension of HEVC 한종기

CONTENT ADAPTIVE COMPLEXITY REDUCTION SCHEME FOR QUALITY/FIDELITY SCALABLE HEVC

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:

"Block Artifacts Reduction Using Two HEVC Encoder Methods" Dr.K.R.RAO

International Journal of Emerging Technology and Advanced Engineering Website: (ISSN , Volume 2, Issue 4, April 2012)

Performance Evaluation of Kvazaar HEVC Intra Encoder on Xeon Phi Many-core Processor

Fast Transcoding From H.264/AVC To High Efficiency Video Coding

INF5063: Programming heterogeneous multi-core processors. September 17, 2010

Lecture 6: Compression II. This Week s Schedule

Weighted Combination of Sample Based and Block Based Intra Prediction in Video Coding

Mali GPU acceleration of HEVC and VP9 Decoder

Module 7 VIDEO CODING AND MOTION ESTIMATION

Georgios Tziritas Computer Science Department

Improving Intra Pixel prediction for H.264 video coding

Chapter 2 Joint MPEG-2 and H.264/AVC Decoder

Multimedia Decoder Using the Nios II Processor

Introduction to Video Encoding

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

Complexity Estimation of the H.264 Coded Video Bitstreams

Recent Developments in Video Compression Standardization CVPR CLIC Workshop, Salt Lake City,

Sample Adaptive Offset Optimization in HEVC

Standard Codecs. Image compression to advanced video coding. Mohammed Ghanbari. 3rd Edition. The Institution of Engineering and Technology

LECTURE VIII: BASIC VIDEO COMPRESSION TECHNIQUE DR. OUIEM BCHIR

EE 5359 H.264 to VC 1 Transcoding

Lecture 3 Image and Video (MPEG) Coding

Video Compression Standards (II) A/Prof. Jian Zhang

Bit-rate reduction using Superpixel for 360-degree videos - VR application SWAROOP KRISHNA RAO

Lecture Coding Theory. Source Coding. Image and Video Compression. Images: Wikipedia

EFFICIENT INTRA PREDICTION SCHEME FOR LIGHT FIELD IMAGE COMPRESSION

In the name of Allah. the compassionate, the merciful

A NOVEL APPROACH TO IMPROVE QUALITY OF 4G WIRELESS NETWORK FOR H.265/HEVC STANDARD WITH LOW DATA RATE

TRANSCODING OF H264 BITSTREAM TO MPEG 2 BITSTREAM. Dr. K.R.Rao Supervising Professor. Dr. Zhou Wang. Dr. Soontorn Oraintara

RATE DISTORTION OPTIMIZATION FOR INTERPREDICTION IN H.264/AVC VIDEO CODING

Lec 04 Variable Length Coding in JPEG

H.264 STANDARD BASED SIDE INFORMATION GENERATION IN WYNER-ZIV CODING

VHDL Implementation of H.264 Video Coding Standard

Entropy Coding in HEVC

Advanced Encoding Features of the Sencore TXS Transcoder

EE 5359 MULTIMEDIA PROCESSING SPRING Final Report IMPLEMENTATION AND ANALYSIS OF DIRECTIONAL DISCRETE COSINE TRANSFORM IN H.

Intra-Mode Indexed Nonuniform Quantization Parameter Matrices in AVC/H.264

Multimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology

06/12/2017. Image compression. Image compression. Image compression. Image compression. Coding redundancy: image 1 has four gray levels

DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS

The Basics of Video Compression

VIDEO AND IMAGE PROCESSING USING DSP AND PFGA. Chapter 3: Video Processing

Jun Zhang, Feng Dai, Yongdong Zhang, and Chenggang Yan

Daala: One year later

Transcription:

High Efficiency Video Coding Li Li 2016/10/18 Email: lili90th@gmail.com

Outline Video coding basics High Efficiency Video Coding Conclusion

Digital Video A video is nothing but a number of frames Attributes Height Width 1080p: 1920x1080 Frame rate 24/30/60 fps Pixel values 8bits: 0~255

Digital Video

Need for compression Uncompressed 1080p video at 24 fps Pixels per frame: 1920x1080 Bits per pixel: 8bitsx3 (RGB) 1.5 hour: 1920x1080x3x24x5400=806 GB Bit rate: 806x8/5400=1.2Gbits/s Blue-Ray DVD Read rate: 36Mbits/s Video Streaming or TV Broadcast Transmission rate: 1 Mbits/s to 20 Mbits/s

Compression strategies Compression is achieved by removing redundant information from video sequence Redundancy type Spatial redundancy: intra prediction Temporal redundancy: inter prediction Perceptual redundancy: Quantization Statistical Redundancy: Entropy coding

Spatial redundancy removal Intra prediction Use the spatial neighboring blocks to predict the current block

Temporal redundancy removal (1) Inter prediction (frame difference) Use the temporal neighboring frames to predict the current frame

Temporal redundancy removal (2) Inter prediction: motion compensation Divide the frame into multiple blocks For each block, find out the MV between the current block and the matching block

Intra picture (I) Picture coding types I Picture is coded without reference to other pictures First picture/random access picture Inter pictures Uni-directionally predicted picture: P picture Bi-directionally predicted picture: B picture

Perceptual redundancy removal Quantization Most significant bits (MSBs) are perceptually more important than least significant bits 255: 11111111 (MSB: 128, LSB: 1) High frequency coefficient dropping

Statistical redundancy removal Entropy coding (e.g. variable length coding) Shorter code-words used to represent more frequent values (Huffman coding)

Summary of the key steps in video coding Prediction Intra prediction: spatial redundancy Inter prediction: temporal redundancy Transform and Quantization Perceptual redundancy Entropy Coding Statistical redundancy In-loop filtering Post-processing: Image enhancement

Outline Video coding basics High Efficiency Video Coding Conclusion

High Efficiency Video Coding Encoder (1) Framework

High Efficiency Video Coding Encoder (2) Steps carried out by encoder Partitioning each picture into multiple units Predicting each unit using inter or intra prediction, subtracting the prediction from the unit Transforming and quantizing the residual Entropy encoding all the information In-loop filter Most of the steps are based on the rate-distortion optimization

High Efficiency Video Coding decoder (1)

High Efficiency Video Coding decoder (2) Steps carried out by decoder Entropy decoding Inverse quantization and inverse transform Predicting each unit and adding the prediction to the output of inverse transform to form the reconstruction Reconstructing a decoded video image In-loop filtering

Partition ---- Coding Tree Unit Each frame is firstly broken up into CTUs In H.264/AVC, macro-block is always 16x16 Each macro-block is either inter or intra coded In HEVC, CTU can be up to 64x64 CTU can have a combination of inter and intra coded blocks Large block sizes can reduce the signaling overhead examples

Partition----Coding Unit CTU divided into coding units using Quadtree based splitting CU is either or intra or inter mode CU is the basic unit for the prediction mode

Partition----prediction unit (1) CU is further split into one, two or four PUs Unlike CU, PU may only be split once Intra PU The basic unit to carry intra prediction information

Inter PU Partition----prediction unit (2) Both symmetrical and asymmetrical partitions are supported The basic unit to carry motion information

Partition----Transform Unit (1) TU is also specified for Coding Unit HEVC allows a CU to split into multiple TUs recursively to form another quadtree

Partition----Transform Unit (2) TU is basic unit to perform transform and quantization HEVC supports DCT based 4x4, 8x8, 16x16, 32x32 integer transform HEVC supports DST based 4x4 transform for intra 4x4 block compared to H.264/AVC Achieve 5% to 10% bitrate reduction 8x more computations, 16x larger transpose memory

HEVC and H.264 partition comparison HEVC provide more flexible partitions to divide the picture into different predictions

HEVC intra prediction (1) HEVC intra prediction is considered as an extension of H.264/AVC Each PU is predicted from neighboring image data in the same picture DC prediction: average value Planar prediction: bilinear interpolation Directional prediction: extrapolating from neighboring pixels

HEVC intra prediction (2) HEVC Luma has 35 intra prediction modes DC: average of neighboring pixels Planar: bilinear interpolation 33 angular prediction

HEVC intra prediction (3) HEVC Chroma has 5 intra prediction modes Planar: Bilinear interpolation Vertical: extrapolation from vertical pixels Horizontal: extrapolation from horizontal pixels DC: average Derived mode: the same as the Luma

HEVC intra prediction (4) Reference sample smoothing (pre-processing) Reduce contouring artifacts caused by edges in the reference sample arrays Two modes: determined by PU size and pred mode Three tap (1,2,1) smoothing filter Strong linear smoothing with corner reference pixels

HEVC intra prediction (5) Boundary smoothing (post-processing) Filter first prediction row and column with threetap filter for DC prediction and two tap for horizontal and vertical prediction

HEVC intra prediction (6) Intra prediction direction coding Luma 35 modes 3 most probable modes (0, 10, 11) 32 remaining modes (5bits) Chroma 5 modes 1bit: Derived mode 2bit: remaining modes

Inter direction HEVC inter prediction (1) Forward/backward/bidirectional prediction Reference frame index indicate which reference frame is used MV: find the position in the reference frame MVs can have up to ¼ pixel accuracy

HEVC inter prediction (2) HEVC inter prediction Obtain motion information Merge mode AMVP mode combined with fast motion estimation Integer motion estimation Fractional motion estimation Use motion information to perform Motion compensation Use the motion information to obtain the corresponding prediction block Interpolation process

Merge mode HEVC inter prediction (3) motion data is completely inferred Merge candidate construction Search over A, B, C, D, and E Delete the duplicate motion information E B C CR A D RB

HEVC inter prediction (4) Advanced Motion Vector Prediction inferred only motion vector MV is predicted from five spatial neighbors and one co-located temporal MV Only two are finally selected

Motion estimation algorithm (1) Integer pixel: full search algorithm Repetitive, easy for hardware implementation Target frame R x R y B m d m Reference frame Search range B m

Motion estimation algorithm (2) Fast motion estimation algorithms Two dimensional logarithmic search 3 5 4 5 5 5 5 3 2 3 4 2 1 2 1 1 1 1

Motion estimation algorithm (3) Fast motion estimation algorithms Three-step search algorithm 3 3 3 2 3 2 3 2 3 3 3 1 1 2 1 2 2 2 2 1 1 1 1 1 1

Motion estimation algorithm (4) Advanced fast motion estimation algorithms H.264/AVC: EPZS HEVC: TZ Save 98% percent of encoding time Better coding efficiency

Motion estimation algorithm (5) Fractional pixel motion estimation Half pixel motion estimation The best integer with 8 half surround ¼ pixel motion estimation The best half with 8 ½ pixel surround D: SATD R: MV

Benefits of merge The benefits of merge Save lots of head information

Motion compensation (1) Motion compensation Fetch: Find the corresponding position Interpolation: for fractional MVs Weighted prediction Fetch Interpolation Weighted Prediction (optional)

Motion compensation (2) Motion compensation Horizontal interpolation (first) Vertical interpolation (second) A - 1, - 1 A 0, - 1 a 0, - 1 b 0, - 1 c 0, - 1 A 1, - 1 A 2, - 1 A - 1,0 A 0,0 a 0,0 b 0,0 c 0,0 A 1,0 A 2,0 d - 1,0 d 0,0 e 0,0 f 0,0 g 0,0 d 1,0 d 2,0 h - 1,0 h 0,0 i 0,0 j 0,0 k 0,0 h 1,0 h 2,0 n - 1,0 n 0,0 p 0,0 q 0,0 r 0,0 n 1,0 n 2,0 A - 1,1 A 0,1 a 0,1 b 0,1 c 0,1 A 1,1 A 2,1 A - 1,2 A 0,2 a 0,2 b 0,2 c 0,2 A 1,2 A 2,2

Motion compensation(3) Interpolation (Based on DCTIF) Balance of complexity and performance Luma interpolation coefficient Chroma Interpolation coefficient

HEVC transform HEVC supports 32x32, 16x16, 8x8 and 4x4 DCTlike transforms and 4x4 DST-like transform DST-like 4x4 transform is allowed only for intra Intra prediction is based on the top and left neighbors. Prediction accuracy is more for the pixels located near to top/left neighbors than those away from it. DST transform is more suitable to code such kind of residuals

HEVC quantization Default: uniform quantization Each position is with the same Quantization step Coeff Coeff / QStep quant Support explicit quantization matrix coding 8x8 and 4x4 quantization matrix explicitly transmitted 32x32 and 16x16 quantization matrix derived

HEVC Entropy Coding (1) Context adaptive binary arithmetic coding Syntax element coding Coefficient coding Entropy Coding

Binaryzation HEVC Entropy Coding (2) Turn each syntax element to a series of bin Different kinds of binary methods for different syntax elements Bin to bits Bypass encoding: 0.5 possibility Context modeling

HEVC Entropy coding (3) Merge Index: 3 (optional values: 0, 1, 2, 3, 4) Binaryzation 0: 0; 1: 10; 2: 110; 3: 1110; 4: 1111 1110 Encoding The first bin: using context models Get the context model, encoding, update the context model The remained three bins: bypass coding

Deblocking filter HEVC Deblocking filter(1) Used to remove the blocking artifacts Method: Modified values of p0, p1, q0, q1; p2 and q2 are optional to modify

HEVC Deblocking filter (2) Deblocking filter Deblocking filter is applied to all samples adjacent to PU and TU boundaries Granularity is 8x8 grid or higher

HEVC Deblocking filter (3) Deblocking strength 0: no Deblocking 1: weak; inter PUs 2: strong; intra PUs

HEVC Sample adaptive offset (1) Sample adaptive offset Applied after deblocking Second post-processing tool after deblocking Compensate the difference between the reconstructed value and original value Add offset to pixels depending on their categorization (band, edge). Edge offset Band offset

HEVC Sample adaptive offset (2) Edge offset Check neighbors in one of four directions Based on the values of the neighbors, apply one of four offsets

HEVC Sample adaptive offset (3) The pixel range from 0,1,2,.255 (8-bits per pixel) is uniformly split into 32 bands Only 4 consecutive bands are selected by the encoder A fixed offset added to all samples of the same band a separate offset is signaled for each band

HEVC Sample adaptive offset (4) SAO Results Smaller ringing artifacts About 3% objective quality improvement

HEVC Key features (1)

HEVC Key features (2)

HEVC benefits (1) Subjective quality (under the same bitrate) H.264/AVC HEVC

HEVC benefits (2) 2x higher compression compared to H.264 H.264 is the currently dominant video coding standard Higher throughput and lower power Benefits Less burden on global networks Easier streaming of HD video to mobile devices Account for advancing screen resolution HEVC will provide a flexible, reliable, and robust solution to the next decade of video

HEVC test model usage Configuration All intra: test intra case Random access: best quality Low delay: video conference Basic usage Checkout the HEVC code at using SVN https://hevc.hhi.fraunhofer.de/svn/svn_hevcsoftwa re/ Encoder: -c sequence.cfg c configuration.cfg Most important parameters: QP Decoder: -b str.bin o dec.yuv

Outline Video coding basics High Efficiency Video Coding Conclusion

Conclusion We introduced some video coding basic technology We briefly introduced some technology for both HEVC encoder and decoder Partition, intra/inter prediction, transform, quantization, CABAC, In-loop filter We introduced some basic usage of HEVC test model

Some useful links HEVC special issue: TCSVT Dec. 2012 HEVC proposal: http://phenix.it-sudparis.eu/jct/ JVET proposal: http://phenix.it-sudparis.eu/jvet/ HEVC test model: https://hevc.hhi.fraunhofer.de/svn/svn_hevcsoftware/

Thank you! Email: lili90th@gmail.com