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

Similar documents
A COMPARISON OF CABAC THROUGHPUT FOR HEVC/H.265 VS. AVC/H.264. Massachusetts Institute of Technology Texas Instruments

A comparison of CABAC throughput for HEVC/H.265 VS. AVC/H.264

H.264 / AVC Context Adaptive Binary Arithmetic Coding (CABAC)

Optimized architectures of CABAC codec for IA-32-, DSP- and FPGAbased

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

Entropy Coding in HEVC

H.264 / AVC (Advanced Video Coding)

Adaptive Entropy Coder Design Based on the Statistics of Lossless Video Signal

FPGA based High Performance CAVLC Implementation for H.264 Video Coding

System-on-Chip Design Methodology for a Statistical Coder

IMPROVED CONTEXT-ADAPTIVE ARITHMETIC CODING IN H.264/AVC

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

H.264 STREAM REPLACEMENT WATERMARKING WITH CABAC ENCODING

CABAC Entropy Decoding Algorithm Implementation on FPGA For H.264

Lec 10 Video Coding Standard and System - HEVC

Improved Context-Based Adaptive Binary Arithmetic Coding in MPEG-4 AVC/H.264 Video Codec

An Efficient Adaptive Binary Arithmetic Coder and Its Application in Video Coding

Habermann, Philipp Design and Implementation of a High- Throughput CABAC Hardware Accelerator for the HEVC Decoder

EE 5359 MULTIMEDIA PROCESSING HEVC TRANSFORM

Fast Protection Of H.264/Avc By Selective Encryption Of Cabac For I & P Frames

THE H.264 ADVANCED VIDEO COMPRESSION STANDARD

High-Throughput Entropy Encoder Architecture for H.264/AVC

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

H.264/AVC BASED NEAR LOSSLESS INTRA CODEC USING LINE-BASED PREDICTION AND MODIFIED CABAC. Jung-Ah Choi, Jin Heo, and Yo-Sung Ho

JPEG: An Image Compression System. Nimrod Peleg update: Nov. 2003

Context-Adaptive Binary Arithmetic Coding with Precise Probability Estimation and Complexity Scalability for High- Efficiency Video Coding*

(12) United States Patent

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

SYSTEM-ON-CHIP DESIGN OF A HIGH PERFORMANCE LOW POWER FULL HARDWARE CABAC ENCODER IN H.264/AVC

HEVC CABAC. Group Project Report DR.K.R.RAO. COURSE:EE5359 Topics in Signal Processing SPRING2016

Conference Object, Postprint version This version is available at

Fast Decision of Block size, Prediction Mode and Intra Block for H.264 Intra Prediction EE Gaurav Hansda

CONTENT ADAPTIVE COMPLEXITY REDUCTION SCHEME FOR QUALITY/FIDELITY SCALABLE HEVC

RVC-CAL DATAFLOW IMPLEMENTATIONS OF MPEG AVC/H.264 CABAC DECODING. 2 IETR/INSA Rennes F-35708, Rennes, France

NEW CAVLC ENCODING ALGORITHM FOR LOSSLESS INTRA CODING IN H.264/AVC. Jin Heo, Seung-Hwan Kim, and Yo-Sung Ho

A LOW-COMPLEXITY AND LOSSLESS REFERENCE FRAME ENCODER ALGORITHM FOR VIDEO CODING

Professor, CSE Department, Nirma University, Ahmedabad, India

An Efficient Table Prediction Scheme for CAVLC

Lecture 13 Video Coding H.264 / MPEG4 AVC

Analysis of Information Hiding Techniques in HEVC.

Techniques for Architecture Design for Binary Arithmetic Decoder Engines Based on Bitstream Flow Analysis

Stereo Image Compression

Abstract. 1 Introduction. hal , version 1-22 Nov 2012

Block-Matching based image compression

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

Design of Entropy Decoding Module in Dual-Mode Video Decoding Chip for H. 264 and AVS Based on SOPC Hong-Min Yang, Zhen-Lei Zhang, and Hai-Yan Kong

In the name of Allah. the compassionate, the merciful

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

Signal Processing: Image Communication

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

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

VHDL Implementation of H.264 Video Coding Standard

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

HARDWARE BASED BINARY ARITHMETIC ENGINE

Lec 04 Variable Length Coding in JPEG

Multimedia Standards

Lec 11 Rate-Distortion Optimization (RDO) in Video Coding-I

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

Title page to be provided by ITU-T ISO/IEC TABLE OF CONTENTS

Daala: One year later

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

Implementation and analysis of Directional DCT in H.264

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

Parallel Processing Deblocking Filter Hardware for High Efficiency Video Coding

JPEG: An Image Compression System

Complexity Reduced Mode Selection of H.264/AVC Intra Coding

High Efficiency Video Coding (HEVC)

4. narrbinary wallad... syriaceaeae

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

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

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

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

Introduction to Video Encoding

THE latest video coding standard, H.264/advanced

EE573 project report OO analysis/design of CABAC, and UML modeling of H.264 encoder

Image and Video Watermarking

Compression II: Images (JPEG)

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

Fast Mode Decision for H.264/AVC Using Mode Prediction

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

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

Selected coding methods in H.265/HEVC

HEVC. Complexity Reduction Algorithm for Quality Scalability in Scalable. 1. Introduction. Abstract

Image and Video Coding I: Fundamentals

Digital Video Processing

Low power context adaptive variable length encoder in H.264

Scalable Extension of HEVC 한종기

Performance Comparison between DWT-based and DCT-based Encoders

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

Image/video compression: howto? Aline ROUMY INRIA Rennes

Video Coding Using Spatially Varying Transform

Image and Video Coding I: Fundamentals

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

AUDIOVISUAL COMMUNICATION

A fast H.264/MVC transcoder

IMPLEMENTATION OF AN ADAPTIVE BLOCK FILTER ON SUB-BLOCKS OF A MACROBLOCK IN H.264/AVC BHAVANA PRABHAKAR

PREFACE...XIII ACKNOWLEDGEMENTS...XV

H.264/AVC Video Watermarking Algorithm Against Recoding

Sample Adaptive Offset Optimization in HEVC

FPGA Implementation of High Performance Entropy Encoder for H.264 Video CODEC

Transcription:

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

Name: Li Li Self-introduction Email: lil1@umkc.edu Education 2007-2011 Bachelor USTC 2011-2016 PhD USTC Houqiang Li 2016- Postdoc UMKC Zhu Li Research interests Video coding Rate control for High Efficiency Video Coding and its extension Affine motion model for Future Video Coding Light field image compression 360-degree video compression

Outline Basic framework of CABAC Binarization Context modeling Arithmetic coding Residue coding H.264/AVC H.265/HEVC

Basic framework of CABAC (1) CABAC: Content-Based Adaptive Binary Arithmetic Coding Content-Based Adaptive: Adjust the possibility of each bin according to the context or previous coded bins Binary Arithmetic Coding: Arithmetic Coding based on 0 and 1

Basic framework of CABAC (2) Step 1: Binarization Step 2: Context model selection Step 3: Regular/Bypass coding engine Step 4: Context model update

Basic framework of CABAC (3) Step 1: Context model selection Step 2: Arithmetic decoding Step 3: Context model updating Step 4: De-binarization

Outline Basic framework of CABAC Binarization Context modeling Arithmetic coding Residue coding H.264/AVC H.265/HEVC

Binarization (1) Why Binarization? (One premise and two reasons) Binarization is a lossless operation Adaptive m-order (m>2) arithmetic coding is complex operation requiring at least two multiplications for each symbol to encode while binary arithmetic coding can be performed in a multiplication-free way Binarization enables context modeling on a subsymbol level MSB uses context model LSB uses bypass coding mode (no context)

Binarization (2) Basic binarization schemes (1) Unary Binarization Truncated Unary (TU) Binarization If the max number S is 5 then 5 can be binarized as 11111, the 0 in the last is not needed

Binarization (3) Basic binarization schemes (2) Fix Length (FL) binarization N is to the Lth power of 2: log2n N is not to the Lth power of 2: example Kth order Exp-Golomb Binarization (EGB) A combination of unary binarization and fix length binarization Refer to Prof. Li slides for more information

Binarization (4) Concatenation of basic binarization scheme Coded block pattern: 4-bit FL prefix and a TU suffix with max number S equal to 2 TU prefix and Kth order Exp-Golomb Binarization Absolute motion vector difference: TU prefix with max value of 9 and 3-order Exp-Golomb Transform coefficient levels: TU prefix with max value of 14 and 0-order Exp-Golomb

Binarization (5) After binarization, all the symbols are converted into bin string Reference index 3: 111 (TU) For the binary symbol, the binarization process is ignored (skip flag) Then for each bin, we will choose a suitable context model and finish the arithmetic coding

Outline Basic framework of CABAC Binarization Context modeling Arithmetic coding Residue coding H.264/AVC H.265/HEVC

Context modeling (1) What is context modeling Context modeling is used to estimate an accurate possibility of each bin Context The coded results of the previous blocks The coded results of the previous bins The position of the current block Different context models mean different possibilities for various bins

Context modeling (2) Context modeling type (1) Just one context model to represent the possibility Context modeling type (2) the neighboring element to the left and on top of the current syntax element Examples for Skip flag

Context modeling (3) Context modeling type (3) The values of prior coded bins are used for the choice of a model for a given bin Context modeling type (4) The position in the scanning path The accumulated number of encoded levels

Context modeling (4) Context model initialization Based on two parameters (Slice type and Quantization parameters) The initialized context model is based on some training data According to the AVS2 (audio video standard), the initialized context model will not lead to significant BD-rate difference

Outline Basic framework of CABAC Binarization Context modeling Arithmetic coding Residue coding H.264/AVC H.265/HEVC

Arithmetic coding Arithmetic Coding (1) Update the Low Bound and Range

Arithmetic Coding (2) Multiplication operation RLPS R plps Multiplication free for easy implementation R is quantized with 4 values only when calculating the R LPS p LPS is quantized with 64 values A look-up table with 64 by 4 entries will be used to replace the multiplication operation

Arithmetic Coding (3) R is quantized with 4 values 2 8 <= R < 2 9 (corresponding to [0.5,1)) The 4 parts: [256, 320], [320, 384], [384, 448], [448, 512] (ρ=0,1,2,3) Quantization: replaced using the median value of the zone: 288, 352, 416, 480 P LPS is quantized using 64 values P LPS is within [0.01875, 0.5] P σ = α x P σ-1 (α is approximated as 0.95) 0.01875 ( ) 0.5 1/63

Arithmetic Coding (4) Probability updating

Encoding process Arithmetic Coding (4)

Encoding Process Arithmetic Coding (5) Calculate R LPS according to the look-up table If the current bin is MPS, update R and possibility model If the current bin is LPS, update R, Lower Bound, and possibility model Renorm Process is used to make sure R is in a suitable range (2 8 <= R < 2 9 ) Refer to the three scaling operations in the slides provided by Prof. Li E1, E2, E3 conditions

Arithmetic Coding (6)

Arithmetic coding (7) Bypass coding (No need to update context model) Both the possibilities of LPS and MPS are 0.5 Double decision threshold

Outline Basic framework of CABAC Binarization Context modeling Arithmetic coding Residue coding H.264/AVC H.265/HEVC

Residue coding for H.264/AVC (1) Scan process to convert the block from 2D to 1D: Zig-Zag scan Significance map Significant coefficient flag Last significant coefficient flag Level information Absolute level minus 1 Coefficient sign flag

Residue coding for H.264/AVC (2) Examples (4x4 block)

Outline Basic framework of CABAC Binarization Context modeling Arithmetic coding Residue coding H.264/AVC H.265/HEVC

Residue coding for H.265/AVC (1) For larger blocks such as 8x8, 16x16, 32x32 Divide into 4x4 sub-blocks (Coefficient group) For the inter blocks, intra 16x16 and 32x32, Diagonal scan is used For the intra 8x8 blocks, mode dependent scan is chosen from diagonal, horizontal, and vertical

Residue coding for H.265/HEVC (2) 2D-1D: mostly diagonal scan (less data dependency compared with the zig-zag) Significance map Last significant coefficient position Significant coefficient flag Level information Absolute coefficient level greater than 1 flag (8) Absolute coefficient level greater than 2 flag (1) Coefficient sign flag Absolute coefficient remaining

Residue coding for H.265/HEVC (3) Examples (4x4 block)

Residue coding for H.265/HEVC (4) Sign takes about 10% to 20% of the total bits Sign data hiding The sign of the last zero coefficients in each 4x4 block (Coefficient group) is simply omitted when using sign data hiding The sign value is embedded in the parity of the sum of the levels of the 4x4 block using a predefined convention Even corresponds to + Odd corresponds to - Determined in the encoder side (RDO, change coefficients)

Reference 1. D. Marpe, H. Schwarz, and T. Wiegand, "Context Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard". IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, pp. 620-636, July 2003. 2. J. Sole et al., "Transform Coefficient Coding in HEVC," in IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1765-1777, Dec. 2012. 3. V. Sze and M. Budagavi, "High Throughput CABAC Entropy Coding in HEVC," in IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1778-1791, Dec. 2012. 4. HEVC reference software. https://hevc.hhi.fraunhofer.de/svn/svn_hevcsoftware/

Thank you!