@@ -17,8 +17,8 @@ The package contains the following components:
- a data loading feature in python, compatible with the data dumped by the decoder
- an inference feature based on SADL supporting both float and int16 model
- a common api supporting input preparation and inference of NN-based models
- two NN-based loop filter sets, activated with command line parameter --NnlfOption (0: disable NN filter; 1: Use NN-based loop filter set 0; 2: Use NN-based loop filter set 1)
- training scripts of the two NN-based loop filter sets
- two NN-based loop filter: default is the Low Operating Point (LOP). The second one is High Operating Point (HOP), available using the nn_based/HOP.cfg configuration file.
- training scripts of the NN-based loop filter.
Build instructions
==================
...
...
@@ -99,10 +99,10 @@ cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
```
When built in Unix-like environments, AVX512 is enabled by default for NN related code. Use the following commands to disable it (use SIMD instructions up to AVX2 instead).
When built in Unix-like environments, AVX2 is enabled by default for NN related code. Use the following commands to enable AVX512.
@@ -379,18 +379,38 @@ Currently, input preparation and inference of the two NN-based loop filter sets
NN-based loop filter
==================
There are two NN-based loop filter sets in the common software, which are both disabled by default (--NnlfOption=0).
LOP NN loop-filter
------------------
There are several NN-based loop filter sets in the common software.
By default the LOP NN based loop-filter is activated. The default path is set assuming the encoder and decoder are run from the root of the repository.
When running the codec from other location, please adapt the NnlfModelName parameter to point to the correct location.
HOP NN loop-filter
------------------
In order to use the HOP loop-filter, just change the NnlfModelName parameter to point to the HOP model (see cfg\/nn\_based/HOP.cfg file for an example).
Legacy NN-based loop filter
==================
NN-based loop filter set 0
----------------------------------------------
To activate NN-based loop filter set 0, use --NnlfOption=1, or equivalently -c cfg/nn-based/NnlfOption\_1.cfg
To activate NN-based loop filter set 0, use --NnlfOption=10, or equivalently -c cfg/nn-based/NnlfOption\_1.cfg
To specify a model path, use e.g. --ModelPath="models/", or equivalently -mp "models/". Note that model path should be specified at both encoder and decoder.
NN-based loop filter set 0
----------------------------------------------
To activate NN-based loop filter set 0, use --NnlfOption=10, or equivalently -c cfg/nn-based/NnlfOption\_1.cfg
To specify a model path, use e.g. --ModelPath="models/", or equivalently -mp "models/". Note that model path should be specified at both encoder and decoder.
NN-based loop filter set 1
----------------------------------------------
To activate NN-based loop filter set 1, use --NnlfOption=2, or equivalently -c cfg/nn-based/NnlfOption\_2.cfg
To activate NN-based loop filter set 1, use --NnlfOption=11, or equivalently -c cfg/nn-based/NnlfOption\_2.cfg
To specify model paths, use e.g. following command lines. Note that model paths should be specified at both encoder and decoder.
...
...
@@ -401,7 +421,7 @@ To specify model paths, use e.g. following command lines. Note that model paths
LC NN-based loop filter set
----------------------------------------------
To activate LC(low complexity) NN-based loop filter set, use --NnlfOption=3, or equivalently -c cfg/nn-based/NnlfOption\_3.cfg
To activate LC(low complexity) NN-based loop filter set, use --NnlfOption=12, or equivalently -c cfg/nn-based/NnlfOption\_3.cfg
The LC NNLF consists of the CP Decomposed & Fused (CPDF) LC models proposed in JVET-AD0156.
...
...
@@ -436,7 +456,7 @@ VTM-11-NNVC encoder/decoder executable is run.