Add a VQ mode
Description
Add a VQ (Visual Quality) mode option towards sharpness preservation. The new “—tune” CLI token is supported as follows:
- use the VQ mode,
- use the regular (or PSNR) mode. If not specified then default is 1.
List of changes:
- TF: If high noise level then: • limit window-size to [0,1] and to [-1,1] for I, and B, respectively. • decrease the strength (decay=1).
- IFS: Applied a QP-aware penalty to smooth if high noise-level; the lower the QP, the less the smooth filter is selected.
- md-stage0/post-md-stage3: • Decrease the uniped-cost at both md-stage0 and post-md-stage3 if high noise-level towards less INTRA and less Bipred. • The bias is QP-aware; the higher the QP, the more conservative the bias is.
- CDEF: shut CDEF If high noise level
- Restoration: shut Restoration If high noise level
- SCD: optimized the 1st BASE after a scene change; inherited the I_SLICE depth removal, modes, PF, subres, LPD level, and set the QP = (BASE_QP+ Last I_QP) / 2.
- Depth-refinement: shut the cost-based refinement if high 8x8 me-distortion variance (i.e. only use the depth-cost-deviation refinement).
Note that we use the noise level of the preceding BASE picture at tf (Temporal Filtering).
Issue
Author(s)
@hguermaz, @dxyliu, @danielkong.
Performance impact
-
quality -
memory -
speed -
8 bit -
10 bit -
N/A
Test set
-
obj-1-fast can be found here -
other -
N/A
Merge method
-
Allow the maintainer to squash and merge when PR is ready to create a 1-commit to the master branch. The maintainer will be able to fix typos / combine commit messages to create a more readable 1-commit message or use whatever is stated in the 'Description' section -
I will clean up my commits and the maintainer shall use 'rebase and merge' to the master branch
Edited by Hassen Guermazi