Daala: One year later

Similar documents
A Summary of the Daala Project

Lecture 13 Video Coding H.264 / MPEG4 AVC

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

The Scope of Picture and Video Coding Standardization

CS 260: Seminar in Computer Science: Multimedia Networking

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

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

Daala Codebase 17 Aug 2014

PROCEEDINGS OF SPIE. Perceptually-driven video coding with the Daala video codec

Overview: motion-compensated coding

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

Week 14. Video Compression. Ref: Fundamentals of Multimedia

Overview, implementation and comparison of Audio Video Standard (AVS) China and H.264/MPEG -4 part 10 or Advanced Video Coding Standard

Objective: Introduction: To: Dr. K. R. Rao. From: Kaustubh V. Dhonsale (UTA id: ) Date: 04/24/2012

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

videocodec Discussion IETF 90 (July 2014)

VIDEO COMPRESSION STANDARDS

Introduction to Video Compression

Efficient MPEG-2 to H.264/AVC Intra Transcoding in Transform-domain

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

MPEG-4: Simple Profile (SP)

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

OVERVIEW OF IEEE 1857 VIDEO CODING STANDARD

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

PREFACE...XIII ACKNOWLEDGEMENTS...XV

Anatomy of a Video Codec

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

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

Stereo Image Compression

Comparative Study of Partial Closed-loop Versus Open-loop Motion Estimation for Coding of HDTV

Mark Kogan CTO Video Delivery Technologies Bluebird TV

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

Introduction to Video Encoding

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

Interframe coding of video signals

Video Coding Using Spatially Varying Transform

Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Chapter 10 ZHU Yongxin, Winson

The VC-1 and H.264 Video Compression Standards for Broadband Video Services

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

CMPT 365 Multimedia Systems. Media Compression - Video

AVS VIDEO DECODING ACCELERATION ON ARM CORTEX-A WITH NEON

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

ISSN: An Efficient Fully Exploiting Spatial Correlation of Compress Compound Images in Advanced Video Coding

Multimedia Decoder Using the Nios II Processor

( ) ; For N=1: g 1. g n

Implementation and analysis of Directional DCT in H.264

Digital Video Processing

Encoding Video for the Highest Quality and Performance

10.2 Video Compression with Motion Compensation 10.4 H H.263

An Improved H.26L Coder Using Lagrangian Coder Control. Summary

Coding of Coefficients of two-dimensional non-separable Adaptive Wiener Interpolation Filter

Module 7 VIDEO CODING AND MOTION ESTIMATION

ESE532 Spring University of Pennsylvania Department of Electrical and System Engineering System-on-a-Chip Architecture

JPEG: An Image Compression System

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

Optimizing the Deblocking Algorithm for. H.264 Decoder Implementation

The xvc video codec. draft-samuelsson-netvc-xvc-00 Jonatan Samuelsson, Per Hermansson (Divideon) IETF 101, London, March xvc.io.

Professor, CSE Department, Nirma University, Ahmedabad, India

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

Rate Distortion Optimization in Video Compression

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

Final report on coding algorithms for mobile 3DTV. Gerhard Tech Karsten Müller Philipp Merkle Heribert Brust Lina Jin

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

Video Coding Standards. Yao Wang Polytechnic University, Brooklyn, NY11201 http: //eeweb.poly.edu/~yao

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

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:

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

Thor update. High Efficiency, Moderate Complexity Video Codec using only RF IPR

THE H.264 ADVANCED VIDEO COMPRESSION STANDARD

Overview. Videos are everywhere. But can take up large amounts of resources. Exploit redundancy to reduce file size

An Efficient Saliency Based Lossless Video Compression Based On Block-By-Block Basis Method

White paper: Video Coding A Timeline

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

VHDL Implementation of H.264 Video Coding Standard

SIGNAL COMPRESSION. 9. Lossy image compression: SPIHT and S+P

Introduction to Video Encoding

In the name of Allah. the compassionate, the merciful

Fraunhofer Institute for Telecommunications - Heinrich Hertz Institute (HHI)

