Skip to content

InterDigitalInc/LosslessSegmentationMapCompression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LosslessSegmentationMapCompression

Lossless segmentation-map compression toolkit with two binaries:

  • encoder: encodes input maps into a compressed bitstream
  • decoder: decodes compressed bitstreams back to output maps

1. Prerequisites

Install a C++ compiler and build tools.

  • macOS (Xcode Command Line Tools):
xcode-select --install
  • Linux (example for Debian/Ubuntu):
sudo apt update
sudo apt install -y g++ make cmake

2. Get the Source

If you already have this repository locally, skip this section.

mkdir -p ~/workspace
cd ~/workspace
git clone <your-repo-url> losslesssegmentationmapcompression
cd losslesssegmentationmapcompression

3. Build (Option A: Makefile, simplest)

From the repository root:

make

This builds:

  • ./encoder
  • ./decoder

To clean artifacts:

make clean

4. Build (Option B: CMake out-of-source)

From the repository root:

mkdir -p build
cd build
cmake ..
cmake --build . -j

Binaries are generated in the build output directory.

5. Quick Run Examples

From the repository root (for Makefile build):

Encode

./encoder -i input.yuv -o output.bin -r 1024 -c 2048 -f 1 -s 0 -t 400

Decode

./decoder -i output.bin -o recover.yuv

6. Command Arguments

Encoder (./encoder)

  • -i: input file (.yuv)
  • -o: output bitstream file
  • -r: rows
  • -c: cols
  • -f: frame count
  • -s: skip frame count
  • -t: type (400 or 420)

Decoder (./decoder)

  • -i: encoded input file (.bin)
  • -o: reconstructed output file (.yuv)

7. Project Layout

source/
  commonlib/
  third_party/
  encoder/
  decoder/
Makefile
CMakeLists.txt

8. Notes

  • The codebase currently compiles with warnings on strict flags; binaries are still produced.
  • If cmake is unavailable, use the Makefile flow (make).

9. Authors

This Repository

  • Runyu Yang, Junqi Liao, Hyomin Choi, Fabien Racapé, and Ivan V. Bajić

Third-Party Arithmetic Coding Source

  • Amir Said and William A. Pearlman

Reference implementation files:

  • source/arithmetic_coder/third_party/arithmetic_codec.h
  • source/arithmetic_coder/third_party/arithmetic_codec.cpp

10. Citation

If you use this repository in academic work, please cite both this project and the original arithmetic coding reference.

Project Citation (Submitted to IEEE Transactions on CSVT for peer review)

@article{yang2026context,
  title={Context Adaptive Extended Chain Coding for Semantic Map Compression},
  author={Yang, Runyu and Liao, Junqi and Choi, Hyomin and Racapé, Fabien and Bajić, Ivan V.},
  journal={arXiv preprint arXiv:2603.03073},
  year={2026},
  url={https://arxiv.org/pdf/2603.03073}
}

Arithmetic Coding Reference

@incollection{said2003arithmetic,
  author    = {Amir Said},
  title     = {Arithmetic Coding},
  booktitle = {Lossless Compression Handbook},
  editor    = {Khalid Sayood},
  pages     = {101--152},
  year      = {2003},
  publisher = {Academic Press}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages