PVQ Applied Outside of Daala (IETF 97 Draft)

PVQ Applied Outside of Daala (IETF 97 Draft)

PVQ Applied outside of Daala (IETF 97 Draft) Yushin Cho Mozilla Corporation November, 2016 Introduction ● Perceptual Vector Quantization (PVQ) – Proposed as a quantization and coefficient coding tool for NETVC – Originally developed for the Daala video codec – Does a gain-shape coding of transform coefficients ● The most distinguishing idea of PVQ is the way it references a predictor. – PVQ does not subtract the predictor from the input to produce a residual Mozilla Corporation 2 Integrating PVQ into AV1 ● Introduction of a transformed predictors both in encoder and decoder – Because PVQ references the predictor in the transform domain, instead of using a pixel-domain residual as in traditional scalar quantization ● Activity masking, the major benefit of PVQ, is not enabled yet – Encoding RDO is solely based on PSNR Mozilla Corporation 3 Traditional Architecture Input X residue Subtraction Transform T signal R predictor P + decoded X Inverse Inverse Scalar decoded R Transform Quantizer Quantizer Coefficient bitstream of Coder coded T(X) Mozilla Corporation 4 AV1 with PVQ Input X Transform T T(X) PVQ Quantizer PVQ Coefficient predictor P Transform T T(X) Coder PVQ Inverse Quantizer Inverse dequantized bitstream of decoded X Transform T(X) coded T(X) Mozilla Corporation 5 Coding Gain Change Metric AV1 --> AV1 with PVQ PSNR Y -0.17 PSNR-HVS 0.27 SSIM 0.93 MS-SSIM 0.14 CIEDE2000 -0.28 ● For the IETF test sequence set, "objective-1-fast". ● IETF and AOM for high latency encoding options are used. Mozilla Corporation 6 Speed ● Increase in total encoding time due to PVQ's search for best codepoint – PVQ's time complexity is close to O(n*n) for n coefficients, while scalar quantization has O(n) ● Compared to Daala, the search space for a RDO decision in AV1 is far larger – For the 1st frame of grandma_qcif (176x144) in intra frame mode, Daala calls PVQ 3843 times, while AV1 calls 632,520 times, that is ~165x. Mozilla Corporation 7 Speed - Contd. Speed # of calls to # of calls to # of calls to PVQ Level AV1 quantizer PVQ quantize search inside a band 5 28,028 26,786 365,913 4 57,445 56,980 472,222 3 505,039 564,724 3,680,366 2 505,039 564,724 3,680,366 1 535,100 580,566 3,990,327 0 589,931 632,520 4,109,113 Note: Above results are from the encoding of 1st frame as a intra frame mode. Mozilla Corporation 8 Issues arising in Integration ● PVQ does RDO during quantization – While most traditional scalar quantization as used in AV1 does not ● Scan orders for AV1's hybrid transforms – AV1 uses both DCT and ADST, which required PVQ to add corresponding bandwise scan orders. Mozilla Corporation 9 Future Work ● Enable activity masking ● Enable high bit depth (10/12 bits) ● RDO with more model-driven decision making Mozilla Corporation 10 References ● [I-D.valin-netvc-pvq] Valin, J., "Pyramid Vector Quantization for Video Coding", draft-valin- netvc-pvq-00, June 2015. – https://tools.ietf.org/html/draft-valin-netvc-pvq-00 Mozilla Corporation 11.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us