COMPARATIVE ANALYSIS OF DIRAC PRO-VC-2, H.264 AVC AND AVS CHINA-P7

Improving Intra Pixel prediction for H.264 video coding

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

LONG-TERM MEMORY PREDICTION USING AFFINE MOTION COMPENSATION

CS 335 Graphics and Multimedia. Image Compression

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

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

Audio-coding standards

Editorial Manager(tm) for Journal of Real-Time Image Processing Manuscript Draft

BLOCK MATCHING-BASED MOTION COMPENSATION WITH ARBITRARY ACCURACY USING ADAPTIVE INTERPOLATION FILTERS

Intended status: Standards Track. M. Zanaty Cisco October 31, 2016

Using animation to motivate motion

CHAPTER 4 REVERSIBLE IMAGE WATERMARKING USING BIT PLANE CODING AND LIFTING WAVELET TRANSFORM

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

Multimedia Standards

PERFORMANCE ANALYSIS OF AVS-M AND ITS APPLICATION IN MOBILE ENVIRONMENT

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

Efficient Method for Half-Pixel Block Motion Estimation Using Block Differentials

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

DCT Based, Lossy Still Image Compression

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

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

Transcription:

Daala: One year later Timothy B. Terriberry

Original Plan Finish Daala by the end of 2015 This obviously ain t gonna happen 2

Original Plan Finish Daala by the end of 2015 This obviously ain t gonna happen 3

Original Plan Finish Daala by the end of 2015 This obviously ain t gonna happen Not exactly: Main development moved to AV1 Still using Daala as a research test bed May have future life as a still-image codec Techniques not ready for AV1 now may mature over time and become more compelling 4

VDD 2015 Last year, we had 32 32 transforms and MC Multiple reference frames, but no B-frames Bilinear loop filter and deringing filter No intra mode in our motion search 5

VDD 2016 Last year, we had This year, we have 32 32 transforms and MC Multiple reference frames, but no B-frames Bilinear loop filter and deringing filter No intra mode in our motion search 64 64 transforms and MC Basic MPEG-2 style B- frames (no bi-prediction, no direct mode) No bilinear loop filter Hardware-friendly deringing 6

Other major developments Better handling of frame padding Full Precision References New transform coefficient coder Fixed-point PVQ implementation (almost done, for real!) Rate control Better chroma quality Encoder turning and better SIMD 7

64 64 Motion Compensation Have restrictions on MC sizes for neighbors Neighboring block size must be within factor of 2 Complicated RDO scheme uses unwieldy tables Found disabling 4 4 MC was an improvement Just scaled up all the tables Now we have 64 64 (down to 8 8) RATE (%) DSNR (db) PSNR -6.64171 0.19601 PSNRHVS -6.12492 0.28447 SSIM -6.62569 0.15629 FASTSSIM -4.34795 0.11693 8

64 64 Transforms We have them RATE (%) DSNR (db) PSNR -1.10946 0.03470 PSNRHVS -1.52479 0.07414 SSIM -1.22348 0.02979 FASTSSIM -1.16836 0.03324 But now we have 64 64 padding 9

Better Handling of Frame Padding Our transform coding doesn t understand that some regions are padding MC ignores prediction errors in the padding We then coded all of these errors After MC, replace the padding in the input frame by the MC predictor RATE (%) DSNR (db) PSNR -1.58367 0.04947 PSNRHVS -1.69591 0.08251 SSIM -1.57043 0.03814 FASTSSIM -1.43134 0.04049 10

Full Precision References (Currently off by default) Daala always operates on transform coefficients in 12-bit precision 8-bit inputs are shifted up by 4 before transforms Used to shift inverse transform output back to 8 bits Saves memory, but adds rounding noise FPR: Stop converting back to 8 bits RATE (%) DSNR (db) PSNR -1.95527 0.06122 PSNRHVS -1.64452 0.07952 SSIM -2.69109 0.06513 FASTSSIM -1.97242 0.05554 11

