Content
Getting and Compilation of JPEG-XS Codec (in Windows)
Running JPEG-XS Reference Codec
JPEG XS is an International Standard from the JPEG Committee, formally known as ISO/IEC
SC29 WG1. It provides visually lossless, lightweight and low-latency image compression, compression ratios of JPEG-XS tend to around 10:1.
JPEG-XS files have the extension ‘jxs’.
Getting and Compilation of JPEG-XS Codec (in Windows)
Reference code of JPEG-XS in the format of zip-file are available here
Download the zip-file (ISO_IEC_21122-5_2_Ed-2) and extract the folder xs_ref_sw_ed2
Go to the directory xs_ref_sw_ed2 and type: mkdir build
, i.e. create the folder ‘build’
Go to the folder ‘build’ (cd build
)
Use cmake
to construct Visual Studio 2019 solution (x64) of JPEG-XS reference code:
cmake .. -G "Visual Studio 16 2019" -DCMAKE_GENERATOR_PLATFORM=x64
As the result of ‘cmake’ the Visual Studio solution ‘jxs_ref_sw.sln‘ is created in the folder ‘build‘, open this solution, set Release mode (by default Debug mode is set) and build the solution:
Two exe-files jxs_encoder.exe and jxs_decoder are created in the folder \build\bin\Release
Running JPEG-XS Reference Codec
JPEG-XS reference code supports only raw image formats. If you have for example bmp-file and wish to encode it in jxs, you need a converter, ffmpeg is a good converter: ffmpeg -i test.bmp -y test.ppm
Encoding Example [input ppm-file (rgb24), rate 2bpp, output 4:2:0 jxs-file]
jxs_encoder -c profile=Main420.12 -c rate=2 baboon.ppm baboon420.jxs
rate=2 means the compression level, chosen 2 bits per pixel
Main420.12
instruct to JPEG-XS encoder to get 4:4:4, to decimate it into 4:2:0 and encode.
Encoding Example [input ppm-file (rgb24), rate 2bpp, output 4:4:4 jxs-file]
jxs_encoder -c profile=Main444.12 -c rate=2 baboon.ppm baboon444.jxs
Main444.12
instruct to JPEG-XS encoder to get 4:4:4 and encode it without sub-sampling
Decoding Example [input jxs file, output ppm-file, verbose = True]
jxs_decoder.exe -v baboon420.jxs baboon512x512_dec.ppm
JPEG XS test model (XSM) version 2.0.2-ED2
Image: 512×512 3-comp@8bpp
Sampling: 1×1/1×1/1×1
Format: 4:4:4
How to Play JPEG-XS file
I don’t know any player which supports JPEG-XS. I use jxs_decoder to decode jxs-file and dump raw data it in the format ppm and then play the ppm file.
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume