This repository contains the offical source code of our ICCV 2025 paper:
JPEG Processing Neural Operator for Backward-Compatible Coding
JPNeO inserts two lightweight neural operators around the standard JPEG codec:
Module | Role | Status |
---|---|---|
JENO | Encoder-side operator that learns a perceptual re-mapping before quantization | pre-trained weights provided |
JDNO | Decoder-side operator that removes JPEG artifacts without IDCT | train from scratch |
Q θ | Learned quantization matrices shared by encoder / decoder | pre-trained weights provided |
The resulting .jpg bit-streams remain bit-exactly compatible with every legacy JPEG decoder.
Our code is based on Ubuntu 20.04, pytorch, CUDA (NVIDIA RTX 3090 24GB, sm86) and python.
For enviorment setup, we recommend to use CONDA for the installation:
conda env create --file env.yaml
conda activate jpneo
This DEMO file includes the pre-trained checkpoint of JPNeO’s encoder, JENO
, along with the pre-trained quantization matrix ./bin/learned_qmaps.pt
, enabling reviewers to directly test image compression.
To test proposed model, modify each file's image path such as :
Our JDNO is too heavy to be uploaded. Therefore, we provide the training code below.
The basic train code are following:
Training JDNO python train.py --config configs/train_JDNO.yaml --gpu 0
This process automatically generates a save folder and checkpoint files.
The pre-trained weights will be uploaded sooner or later.
You can test the pre-trained JENO and learned quantization matrix using the provided script `TRYME.ipynb'.
Then run the script to compress the image using JENO and