Deringing Filter Updates 12

Deringing Filter Updates Fixed several issues from hardware review Made block-level threshold calculation independent of other blocks Removed term involving an average over the whole 64x64 superblock In the 45-degree case, changed second filter to run horizontally instead of vertically Reduced the number of line buffers required in hardware Removed divisions in the direction search Used to divide by small, fixed constants (1...8) when averaging pixels along each direction (implemented in practice by multiplies) Multiply by the LCM instead: no rounding errors, still fits in 32 bits Also changed filter taps from [2,2,3,2,3,2,2]/16 to [1,2,3,4,3,2,1]/16 13

Bilinear Loop Filter Not a standard deblocking filter Doesn t look outside of current block! Compare decoded block to bilinear interpolation of corner pixels, blend with optimal Wiener filter gain 2 αq 1, w=min( )2 12σ 2 14

Bilinear Loop Filter Not a standard deblocking filter Doesn t look outside of current block! Compare decoded block to bilinear interpolation of corner pixels, blend with optimal Wiener filter gain 2 αq 1, w=min( )2 12σ 2 15

New Coefficient Coder (1) Basic idea: sum of absolute values, K, known True for PVQ, must be encoded for scalar Split coefficient vector in half K =K left +K right Code Kright : K+1 possible values (0...K) If K larger than 7, code top 3 bits of K right with arithmetic coder, code rest with raw bits Context chosen from vector dimension, top bits of K 16

New Coefficient Coder (2) Special case: K = 1 and vector dimension 16 Code exact location of the 1 with one symbol 12 contexts based on vector dimension 4 for vectors that start out with dimension 16 8 for vectors that get split down to dimension 16 Sign bits coded with raw bits RATE (%) DSNR (db) PSNR -0.11934 0.00353 PSNRHVS -0.06492 0.00298 SSIM -0.36226 0.00815 FASTSSIM -0.73242 0.01960 17

Room for Improvement Rate by pulse position for two random blocks 18

Dyadic Probability Adaptation (1) Probabilities that sum to a power of 2 can be coded with less overhead (~1%) Adaptation mostly done now with simple frequency counts Total probability changes with each coded symbol Want: adaptation scheme with fixed total Problem: need to ensure no probability goes to 0 19

Dyadic Probability Adaptation (2) Fix total, T, at 32768 (or any power of 2) Subtract probability floor {1,2,3,...,M} from CDF M is the alphabet size ( 16) Blend with {0,0,...,0,T-M,T-M,...,T-M} CDF Weights 2 -rate and (1 2 -rate ) Add back in probability floor {1,2,3,...,M} No matter how you round/truncate in the blending, total remains T, no probability is zero 20

Dyadic Probability Adaptation (3) Simplify Symbol i < coded value fi f i ( f i + 2 rate i 2)/2 rate Symbol i coded value fi f i ( f i + M i T 1)/2 rate T (total probability), M (alphabet size), i (symbol index), and rate are constants Two 15-bit vector adds and one shift with pre-computed tables Change rate for first few symbols in context to speed up adaptation RATE (%) DSNR (db) PSNR -0.45209 0.01360 PSNRHVS -0.45243 0.02212 SSIM -0.32941 0.00760 FASTSSIM -0.47029 0.01296 21

Directions for AV1 Directional Deringing Fully SIMDable, good perceptual improvements Non-binary Arithmetic Coding Small effective parallelism in entropy coding Perceptual Vector Quantization Already showing small gains vs. scalar on PSNR Potential for large perceptual improvements Enables freq. Domain Chroma-from-Luma, others Rate control improvements 22

Progress and Metrics 23

Daala Progress (Fast MS-SSIM): January 2014 to April 2016 up and left is better HQ YouTube LQ Video Conference Jan H.265 Apr Apr Nov Feb Jun May Nov

Daala Progress (PSNR-HVS): January 2014 to April 2016 up and left is better HQ YouTube LQ Video Conference Jan H.265 May Jun Apr Apr Nov Nov Feb

Questions? 26