├── .bazelrc
├── .bazelversion
├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .pylintrc
├── .style.yapf
├── .vscode
└── settings.json
├── BUILD
├── CONTRIBUTING.md
├── LICENSE
├── MANIFEST.in
├── README.md
├── WORKSPACE
├── _config.yml
├── models
├── bls2017.py
├── bmshj2018.py
├── hific
│ ├── README.md
│ ├── archs.py
│ ├── colab.ipynb
│ ├── configs.py
│ ├── data.csv
│ ├── evaluate.py
│ ├── helpers.py
│ ├── hific_test.py
│ ├── model.py
│ ├── requirements.txt
│ └── train.py
├── lvac
│ └── lvac.ipynb
├── ms2020.py
├── rdc
│ └── README.md
├── tfci.py
└── toy_sources
│ ├── compression_model.py
│ ├── ntc.py
│ ├── ramp.py
│ ├── sawbridge.py
│ ├── sinusoid.py
│ ├── sphere.py
│ ├── toy_sources.ipynb
│ └── vecvq.py
├── requirements.txt
├── results
└── image_compression
│ ├── README.md
│ ├── kodak
│ ├── MS-SSIM_sRGB_RGB
│ │ ├── balle-2017-iclr-opt-mse.txt
│ │ ├── balle-2017-iclr-opt-msssim.txt
│ │ ├── balle-2017-iclr.txt
│ │ ├── balle-2018-iclr-opt-mse.txt
│ │ ├── balle-2018-iclr-opt-msssim.txt
│ │ ├── balle-2018-iclr.txt
│ │ ├── bpg420.txt
│ │ ├── bpg444.txt
│ │ ├── j2k-kdu5.txt
│ │ ├── j2k-opj5.txt
│ │ ├── johnston-2017-cvpr.txt
│ │ ├── jpeg420.txt
│ │ ├── klopp2018-bmvc.txt
│ │ ├── minnen-2018-icip.txt
│ │ ├── minnen-2018-neurips-opt-mse.txt
│ │ ├── minnen-2018-neurips-opt-msssim.txt
│ │ ├── rippel2017.txt
│ │ ├── theis-2017-iclr.txt
│ │ ├── toderici-2017-cvpr.txt
│ │ └── webp.txt
│ ├── MS-SSIM_sRGB_Y
│ │ ├── balle-2017-iclr-opt-mse.txt
│ │ ├── balle-2017-iclr-opt-msssim.txt
│ │ ├── balle-2017-iclr.txt
│ │ ├── balle-2018-iclr-opt-mse.txt
│ │ ├── balle-2018-iclr-opt-msssim.txt
│ │ ├── balle-2018-iclr.txt
│ │ ├── bpg420.txt
│ │ ├── bpg444.txt
│ │ ├── j2k-kdu5.txt
│ │ ├── j2k-opj5.txt
│ │ ├── johnston-2017-cvpr.txt
│ │ ├── jpeg420.txt
│ │ ├── minnen-2018-icip.txt
│ │ ├── minnen-2018-neurips-opt-mse.txt
│ │ ├── minnen-2018-neurips-opt-msssim.txt
│ │ └── webp.txt
│ ├── PSNR_sRGB_RGB
│ │ ├── balle-2017-iclr-opt-mse.txt
│ │ ├── balle-2017-iclr-opt-msssim.txt
│ │ ├── balle-2017-iclr.txt
│ │ ├── balle-2018-iclr-opt-mse.txt
│ │ ├── balle-2018-iclr-opt-msssim.txt
│ │ ├── balle-2018-iclr.txt
│ │ ├── bpg420.txt
│ │ ├── bpg444.txt
│ │ ├── j2k-kdu5.txt
│ │ ├── j2k-opj5.txt
│ │ ├── johnston-2017-cvpr.txt
│ │ ├── jpeg420.txt
│ │ ├── lee-2019-context-adaptive.txt
│ │ ├── lee2019-iclr.txt
│ │ ├── minnen-2017-icip.txt
│ │ ├── minnen-2018-icip.txt
│ │ ├── minnen-2018-neurips-no-context.txt
│ │ ├── minnen-2018-neurips-opt-mse.txt
│ │ ├── minnen-2018-neurips-opt-msssim.txt
│ │ ├── minnen-2020-icip.txt
│ │ ├── theis-2017-iclr.txt
│ │ ├── toderici-2017-cvpr.txt
│ │ └── webp.txt
│ └── PSNR_sRGB_Y
│ │ ├── balle-2017-iclr-opt-mse.txt
│ │ ├── balle-2017-iclr-opt-msssim.txt
│ │ ├── balle-2017-iclr.txt
│ │ ├── balle-2018-iclr-opt-mse.txt
│ │ ├── balle-2018-iclr-opt-msssim.txt
│ │ ├── balle-2018-iclr.txt
│ │ ├── bpg420.txt
│ │ ├── bpg444.txt
│ │ ├── j2k-kdu5.txt
│ │ ├── j2k-opj5.txt
│ │ ├── johnston-2017-cvpr.txt
│ │ ├── jpeg420.txt
│ │ ├── minnen-2018-icip.txt
│ │ ├── minnen-2018-neurips-no-context.txt
│ │ ├── minnen-2018-neurips-opt-mse.txt
│ │ ├── minnen-2018-neurips-opt-msssim.txt
│ │ ├── minnen-2020-icip.txt
│ │ └── webp.txt
│ └── tecnick
│ ├── MS-SSIM_sRGB_RGB
│ ├── balle-2017-iclr-opt-mse.txt
│ ├── balle-2017-iclr-opt-msssim.txt
│ ├── balle-2018-iclr-opt-mse.txt
│ ├── balle-2018-iclr-opt-msssim.txt
│ ├── bpg420.txt
│ ├── bpg444.txt
│ ├── j2k-kdu5.txt
│ ├── j2k-opj5.txt
│ ├── johnston-2017-cvpr.txt
│ ├── jpeg420.txt
│ ├── minnen-2018-icip.txt
│ ├── minnen-2018-neurips-opt-mse.txt
│ ├── minnen-2018-neurips-opt-msssim.txt
│ ├── toderici-2017-cvpr.txt
│ └── webp.txt
│ ├── MS-SSIM_sRGB_Y
│ ├── balle-2017-iclr-opt-mse.txt
│ ├── balle-2017-iclr-opt-msssim.txt
│ ├── balle-2018-iclr-opt-mse.txt
│ ├── balle-2018-iclr-opt-msssim.txt
│ ├── bpg420.txt
│ ├── bpg444.txt
│ ├── j2k-kdu5.txt
│ ├── j2k-opj5.txt
│ ├── johnston-2017-cvpr.txt
│ ├── jpeg420.txt
│ ├── minnen-2018-icip.txt
│ ├── minnen-2018-neurips-opt-mse.txt
│ ├── minnen-2018-neurips-opt-msssim.txt
│ └── webp.txt
│ ├── PSNR_sRGB_RGB
│ ├── balle-2017-iclr-opt-mse.txt
│ ├── balle-2017-iclr-opt-msssim.txt
│ ├── balle-2018-iclr-opt-mse.txt
│ ├── balle-2018-iclr-opt-msssim.txt
│ ├── bpg420.txt
│ ├── bpg444.txt
│ ├── j2k-kdu5.txt
│ ├── j2k-opj5.txt
│ ├── johnston-2017-cvpr.txt
│ ├── jpeg420.txt
│ ├── minnen-2018-icip.txt
│ ├── minnen-2018-neurips-no-context.txt
│ ├── minnen-2018-neurips-opt-mse.txt
│ ├── minnen-2018-neurips-opt-msssim.txt
│ ├── minnen-2020-icip.txt
│ ├── toderici-2017-cvpr.txt
│ └── webp.txt
│ └── PSNR_sRGB_Y
│ ├── balle-2017-iclr-opt-mse.txt
│ ├── balle-2017-iclr-opt-msssim.txt
│ ├── balle-2018-iclr-opt-mse.txt
│ ├── balle-2018-iclr-opt-msssim.txt
│ ├── bpg420.txt
│ ├── bpg444.txt
│ ├── j2k-kdu5.txt
│ ├── j2k-opj5.txt
│ ├── johnston-2017-cvpr.txt
│ ├── jpeg420.txt
│ ├── minnen-2018-icip.txt
│ ├── minnen-2018-neurips-no-context.txt
│ ├── minnen-2018-neurips-opt-mse.txt
│ ├── minnen-2018-neurips-opt-msssim.txt
│ ├── minnen-2020-icip.txt
│ └── webp.txt
├── tensorflow_compression
├── __init__.py
├── all_tests.py
├── cc
│ ├── BUILD
│ ├── kernels
│ │ ├── pmf_to_cdf_kernels.cc
│ │ ├── pmf_to_cdf_kernels_test.cc
│ │ ├── quantization_kernels.cc
│ │ ├── range_coder_kernels.cc
│ │ ├── range_coder_kernels.h
│ │ ├── range_coding_kernels.cc
│ │ ├── range_coding_kernels_test.cc
│ │ ├── range_coding_kernels_util.cc
│ │ ├── range_coding_kernels_util.h
│ │ ├── run_length_gamma_kernels.cc
│ │ ├── run_length_gamma_kernels_test.cc
│ │ ├── run_length_kernels.cc
│ │ ├── run_length_kernels_test.cc
│ │ ├── unbounded_index_range_coding_kernels.cc
│ │ ├── unbounded_index_range_coding_kernels_test.cc
│ │ └── y4m_dataset_kernels.cc
│ ├── lib
│ │ ├── bit_coder.cc
│ │ ├── bit_coder.h
│ │ ├── range_coder.cc
│ │ └── range_coder.h
│ ├── ops
│ │ ├── pmf_to_cdf_ops.cc
│ │ ├── quantization_ops.cc
│ │ ├── range_coder_ops.cc
│ │ ├── range_coding_ops.cc
│ │ ├── run_length_gamma_ops.cc
│ │ ├── run_length_ops.cc
│ │ └── y4m_dataset_ops.cc
│ └── tflite
│ │ ├── range_coder_kernels.cc
│ │ └── range_coder_kernels.h
└── python
│ ├── __init__.py
│ ├── datasets
│ ├── BUILD
│ ├── __init__.py
│ ├── y4m_dataset.py
│ └── y4m_dataset_test.py
│ ├── distributions
│ ├── BUILD
│ ├── __init__.py
│ ├── deep_factorized.py
│ ├── deep_factorized_test.py
│ ├── helpers.py
│ ├── helpers_test.py
│ ├── round_adapters.py
│ ├── round_adapters_test.py
│ ├── uniform_noise.py
│ └── uniform_noise_test.py
│ ├── entropy_models
│ ├── BUILD
│ ├── __init__.py
│ ├── continuous_base.py
│ ├── continuous_batched.py
│ ├── continuous_batched_test.py
│ ├── continuous_indexed.py
│ ├── continuous_indexed_test.py
│ ├── laplace.py
│ ├── laplace_test.py
│ ├── power_law.py
│ ├── power_law_test.py
│ ├── universal.py
│ └── universal_test.py
│ ├── layers
│ ├── BUILD
│ ├── __init__.py
│ ├── gdn.py
│ ├── gdn_test.py
│ ├── initializers.py
│ ├── initializers_test.py
│ ├── parameters.py
│ ├── parameters_test.py
│ ├── signal_conv.py
│ ├── signal_conv_test.py
│ ├── soft_round.py
│ └── soft_round_test.py
│ ├── ops
│ ├── BUILD
│ ├── __init__.py
│ ├── gen_ops.py
│ ├── math_ops.py
│ ├── math_ops_test.py
│ ├── padding_ops.py
│ ├── padding_ops_test.py
│ ├── quantization_ops_test.py
│ ├── range_coding_ops_test.py
│ ├── round_ops.py
│ └── round_ops_test.py
│ └── util
│ ├── BUILD
│ ├── __init__.py
│ ├── packed_tensors.py
│ └── packed_tensors_test.py
├── tensorflow_compression_ops
├── MANIFEST.in
├── README.md
├── __init__.py
├── build_pip_pkg.py
├── build_pip_pkg.sh
├── requirements.txt
├── test_pip_pkg.sh
└── tests_all.py
├── tools
├── build_api_docs.py
├── build_pip_pkg.py
├── build_pip_pkg.sh
└── test_pip_pkg.sh
└── workspace.bzl
/.bazelrc:
--------------------------------------------------------------------------------
1 | # This flag is required for CUDA repo that @org_tensorflow depends on.
2 | common --experimental_repo_remote_exec
3 |
4 | build:manylinux_2_17_x86_64 --host_crosstool_top="@local_config_cuda//crosstool:toolchain"
5 | build:manylinux_2_17_x86_64 --crosstool_top="@local_config_cuda//crosstool:toolchain"
6 | build:manylinux_2_17_x86_64 --extra_toolchains="@local_config_cuda//crosstool:toolchain-linux-x86_64"
7 | build:manylinux_2_17_x86_64 --repo_env=CC="/usr/lib/llvm-18/bin/clang"
8 | build:manylinux_2_17_x86_64 --repo_env=TF_SYSROOT="/dt9"
9 | build:manylinux_2_17_x86_64 --extra_execution_platforms="@sigbuild-r2.17-clang_config_platform//:platform"
10 | build:manylinux_2_17_x86_64 --host_platform="@sigbuild-r2.17-clang_config_platform//:platform"
11 | build:manylinux_2_17_x86_64 --platforms="@sigbuild-r2.17-clang_config_platform//:platform"
12 |
--------------------------------------------------------------------------------
/.bazelversion:
--------------------------------------------------------------------------------
1 | 6.5.0
2 | # https://github.com/tensorflow/tensorflow/blob/master/.bazelversion
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Report a problem in tensorflow-compression. DO NOT create an issue to ask questions. Instead, ask them in the tensorflow-compression Google group.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '...'
17 | 3. Scroll down to '...'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **System (please complete the following information):**
24 | - OS
25 | - Python version [also include how installed: anaconda, apt-get, etc.]
26 | - TensorFlow version [also include how installed: pip, conda, Docker, etc.]
27 | - tensorflow-compression version
28 |
29 | **Additional context**
30 | Add any other context about the problem here.
31 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project. DO NOT create an issue to ask questions. Instead, ask them in the tensorflow-compression Google group.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # backup files
2 | *~
3 |
4 | # Python byte code, etc.
5 | __pycache__/
6 | *.py[cod]
7 | *$py.class
8 |
9 | # type checkers
10 | .pyre/
11 | .pytype/
12 |
13 | # C/C++ object files/libraries
14 | *.slo
15 | *.lo
16 | *.o
17 | *.obj
18 | *.so
19 | *.dylib
20 | *.dll
21 | *.lai
22 | *.la
23 | *.a
24 | *.lib
25 |
26 | # bazel symlinks
27 | /bazel-*
28 |
29 | # Jupyter notebook
30 | .ipynb_checkpoints
31 | profile_default/
32 | ipython_config.py
33 |
34 | # macOS
35 | .DS_Store
36 | .AppleDouble
37 | .LSOverride
38 | ._*
39 |
--------------------------------------------------------------------------------
/.style.yapf:
--------------------------------------------------------------------------------
1 | [style]
2 | based_on_style = google
3 | indent_width = 2
4 | dedent_closing_brackets = True
5 | split_before_dot = True
6 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.insertFinalNewline": true,
3 | "files.trimFinalNewlines": true,
4 | "files.trimTrailingWhitespace": true,
5 | "files.associations": {
6 | ".pylintrc": "ini",
7 | ".style.yapf": "ini"
8 | },
9 | "python.testing.unittestEnabled": false,
10 | "python.testing.nosetestsEnabled": false,
11 | "python.testing.pytestEnabled": true,
12 | "python.linting.pylintUseMinimalCheckers": false,
13 | "[python]": {
14 | "editor.rulers": [
15 | 80
16 | ],
17 | "editor.tabSize": 2,
18 | "editor.detectIndentation": false
19 | },
20 | "python.formatting.provider": "yapf",
21 | "files.watcherExclude": {
22 | "**/.git/**": true
23 | },
24 | "files.exclude": {
25 | "**/__pycache__": true,
26 | "**/.pytest_cache": true,
27 | "**/*.egg-info": true
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/BUILD:
--------------------------------------------------------------------------------
1 | package(
2 | default_visibility = ["//visibility:public"],
3 | )
4 |
5 | licenses(["notice"])
6 |
7 | exports_files(["LICENSE"])
8 |
9 | py_library(
10 | name = "tensorflow_compression",
11 | srcs = ["tensorflow_compression/__init__.py"],
12 | visibility = ["//visibility:public"],
13 | deps = [
14 | "//tensorflow_compression/python/datasets:y4m_dataset",
15 | "//tensorflow_compression/python/distributions",
16 | "//tensorflow_compression/python/distributions:deep_factorized",
17 | "//tensorflow_compression/python/distributions:helpers",
18 | "//tensorflow_compression/python/distributions:round_adapters",
19 | "//tensorflow_compression/python/distributions:uniform_noise",
20 | "//tensorflow_compression/python/entropy_models",
21 | "//tensorflow_compression/python/entropy_models:continuous_batched",
22 | "//tensorflow_compression/python/entropy_models:continuous_indexed",
23 | "//tensorflow_compression/python/entropy_models:power_law",
24 | "//tensorflow_compression/python/entropy_models:universal",
25 | "//tensorflow_compression/python/layers",
26 | "//tensorflow_compression/python/layers:gdn",
27 | "//tensorflow_compression/python/layers:initializers",
28 | "//tensorflow_compression/python/layers:parameters",
29 | "//tensorflow_compression/python/layers:signal_conv",
30 | "//tensorflow_compression/python/layers:soft_round",
31 | "//tensorflow_compression/python/ops",
32 | "//tensorflow_compression/python/ops:gen_ops",
33 | "//tensorflow_compression/python/ops:math_ops",
34 | "//tensorflow_compression/python/ops:padding_ops",
35 | "//tensorflow_compression/python/ops:round_ops",
36 | "//tensorflow_compression/python/util:packed_tensors",
37 | ],
38 | )
39 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to Contribute
2 |
3 | We'd love to accept your patches and contributions to this project. There are
4 | just a few small guidelines you need to follow.
5 |
6 | ## Contributor License Agreement
7 |
8 | Contributions to this project must be accompanied by a Contributor License
9 | Agreement. You (or your employer) retain the copyright to your contribution,
10 | this simply gives us permission to use and redistribute your contributions as
11 | part of the project. Head over to to see
12 | your current agreements on file or to sign a new one.
13 |
14 | You generally only need to submit a CLA once, so if you've already submitted one
15 | (even if it was for a different project), you probably don't need to do it
16 | again.
17 |
18 | ## Code reviews
19 |
20 | All submissions, including submissions by project members, require review. We
21 | use GitHub pull requests for this purpose. Consult
22 | [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
23 | information on using pull requests.
24 |
25 | ## Community Guidelines
26 |
27 | This project follows [Google's Open Source Community
28 | Guidelines](https://opensource.google.com/conduct/).
29 |
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | global-include LICENSE
2 | global-include *.md
3 | recursive-include tensorflow_compression/cc/ *.so
4 |
--------------------------------------------------------------------------------
/WORKSPACE:
--------------------------------------------------------------------------------
1 | workspace(name = "tensorflow_compression")
2 |
3 | load("//:workspace.bzl", "tensorflow_compression_workspace")
4 | tensorflow_compression_workspace()
5 |
6 | load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
7 |
8 | http_archive(
9 | name = "org_tensorflow",
10 | sha256 = "d7876f4bb0235cac60eb6316392a7c48676729860da1ab659fb440379ad5186d",
11 | strip_prefix = "tensorflow-2.18.0",
12 | urls = [
13 | "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.18.0.tar.gz",
14 | ],
15 | )
16 |
17 | # Copied from `@org_tensorflow//:WORKSPACE`.
18 | load("@org_tensorflow//tensorflow:workspace3.bzl", "tf_workspace3")
19 | tf_workspace3()
20 |
21 | # Initialize hermetic Python
22 | load("@local_tsl//third_party/py:python_init_rules.bzl", "python_init_rules")
23 | python_init_rules()
24 |
25 | load("@local_tsl//third_party/py:python_init_repositories.bzl", "python_init_repositories")
26 | python_init_repositories(
27 | default_python_version = "system",
28 | requirements = {
29 | "3.9": "@org_tensorflow//:requirements_lock_3_9.txt",
30 | "3.10": "@org_tensorflow//:requirements_lock_3_10.txt",
31 | "3.11": "@org_tensorflow//:requirements_lock_3_11.txt",
32 | "3.12": "@org_tensorflow//:requirements_lock_3_12.txt",
33 | },
34 | )
35 |
36 | load("@local_tsl//third_party/py:python_init_toolchains.bzl", "python_init_toolchains")
37 | python_init_toolchains()
38 |
39 | load("@org_tensorflow//tensorflow:workspace2.bzl", "tf_workspace2")
40 | tf_workspace2()
41 |
42 | load("@org_tensorflow//tensorflow:workspace1.bzl", "tf_workspace1")
43 | tf_workspace1()
44 |
45 | load("@org_tensorflow//tensorflow:workspace0.bzl", "tf_workspace0")
46 | tf_workspace0()
47 |
48 | load(
49 | "@local_tsl//third_party/gpus/cuda/hermetic:cuda_configure.bzl",
50 | "cuda_configure",
51 | )
52 | cuda_configure(name = "local_config_cuda")
53 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-primer
2 | title: TensorFlow Compression
3 | show_downloads: false
4 |
--------------------------------------------------------------------------------
/models/hific/data.csv:
--------------------------------------------------------------------------------
1 | ,dataset,bpp,FID,KID,NIQE,LPIPS,MS-SSIM,PSNR
2 | 0,clic2020,0.12902283,4.19736528,0.00108268,9.38350187,0.05394955,0.9553839,30.86970338
3 | 1,clic2020,0.24981422,2.38322568,0.00053555,9.28048124,0.03485062,0.97377288,32.9375868
4 | 2,clic2020,0.37383949,1.66647744,0.00035608,8.6921952,0.02499845,0.98172444,34.59938206
5 | 3,div2k,0.17268653,9.96830177,0.00120337,9.47402614,0.06124068,0.95155809,28.49394484
6 | 4,div2k,0.32447103,5.84229946,0.00053627,9.36838145,0.0385301,0.97143019,30.59894682
7 | 5,div2k,0.489503,3.94786787,0.00024038,8.82207186,0.02592616,0.98089158,32.46940243
8 | 6,kodak,0.1825587,,,11.2748119,0.06864742,0.93721463,27.56470037
9 | 7,kodak,0.35108609,,,11.86824715,0.04278131,0.96430352,29.65373484
10 | 8,kodak,0.53773159,,,10.93795208,0.02784851,0.97751017,31.7428445
--------------------------------------------------------------------------------
/models/hific/requirements.txt:
--------------------------------------------------------------------------------
1 | git+https://github.com/google/compare_gan@19922d3004b675c1a49c4d7515c06f6f75acdcc8
2 | tensorflow-gpu~=1.15.2
3 | tensorflow-compression==1.3
4 | Pillow~=8.3.2
5 |
--------------------------------------------------------------------------------
/models/rdc/README.md:
--------------------------------------------------------------------------------
1 | # Advancing the Rate-Distortion-Computation Frontier for Neural Image Compression
2 |
3 | As part of our work our paper (bibtex citation below), we have open-sourced our
4 | `Model B` for inference.
5 |
6 | Models and how to run them will appear here soon.
7 |
8 | To cite our models or our paper, please use:
9 | ```
10 | @INPROCEEDINGS{10222381,
11 | author={Minnen, David and Johnston, Nick},
12 | booktitle={2023 IEEE International Conference on Image Processing (ICIP)},
13 | title={Advancing the Rate-Distortion-Computation Frontier for Neural Image Compression},
14 | year={2023},
15 | volume={},
16 | number={},
17 | pages={2940-2944},
18 | doi={10.1109/ICIP49359.2023.10222381}}
19 | ```
20 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | scipy ~= 1.11.0
2 | tensorflow ~= 2.14.0
3 | tensorflow-probability >= 0.15, < 0.23
4 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.119752, 0.903700
15 | 0.194591, 0.931041
16 | 0.316000, 0.954783
17 | 0.481060, 0.969139
18 | 0.721303, 0.980815
19 | 1.060841, 0.986755
20 | 1.458681, 0.992090
21 | 1.957564, 0.994965
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.088965, 0.911371
15 | 0.159174, 0.944562
16 | 0.274751, 0.966757
17 | 0.456740, 0.981293
18 | 0.657944, 0.988021
19 | 1.039564, 0.993110
20 | 1.519391, 0.996033
21 | 2.100730, 0.997772
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/balle-2017-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.119752, 0.903700
15 | 0.194591, 0.931041
16 | 0.316000, 0.954783
17 | 0.481060, 0.969139
18 | 0.721303, 0.980815
19 | 1.060841, 0.986755
20 | 1.458681, 0.992090
21 | 1.957564, 0.994965
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.115239, 0.907527
15 | 0.185698, 0.936307
16 | 0.301804, 0.958691
17 | 0.468972, 0.972416
18 | 0.686378, 0.982478
19 | 0.966864, 0.988344
20 | 1.307441, 0.992647
21 | 1.727503, 0.995267
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.092031, 0.923012
15 | 0.166818, 0.953873
16 | 0.281376, 0.972845
17 | 0.398321, 0.981048
18 | 0.650651, 0.989613
19 | 0.996335, 0.994012
20 | 1.377538, 0.996171
21 | 2.030330, 0.998020
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/balle-2018-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.115239, 0.907527
15 | 0.185698, 0.936307
16 | 0.301804, 0.958691
17 | 0.468972, 0.972416
18 | 0.686378, 0.982478
19 | 0.966864, 0.988344
20 | 1.307441, 0.992647
21 | 1.727503, 0.995267
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.023778, 0.784989
14 | 0.028261, 0.800720
15 | 0.034131, 0.816491
16 | 0.041103, 0.832549
17 | 0.049042, 0.846330
18 | 0.058963, 0.860314
19 | 0.070547, 0.872750
20 | 0.083888, 0.885062
21 | 0.100428, 0.896837
22 | 0.117291, 0.906517
23 | 0.138370, 0.916372
24 | 0.161282, 0.924601
25 | 0.189494, 0.933334
26 | 0.219051, 0.939601
27 | 0.256016, 0.947138
28 | 0.294495, 0.952187
29 | 0.338370, 0.957859
30 | 0.385684, 0.961779
31 | 0.440687, 0.966350
32 | 0.500803, 0.970688
33 | 0.569223, 0.974397
34 | 0.642459, 0.977489
35 | 0.711308, 0.979273
36 | 0.795128, 0.981873
37 | 0.884535, 0.983938
38 | 0.977693, 0.985811
39 | 1.083310, 0.987469
40 | 1.193119, 0.989031
41 | 1.302428, 0.990242
42 | 1.425981, 0.991342
43 | 1.558065, 0.992281
44 | 1.699156, 0.993105
45 | 1.862072, 0.993914
46 | 2.036448, 0.994620
47 | 2.211966, 0.995205
48 | 2.412092, 0.995756
49 | 2.613790, 0.996303
50 | 2.838744, 0.996711
51 | 3.068833, 0.997057
52 | 3.303337, 0.997373
53 | 3.539684, 0.997648
54 | 3.787450, 0.997908
55 | 4.045572, 0.998128
56 | 4.317412, 0.998322
57 | 4.674708, 0.998600
58 | 4.988948, 0.998819
59 | 5.355372, 0.999060
60 | 5.604246, 0.999147
61 | 5.786789, 0.999190
62 | 5.974362, 0.999228
63 | 6.206643, 0.999251
64 | 6.442166, 0.999261
65 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.023857, 0.783939
14 | 0.028540, 0.800621
15 | 0.034282, 0.815880
16 | 0.041183, 0.830978
17 | 0.049301, 0.845919
18 | 0.058861, 0.859465
19 | 0.070444, 0.871920
20 | 0.084175, 0.884832
21 | 0.100255, 0.896600
22 | 0.119211, 0.908020
23 | 0.140076, 0.917528
24 | 0.165529, 0.926932
25 | 0.193939, 0.935368
26 | 0.226882, 0.943184
27 | 0.264902, 0.950550
28 | 0.308004, 0.956814
29 | 0.353821, 0.962287
30 | 0.406663, 0.967124
31 | 0.465174, 0.971309
32 | 0.528513, 0.975060
33 | 0.602615, 0.978421
34 | 0.681227, 0.981216
35 | 0.763150, 0.983577
36 | 0.855122, 0.985761
37 | 0.954195, 0.987516
38 | 1.058729, 0.989023
39 | 1.178031, 0.990455
40 | 1.302895, 0.991701
41 | 1.427853, 0.992658
42 | 1.570484, 0.993543
43 | 1.724310, 0.994321
44 | 1.890798, 0.994994
45 | 2.085680, 0.995657
46 | 2.296926, 0.996264
47 | 2.513738, 0.996777
48 | 2.762745, 0.997260
49 | 3.021654, 0.997676
50 | 3.311613, 0.998029
51 | 3.616902, 0.998321
52 | 3.943210, 0.998584
53 | 4.282488, 0.998796
54 | 4.657569, 0.998987
55 | 5.069882, 0.999142
56 | 5.543335, 0.999276
57 | 6.176737, 0.999429
58 | 6.804908, 0.999547
59 | 7.545595, 0.999672
60 | 8.045927, 0.999713
61 | 8.453601, 0.999736
62 | 8.895050, 0.999755
63 | 9.349519, 0.999765
64 | 9.810592, 0.999770
65 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the Kakadu implementation of JPEG2000
10 | # More information here: https://kakadusoftware.com.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.100076, 0.877085
16 | 0.199880, 0.925683
17 | 0.249907, 0.938654
18 | 0.300371, 0.947145
19 | 0.399825, 0.959190
20 | 0.499945, 0.967042
21 | 0.600087, 0.972700
22 | 0.700465, 0.976717
23 | 0.750395, 0.978416
24 | 0.800270, 0.979887
25 | 0.900150, 0.982536
26 | 0.999644, 0.984557
27 | 1.099831, 0.986462
28 | 1.200267, 0.987915
29 | 1.250495, 0.988552
30 | 1.299869, 0.989130
31 | 1.399585, 0.990260
32 | 1.499995, 0.991159
33 | 1.600394, 0.991974
34 | 1.699370, 0.992619
35 | 1.750196, 0.992994
36 | 1.800260, 0.993307
37 | 1.899801, 0.993907
38 | 2.000136, 0.994370
39 | 2.250013, 0.995359
40 | 2.499570, 0.996123
41 | 2.749943, 0.996772
42 | 3.000182, 0.997255
43 | 3.249868, 0.997702
44 | 3.499243, 0.998047
45 | 3.750640, 0.998375
46 | 4.000155, 0.998643
47 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the OpenJPEG implementation of JPEG2000
10 | # More information here: https://www.openjpeg.org.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.099912, 0.864516
16 | 0.200165, 0.912034
17 | 0.249945, 0.925119
18 | 0.300170, 0.934147
19 | 0.400012, 0.948107
20 | 0.499803, 0.957545
21 | 0.599782, 0.964332
22 | 0.700121, 0.969526
23 | 0.750070, 0.971646
24 | 0.799270, 0.973724
25 | 0.899998, 0.977021
26 | 0.999610, 0.979359
27 | 1.100226, 0.981689
28 | 1.200713, 0.983491
29 | 1.249957, 0.984231
30 | 1.300304, 0.984927
31 | 1.400688, 0.986307
32 | 1.499341, 0.987546
33 | 1.600190, 0.988540
34 | 1.699513, 0.989420
35 | 1.750212, 0.989828
36 | 1.800014, 0.990199
37 | 1.899858, 0.990912
38 | 1.999802, 0.991533
39 | 2.249946, 0.992760
40 | 2.500251, 0.993836
41 | 2.749595, 0.994614
42 | 3.000416, 0.995394
43 | 3.250183, 0.996125
44 | 3.498930, 0.996648
45 | 3.750190, 0.997062
46 | 3.999123, 0.997421
47 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.098400, 0.891740
15 | 0.098502, 0.891740
16 | 0.123147, 0.906121
17 | 0.216631, 0.941519
18 | 0.216733, 0.941519
19 | 0.233175, 0.945224
20 | 0.243297, 0.947329
21 | 0.266381, 0.951293
22 | 0.316397, 0.958758
23 | 0.342072, 0.961867
24 | 0.359053, 0.963697
25 | 0.366377, 0.964417
26 | 0.369731, 0.964741
27 | 0.416378, 0.967792
28 | 0.466340, 0.971446
29 | 0.467073, 0.971504
30 | 0.482969, 0.972687
31 | 0.494033, 0.973290
32 | 0.514605, 0.974306
33 | 0.564585, 0.976936
34 | 0.590295, 0.978016
35 | 0.608254, 0.978668
36 | 0.614593, 0.978877
37 | 0.619498, 0.979037
38 | 0.664594, 0.980531
39 | 0.714583, 0.981985
40 | 0.715288, 0.982006
41 | 0.732207, 0.982611
42 | 0.743663, 0.982849
43 | 0.763244, 0.983211
44 | 0.813254, 0.984693
45 | 0.838921, 0.985243
46 | 0.857497, 0.985607
47 | 0.863241, 0.985715
48 | 0.869088, 0.985830
49 | 0.913244, 0.986412
50 | 0.963240, 0.987246
51 | 0.963946, 0.987257
52 | 0.982247, 0.987626
53 | 0.994077, 0.987790
54 | 1.012682, 0.988033
55 | 1.062672, 0.988744
56 | 1.088370, 0.989053
57 | 1.107454, 0.989272
58 | 1.112645, 0.989331
59 | 1.119378, 0.989407
60 | 1.162643, 0.989757
61 | 1.212635, 0.990265
62 | 1.213353, 0.990272
63 | 1.231904, 0.990516
64 | 1.243903, 0.990613
65 | 1.262037, 0.990759
66 | 1.312007, 0.991296
67 | 1.337708, 0.991490
68 | 1.357105, 0.991627
69 | 1.362025, 0.991660
70 | 1.369241, 0.991707
71 | 1.412006, 0.991990
72 | 1.461991, 0.992342
73 | 1.462680, 0.992347
74 | 1.481670, 0.992527
75 | 1.493911, 0.992600
76 | 1.511412, 0.992705
77 | 1.561425, 0.993049
78 | 1.587108, 0.993196
79 | 1.606839, 0.993302
80 | 1.611415, 0.993327
81 | 1.619153, 0.993369
82 | 1.661396, 0.993576
83 | 1.711365, 0.993800
84 | 1.712098, 0.993803
85 | 1.731499, 0.993898
86 | 1.743997, 0.993947
87 | 1.760764, 0.994009
88 | 1.810739, 0.994177
89 | 1.836470, 0.994256
90 | 1.856706, 0.994313
91 | 1.860740, 0.994324
92 | 1.869343, 0.994346
93 | 1.910750, 0.994446
94 | 1.957929, 0.994539
95 | 1.960025, 0.994538
96 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/klopp2018-bmvc.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Klopp 2018 (BMVC)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.095628, 0.923610
15 | 0.123170, 0.936850
16 | 0.142300, 0.945580
17 | 0.154540, 0.949920
18 | 0.175960, 0.956100
19 | 0.193550, 0.960180
20 | 0.220330, 0.965180
21 | 0.242510, 0.968420
22 | 0.276940, 0.972390
23 | 0.302950, 0.974770
24 | 0.354970, 0.978210
25 | 0.386340, 0.980090
26 | 0.437600, 0.982720
27 | 0.470490, 0.984170
28 | 0.530160, 0.986430
29 | 0.560770, 0.987420
30 | 0.599780, 0.988470
31 | 0.671690, 0.990020
32 | 0.725250, 0.990970
33 | 0.800220, 0.992030
34 | 0.899670, 0.993100
35 | 0.976170, 0.993710
36 | 1.045800, 0.994180
37 | 1.099300, 0.994480
38 | 1.199600, 0.995000
39 | 1.299000, 0.995430
40 | 1.399200, 0.995810
41 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.113339, 0.902999
15 | 0.181917, 0.930619
16 | 0.290215, 0.954518
17 | 0.438877, 0.968735
18 | 0.653552, 0.980806
19 | 0.956121, 0.986722
20 | 1.309287, 0.991886
21 | 1.740850, 0.994879
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MSE.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.071997, 0.891185
16 | 0.153354, 0.936068
17 | 0.264381, 0.959227
18 | 0.428511, 0.974413
19 | 0.635404, 0.983432
20 | 0.904279, 0.989174
21 | 1.258828, 0.992907
22 | 1.982050, 0.996631
23 | 2.992778, 0.998687
24 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MS-SSIM.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.092495, 0.926154
16 | 0.196784, 0.963019
17 | 0.392549, 0.983832
18 | 0.580614, 0.989581
19 | 0.755953, 0.992419
20 | 0.945877, 0.994319
21 | 1.195109, 0.995809
22 | 1.425766, 0.996772
23 | 1.982975, 0.998191
24 | 2.641110, 0.999101
25 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/rippel2017.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Rippel 2017 (ICML)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.071600, 0.900150
15 | 0.082740, 0.908720
16 | 0.095470, 0.919570
17 | 0.116150, 0.929660
18 | 0.140020, 0.939600
19 | 0.171840, 0.949240
20 | 0.225930, 0.959630
21 | 0.273670, 0.966360
22 | 0.358000, 0.974460
23 | 0.437550, 0.979660
24 | 0.499600, 0.982260
25 | 0.596660, 0.985020
26 | 0.706440, 0.987310
27 | 0.830550, 0.989600
28 | 0.964200, 0.991440
29 | 1.059670, 0.992350
30 | 1.206050, 0.993430
31 | 1.326970, 0.994190
32 | 1.463800, 0.994800
33 | 1.621320, 0.995260
34 | 2.009550, 0.996330
35 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_RGB/toderici-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Toderici 2017 (CVPR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.125000, 0.819100
15 | 0.250000, 0.903700
16 | 0.375000, 0.937470
17 | 0.500000, 0.953840
18 | 0.625000, 0.963570
19 | 0.750000, 0.971510
20 | 0.875000, 0.975780
21 | 1.000000, 0.979590
22 | 1.125000, 0.982190
23 | 1.250000, 0.983940
24 | 1.375000, 0.985840
25 | 1.500000, 0.986830
26 | 1.625000, 0.987820
27 | 1.750000, 0.988340
28 | 1.875000, 0.988490
29 | 2.000000, 0.988720
30 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.119752, 0.912465
15 | 0.194591, 0.938222
16 | 0.316000, 0.960606
17 | 0.481060, 0.973768
18 | 0.721303, 0.984341
19 | 1.060841, 0.989370
20 | 1.458681, 0.994011
21 | 1.957564, 0.996310
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.088965, 0.921848
15 | 0.159174, 0.952119
16 | 0.274751, 0.972189
17 | 0.456740, 0.984918
18 | 0.657944, 0.990717
19 | 1.039564, 0.994777
20 | 1.519391, 0.997142
21 | 2.100730, 0.998423
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/balle-2017-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.119752, 0.912465
15 | 0.194591, 0.938222
16 | 0.316000, 0.960606
17 | 0.481060, 0.973768
18 | 0.721303, 0.984341
19 | 1.060841, 0.989370
20 | 1.458681, 0.994011
21 | 1.957564, 0.996310
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.115239, 0.916089
15 | 0.185698, 0.943538
16 | 0.301804, 0.964504
17 | 0.468972, 0.976787
18 | 0.686378, 0.985790
19 | 0.966864, 0.991048
20 | 1.307441, 0.994607
21 | 1.727503, 0.996637
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.092031, 0.932611
15 | 0.166818, 0.960943
16 | 0.281376, 0.977778
17 | 0.398321, 0.984935
18 | 0.650651, 0.992063
19 | 0.996335, 0.995652
20 | 1.377538, 0.997328
21 | 2.030330, 0.998616
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/balle-2018-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.115239, 0.916089
15 | 0.185698, 0.943538
16 | 0.301804, 0.964504
17 | 0.468972, 0.976787
18 | 0.686378, 0.985790
19 | 0.966864, 0.991048
20 | 1.307441, 0.994607
21 | 1.727503, 0.996637
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.023778, 0.801437
14 | 0.028261, 0.816676
15 | 0.034131, 0.832636
16 | 0.041103, 0.848050
17 | 0.049042, 0.861437
18 | 0.058963, 0.874804
19 | 0.070547, 0.886970
20 | 0.083888, 0.898412
21 | 0.100428, 0.909857
22 | 0.117291, 0.920351
23 | 0.138370, 0.929415
24 | 0.161282, 0.938282
25 | 0.189494, 0.946236
26 | 0.219051, 0.953092
27 | 0.256016, 0.959759
28 | 0.294495, 0.965247
29 | 0.338370, 0.970061
30 | 0.385684, 0.974306
31 | 0.440687, 0.977921
32 | 0.500803, 0.981279
33 | 0.569223, 0.984035
34 | 0.642459, 0.986370
35 | 0.711308, 0.988260
36 | 0.795128, 0.990052
37 | 0.884535, 0.991473
38 | 0.977693, 0.992653
39 | 1.083310, 0.993722
40 | 1.193119, 0.994682
41 | 1.302428, 0.995391
42 | 1.425981, 0.996031
43 | 1.558065, 0.996582
44 | 1.699156, 0.997063
45 | 1.862072, 0.997527
46 | 2.036448, 0.997929
47 | 2.211966, 0.998265
48 | 2.412092, 0.998565
49 | 2.613790, 0.998821
50 | 2.838744, 0.999026
51 | 3.068833, 0.999182
52 | 3.303337, 0.999303
53 | 3.539684, 0.999406
54 | 3.787450, 0.999488
55 | 4.045572, 0.999556
56 | 4.317412, 0.999617
57 | 4.674708, 0.999691
58 | 4.988948, 0.999738
59 | 5.355372, 0.999792
60 | 5.604246, 0.999814
61 | 5.786789, 0.999823
62 | 5.974362, 0.999826
63 | 6.206643, 0.999828
64 | 6.442166, 0.999829
65 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.023857, 0.800592
14 | 0.028540, 0.817336
15 | 0.034282, 0.832740
16 | 0.041183, 0.847006
17 | 0.049301, 0.861064
18 | 0.058861, 0.874282
19 | 0.070444, 0.886427
20 | 0.084175, 0.898608
21 | 0.100255, 0.909863
22 | 0.119211, 0.920355
23 | 0.140076, 0.929200
24 | 0.165529, 0.938131
25 | 0.193939, 0.946047
26 | 0.226882, 0.953088
27 | 0.264902, 0.959696
28 | 0.308004, 0.965250
29 | 0.353821, 0.970114
30 | 0.406663, 0.974410
31 | 0.465174, 0.978037
32 | 0.528513, 0.981300
33 | 0.602615, 0.984115
34 | 0.681227, 0.986396
35 | 0.763150, 0.988345
36 | 0.855122, 0.990114
37 | 0.954195, 0.991523
38 | 1.058729, 0.992698
39 | 1.178031, 0.993780
40 | 1.302895, 0.994739
41 | 1.427853, 0.995430
42 | 1.570484, 0.996073
43 | 1.724310, 0.996613
44 | 1.890798, 0.997088
45 | 2.085680, 0.997556
46 | 2.296926, 0.997964
47 | 2.513738, 0.998297
48 | 2.762745, 0.998598
49 | 3.021654, 0.998856
50 | 3.311613, 0.999063
51 | 3.616902, 0.999222
52 | 3.943210, 0.999347
53 | 4.282488, 0.999450
54 | 4.657569, 0.999531
55 | 5.069882, 0.999601
56 | 5.543335, 0.999663
57 | 6.176737, 0.999735
58 | 6.804908, 0.999782
59 | 7.545595, 0.999836
60 | 8.045927, 0.999857
61 | 8.453601, 0.999865
62 | 8.895050, 0.999869
63 | 9.349519, 0.999871
64 | 9.810592, 0.999872
65 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the Kakadu implementation of JPEG2000
10 | # More information here: https://kakadusoftware.com.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.100076, 0.892994
16 | 0.199880, 0.938764
17 | 0.249907, 0.950581
18 | 0.300371, 0.958031
19 | 0.399825, 0.968464
20 | 0.499945, 0.975276
21 | 0.600087, 0.979861
22 | 0.700465, 0.982950
23 | 0.750395, 0.984371
24 | 0.800270, 0.985521
25 | 0.900150, 0.987603
26 | 0.999644, 0.989194
27 | 1.099831, 0.990733
28 | 1.200267, 0.991784
29 | 1.250495, 0.992260
30 | 1.299869, 0.992747
31 | 1.399585, 0.993611
32 | 1.499995, 0.994273
33 | 1.600394, 0.994853
34 | 1.699370, 0.995321
35 | 1.750196, 0.995611
36 | 1.800260, 0.995838
37 | 1.899801, 0.996209
38 | 2.000136, 0.996554
39 | 2.250013, 0.997204
40 | 2.499570, 0.997719
41 | 2.749943, 0.998122
42 | 3.000182, 0.998428
43 | 3.249868, 0.998682
44 | 3.499243, 0.998898
45 | 3.750640, 0.999077
46 | 4.000155, 0.999217
47 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the OpenJPEG implementation of JPEG2000
10 | # More information here: https://www.openjpeg.org.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.099912, 0.876740
16 | 0.200165, 0.922618
17 | 0.249945, 0.935085
18 | 0.300170, 0.943349
19 | 0.400012, 0.956679
20 | 0.499803, 0.965157
21 | 0.599782, 0.971306
22 | 0.700121, 0.975934
23 | 0.750070, 0.977790
24 | 0.799270, 0.979680
25 | 0.899998, 0.982655
26 | 0.999610, 0.984547
27 | 1.100226, 0.986470
28 | 1.200713, 0.987983
29 | 1.249957, 0.988631
30 | 1.300304, 0.989213
31 | 1.400688, 0.990356
32 | 1.499341, 0.991407
33 | 1.600190, 0.992212
34 | 1.699513, 0.992869
35 | 1.750212, 0.993157
36 | 1.800014, 0.993418
37 | 1.899858, 0.993943
38 | 1.999802, 0.994414
39 | 2.249946, 0.995314
40 | 2.500251, 0.996121
41 | 2.749595, 0.996685
42 | 3.000416, 0.997228
43 | 3.250183, 0.997725
44 | 3.498930, 0.998020
45 | 3.750190, 0.998270
46 | 3.999123, 0.998495
47 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.098400, 0.901050
15 | 0.098502, 0.901050
16 | 0.123147, 0.915008
17 | 0.216631, 0.948471
18 | 0.216733, 0.948471
19 | 0.233175, 0.952008
20 | 0.243297, 0.953995
21 | 0.266381, 0.957725
22 | 0.316397, 0.964575
23 | 0.342072, 0.967424
24 | 0.359053, 0.969079
25 | 0.366377, 0.969722
26 | 0.369731, 0.970013
27 | 0.416378, 0.972725
28 | 0.466340, 0.975970
29 | 0.467073, 0.976022
30 | 0.482969, 0.977019
31 | 0.494033, 0.977547
32 | 0.514605, 0.978425
33 | 0.564585, 0.980936
34 | 0.590295, 0.981890
35 | 0.608254, 0.982461
36 | 0.614593, 0.982642
37 | 0.619498, 0.982783
38 | 0.664594, 0.984052
39 | 0.714583, 0.985313
40 | 0.715288, 0.985331
41 | 0.732207, 0.985807
42 | 0.743663, 0.986010
43 | 0.763244, 0.986321
44 | 0.813254, 0.987769
45 | 0.838921, 0.988253
46 | 0.857497, 0.988571
47 | 0.863241, 0.988662
48 | 0.869088, 0.988761
49 | 0.913244, 0.989298
50 | 0.963240, 0.990016
51 | 0.963946, 0.990026
52 | 0.982247, 0.990307
53 | 0.994077, 0.990454
54 | 1.012682, 0.990664
55 | 1.062672, 0.991255
56 | 1.088370, 0.991519
57 | 1.107454, 0.991708
58 | 1.112645, 0.991758
59 | 1.119378, 0.991823
60 | 1.162643, 0.992127
61 | 1.212635, 0.992561
62 | 1.213353, 0.992568
63 | 1.231904, 0.992775
64 | 1.243903, 0.992856
65 | 1.262037, 0.992977
66 | 1.312007, 0.993490
67 | 1.337708, 0.993652
68 | 1.357105, 0.993766
69 | 1.362025, 0.993794
70 | 1.369241, 0.993834
71 | 1.412006, 0.994137
72 | 1.461991, 0.994435
73 | 1.462680, 0.994438
74 | 1.481670, 0.994570
75 | 1.493911, 0.994631
76 | 1.511412, 0.994722
77 | 1.561425, 0.994987
78 | 1.587108, 0.995112
79 | 1.606839, 0.995202
80 | 1.611415, 0.995223
81 | 1.619153, 0.995257
82 | 1.661396, 0.995428
83 | 1.711365, 0.995611
84 | 1.712098, 0.995614
85 | 1.731499, 0.995699
86 | 1.743997, 0.995737
87 | 1.760764, 0.995786
88 | 1.810739, 0.995916
89 | 1.836470, 0.995978
90 | 1.856706, 0.996023
91 | 1.860740, 0.996031
92 | 1.869343, 0.996048
93 | 1.910750, 0.996124
94 | 1.957929, 0.996190
95 | 1.960025, 0.996189
96 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.113339, 0.911679
15 | 0.181917, 0.937792
16 | 0.290215, 0.960397
17 | 0.438877, 0.973381
18 | 0.653552, 0.984346
19 | 0.956121, 0.989364
20 | 1.309287, 0.993836
21 | 1.740850, 0.996263
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MSE.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.071997, 0.899092
16 | 0.153354, 0.943103
17 | 0.264381, 0.964792
18 | 0.428511, 0.978774
19 | 0.635404, 0.986799
20 | 0.904279, 0.991759
21 | 1.258828, 0.994815
22 | 1.982050, 0.997636
23 | 2.992778, 0.999108
24 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/MS-SSIM_sRGB_Y/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MS-SSIM.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.092495, 0.934947
16 | 0.196784, 0.968697
17 | 0.392549, 0.987169
18 | 0.580614, 0.992039
19 | 0.755953, 0.994383
20 | 0.945877, 0.995871
21 | 1.195109, 0.997060
22 | 1.425766, 0.997769
23 | 1.982975, 0.998721
24 | 2.641110, 0.999256
25 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.119752, 26.775134
13 | 0.194591, 28.348719
14 | 0.316000, 30.020793
15 | 0.481060, 31.729556
16 | 0.721303, 33.685797
17 | 1.060841, 35.815864
18 | 1.458681, 38.019954
19 | 1.957564, 40.133996
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.088965, 24.443779
13 | 0.159174, 25.961468
14 | 0.274751, 27.258965
15 | 0.456740, 28.997272
16 | 0.657944, 30.013783
17 | 1.039564, 32.090088
18 | 1.519391, 33.892938
19 | 2.100730, 35.333526
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/balle-2017-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.119752, 26.775134
13 | 0.194591, 28.348719
14 | 0.316000, 30.020793
15 | 0.481060, 31.729556
16 | 0.721303, 33.685797
17 | 1.060841, 35.815864
18 | 1.458681, 38.019954
19 | 1.957564, 40.133996
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.115239, 27.106351
13 | 0.185698, 28.679134
14 | 0.301804, 30.616753
15 | 0.468972, 32.554935
16 | 0.686378, 34.580960
17 | 0.966864, 36.720366
18 | 1.307441, 38.807960
19 | 1.727503, 40.794920
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.092031, 24.725623
13 | 0.166818, 26.331231
14 | 0.281376, 27.836886
15 | 0.398321, 28.710904
16 | 0.650651, 30.425433
17 | 0.996335, 32.462500
18 | 1.377538, 33.546850
19 | 2.030330, 35.394737
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/balle-2018-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.115239, 27.106351
13 | 0.185698, 28.679134
14 | 0.301804, 30.616753
15 | 0.468972, 32.554935
16 | 0.686378, 34.580960
17 | 0.966864, 36.720366
18 | 1.307441, 38.807960
19 | 1.727503, 40.794920
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.023778, 23.791201
12 | 0.028261, 24.170052
13 | 0.034131, 24.583564
14 | 0.041103, 25.022156
15 | 0.049042, 25.445649
16 | 0.058963, 25.910184
17 | 0.070547, 26.350063
18 | 0.083888, 26.822649
19 | 0.100428, 27.306609
20 | 0.117291, 27.732251
21 | 0.138370, 28.237878
22 | 0.161282, 28.676496
23 | 0.189494, 29.215355
24 | 0.219051, 29.671082
25 | 0.256016, 30.254687
26 | 0.294495, 30.730227
27 | 0.338370, 31.313155
28 | 0.385684, 31.792825
29 | 0.440687, 32.397932
30 | 0.500803, 33.028258
31 | 0.569223, 33.673742
32 | 0.642459, 34.307052
33 | 0.711308, 34.755805
34 | 0.795128, 35.401802
35 | 0.884535, 36.017190
36 | 0.977693, 36.620787
37 | 1.083310, 37.241529
38 | 1.193119, 37.858404
39 | 1.302428, 38.418848
40 | 1.425981, 38.988973
41 | 1.558065, 39.540628
42 | 1.699156, 40.065401
43 | 1.862072, 40.618115
44 | 2.036448, 41.155617
45 | 2.211966, 41.638891
46 | 2.412092, 42.137440
47 | 2.613790, 42.670036
48 | 2.838744, 43.122145
49 | 3.068833, 43.538615
50 | 3.303337, 43.918761
51 | 3.539684, 44.257987
52 | 3.787450, 44.565300
53 | 4.045572, 44.851237
54 | 4.317412, 45.123028
55 | 4.674708, 45.475263
56 | 4.988948, 45.777371
57 | 5.355372, 46.138732
58 | 5.604246, 46.341547
59 | 5.786789, 46.442053
60 | 5.974362, 46.512323
61 | 6.206643, 46.555544
62 | 6.442166, 46.571582
63 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.023857, 23.787652
12 | 0.028540, 24.169736
13 | 0.034282, 24.583862
14 | 0.041183, 25.005823
15 | 0.049301, 25.441511
16 | 0.058861, 25.892665
17 | 0.070444, 26.341951
18 | 0.084175, 26.815071
19 | 0.100255, 27.298468
20 | 0.119211, 27.803390
21 | 0.140076, 28.299163
22 | 0.165529, 28.836366
23 | 0.193939, 29.370955
24 | 0.226882, 29.927924
25 | 0.264902, 30.519758
26 | 0.308004, 31.114314
27 | 0.353821, 31.707365
28 | 0.406663, 32.333445
29 | 0.465174, 32.953625
30 | 0.528513, 33.589638
31 | 0.602615, 34.260077
32 | 0.681227, 34.921675
33 | 0.763150, 35.560822
34 | 0.855122, 36.239184
35 | 0.954195, 36.892823
36 | 1.058729, 37.539114
37 | 1.178031, 38.225035
38 | 1.302895, 38.892220
39 | 1.427853, 39.508856
40 | 1.570484, 40.150529
41 | 1.724310, 40.780304
42 | 1.890798, 41.391531
43 | 2.085680, 42.054650
44 | 2.296926, 42.720115
45 | 2.513738, 43.337300
46 | 2.762745, 43.993691
47 | 3.021654, 44.653016
48 | 3.311613, 45.301270
49 | 3.616902, 45.915667
50 | 3.943210, 46.518668
51 | 4.282488, 47.080322
52 | 4.657569, 47.624560
53 | 5.069882, 48.164119
54 | 5.543335, 48.722029
55 | 6.176737, 49.453080
56 | 6.804908, 50.169809
57 | 7.545595, 51.141528
58 | 8.045927, 51.834165
59 | 8.453601, 52.318361
60 | 8.895050, 52.695935
61 | 9.349519, 52.937088
62 | 9.810592, 53.030342
63 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the Kakadu implementation of JPEG2000
8 | # More information here: https://kakadusoftware.com.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.100076, 26.108197
14 | 0.199880, 27.890083
15 | 0.249907, 28.514038
16 | 0.300371, 29.036330
17 | 0.399825, 29.972677
18 | 0.499945, 30.872714
19 | 0.600087, 31.689686
20 | 0.700465, 32.449845
21 | 0.750395, 32.733477
22 | 0.800270, 33.095389
23 | 0.900150, 33.750919
24 | 0.999644, 34.291373
25 | 1.099831, 34.873324
26 | 1.200267, 35.306661
27 | 1.250495, 35.542922
28 | 1.299869, 35.781428
29 | 1.399585, 36.266006
30 | 1.499995, 36.645802
31 | 1.600394, 37.017544
32 | 1.699370, 37.389257
33 | 1.750196, 37.587105
34 | 1.800260, 37.769052
35 | 1.899801, 38.145486
36 | 2.000136, 38.465156
37 | 2.250013, 39.304257
38 | 2.499570, 40.026987
39 | 2.749943, 40.836265
40 | 3.000182, 41.620865
41 | 3.249868, 42.383456
42 | 3.499243, 43.056914
43 | 3.750640, 43.804852
44 | 4.000155, 44.620106
45 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the OpenJPEG implementation of JPEG2000
8 | # More information here: https://www.openjpeg.org.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.099912, 25.982922
14 | 0.200165, 28.086964
15 | 0.249945, 28.857731
16 | 0.300170, 29.547604
17 | 0.400012, 30.704949
18 | 0.499803, 31.693025
19 | 0.599782, 32.555796
20 | 0.700121, 33.346483
21 | 0.750070, 33.700536
22 | 0.799270, 34.032933
23 | 0.899998, 34.667195
24 | 0.999610, 35.272757
25 | 1.100226, 35.842500
26 | 1.200713, 36.345132
27 | 1.249957, 36.583754
28 | 1.300304, 36.822312
29 | 1.400688, 37.281795
30 | 1.499341, 37.709303
31 | 1.600190, 38.126748
32 | 1.699513, 38.515899
33 | 1.750212, 38.709807
34 | 1.800014, 38.900367
35 | 1.899858, 39.247226
36 | 1.999802, 39.573599
37 | 2.249946, 40.342620
38 | 2.500251, 41.077143
39 | 2.749595, 41.762804
40 | 3.000416, 42.417536
41 | 3.250183, 43.053957
42 | 3.498930, 43.626583
43 | 3.750190, 44.164407
44 | 3.999123, 44.685958
45 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.098400, 25.042694
13 | 0.098502, 25.042694
14 | 0.123147, 25.873829
15 | 0.216631, 27.263388
16 | 0.216733, 27.263388
17 | 0.233175, 27.744344
18 | 0.243297, 27.921630
19 | 0.266381, 28.221591
20 | 0.316397, 28.994437
21 | 0.342072, 29.224412
22 | 0.359053, 29.352130
23 | 0.366377, 29.404068
24 | 0.369731, 29.430324
25 | 0.416378, 30.037679
26 | 0.466340, 30.367370
27 | 0.467073, 30.371583
28 | 0.482969, 30.452516
29 | 0.494033, 30.510900
30 | 0.514605, 30.598548
31 | 0.564585, 31.228484
32 | 0.590295, 31.341569
33 | 0.608254, 31.408429
34 | 0.614593, 31.430022
35 | 0.619498, 31.444564
36 | 0.664594, 31.979668
37 | 0.714583, 32.151746
38 | 0.715288, 32.154511
39 | 0.732207, 32.212912
40 | 0.743663, 32.242123
41 | 0.763244, 32.287842
42 | 0.813254, 33.077149
43 | 0.838921, 33.178326
44 | 0.857497, 33.239064
45 | 0.863241, 33.257011
46 | 0.869088, 33.275594
47 | 0.913244, 33.666788
48 | 0.963240, 33.824353
49 | 0.963946, 33.826372
50 | 0.982247, 33.891988
51 | 0.994077, 33.925309
52 | 1.012682, 33.971809
53 | 1.062672, 34.365477
54 | 1.088370, 34.431439
55 | 1.107454, 34.477619
56 | 1.112645, 34.490851
57 | 1.119378, 34.505873
58 | 1.162643, 34.837930
59 | 1.212635, 34.957627
60 | 1.213353, 34.959745
61 | 1.231904, 35.008865
62 | 1.243903, 35.033539
63 | 1.262037, 35.067067
64 | 1.312007, 35.429446
65 | 1.337708, 35.480270
66 | 1.357105, 35.515472
67 | 1.362025, 35.524941
68 | 1.369241, 35.537135
69 | 1.412006, 36.023957
70 | 1.461991, 36.135518
71 | 1.462680, 36.136906
72 | 1.481670, 36.186340
73 | 1.493911, 36.210172
74 | 1.511412, 36.245657
75 | 1.561425, 36.504762
76 | 1.587108, 36.556663
77 | 1.606839, 36.593405
78 | 1.611415, 36.601528
79 | 1.619153, 36.614575
80 | 1.661396, 36.683846
81 | 1.711365, 36.758485
82 | 1.712098, 36.759500
83 | 1.731499, 36.789351
84 | 1.743997, 36.804867
85 | 1.760764, 36.823389
86 | 1.810739, 36.872300
87 | 1.836470, 36.894054
88 | 1.856706, 36.908329
89 | 1.860740, 36.911385
90 | 1.869343, 36.917674
91 | 1.910750, 36.946425
92 | 1.957929, 36.972226
93 | 1.960025, 36.972114
94 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/lee-2019-context-adaptive.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Lee 2019 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.102128, 27.635956
13 | 0.147518, 28.801123
14 | 0.204255, 29.889887
15 | 0.299291, 31.265169
16 | 0.436879, 32.831459
17 | 0.692199, 35.161797
18 | 0.995745, 37.301125
19 | 1.272340, 38.924721
20 | 1.592908, 40.357304
21 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/lee2019-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Lee 2019 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.102128, 27.635956
12 | 0.147518, 28.801123
13 | 0.204255, 29.889887
14 | 0.299291, 31.265169
15 | 0.436879, 32.831459
16 | 0.692199, 35.161797
17 | 0.995745, 37.301125
18 | 1.272340, 38.924721
19 | 1.592908, 40.357304
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/minnen-2017-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2017 (ICIP)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.250000, 26.825000
13 | 0.375000, 29.041000
14 | 0.500000, 30.418000
15 | 0.625000, 31.495000
16 | 0.750000, 32.380000
17 | 0.875000, 33.136000
18 | 1.000000, 33.796000
19 | 1.125000, 34.304000
20 | 1.250000, 34.715000
21 | 1.375000, 35.054000
22 | 1.500000, 35.297000
23 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.113339, 26.748077
13 | 0.181917, 28.307032
14 | 0.290215, 29.985855
15 | 0.438877, 31.677071
16 | 0.653552, 33.650509
17 | 0.956121, 35.779404
18 | 1.309287, 37.874735
19 | 1.740850, 39.877054
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/minnen-2018-neurips-no-context.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS - No Context)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # This is a hyperprior architecture that predicts mean & scale parameters for
6 | # the entropy model, unlike (Ballé 2018) that only predicts the scale
7 | # parameter. This model does NOT include context prediction, and it was
8 | # re-trained after the paper was published so the rate-distortion numbers do
9 | # not match the paper (they're slightly better).
10 | #
11 | # Notes:
12 | # 1. Aggregate values were calculated by averaging over a constant
13 | # lambda value.
14 | #
15 | # If you have questions or corrections, please contact:
16 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
17 |
18 | 0.116419, 27.869507
19 | 0.172233, 28.844869
20 | 0.289868, 31.025364
21 | 0.455688, 33.049656
22 | 0.664587, 34.991868
23 | 0.934780, 36.993942
24 | 1.272558, 39.038383
25 | 1.692898, 40.948441
26 | 2.222060, 42.859464
27 | 2.861839, 44.557811
28 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MSE.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.071997, 26.804116
14 | 0.153354, 28.880747
15 | 0.264381, 30.927089
16 | 0.428511, 33.028649
17 | 0.635404, 34.998064
18 | 0.904279, 37.053312
19 | 1.258828, 39.120817
20 | 1.982050, 42.165220
21 | 2.992778, 45.074915
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MS-SSIM.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.092495, 25.376121
14 | 0.196784, 27.127567
15 | 0.392549, 29.273395
16 | 0.580614, 30.408266
17 | 0.755953, 31.429707
18 | 0.945877, 32.262988
19 | 1.195109, 33.434059
20 | 1.425766, 34.352065
21 | 1.982975, 35.366026
22 | 2.641110, 36.833078
23 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/minnen-2020-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2020 (ICIP)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.112942, 28.609292
13 | 0.189197, 30.246944
14 | 0.299300, 31.948906
15 | 0.459559, 33.802145
16 | 0.668633, 35.756475
17 | 0.941531, 37.712819
18 | 1.279007, 39.608699
19 | 1.704720, 41.445196
20 | 2.302723, 43.649106
21 | 3.018105, 45.644330
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_RGB/toderici-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Toderici 2017 (CVPR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.125000, 23.014080
13 | 0.250000, 25.646310
14 | 0.375000, 27.144170
15 | 0.500000, 28.267100
16 | 0.625000, 29.281390
17 | 0.750000, 30.144410
18 | 0.875000, 30.941350
19 | 1.000000, 31.617940
20 | 1.125000, 32.224600
21 | 1.250000, 32.761690
22 | 1.375000, 33.215720
23 | 1.500000, 33.626640
24 | 1.625000, 33.955500
25 | 1.750000, 34.237280
26 | 1.875000, 34.467500
27 | 2.000000, 34.630040
28 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.119752, 27.121149
13 | 0.194591, 28.713727
14 | 0.316000, 30.431627
15 | 0.481060, 32.190087
16 | 0.721303, 34.241010
17 | 1.060841, 36.496619
18 | 1.458681, 38.906598
19 | 1.957564, 41.240205
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.088965, 24.943757
13 | 0.159174, 26.331073
14 | 0.274751, 27.551279
15 | 0.456740, 29.300307
16 | 0.657944, 30.306492
17 | 1.039564, 32.420533
18 | 1.519391, 34.220280
19 | 2.100730, 35.662792
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/balle-2017-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.119752, 27.121149
13 | 0.194591, 28.713727
14 | 0.316000, 30.431627
15 | 0.481060, 32.190087
16 | 0.721303, 34.241010
17 | 1.060841, 36.496619
18 | 1.458681, 38.906598
19 | 1.957564, 41.240205
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.115239, 27.504627
13 | 0.185698, 29.082609
14 | 0.301804, 31.061476
15 | 0.468972, 33.074653
16 | 0.686378, 35.214096
17 | 0.966864, 37.518340
18 | 1.307441, 39.815185
19 | 1.727503, 42.034352
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.092031, 25.245428
13 | 0.166818, 26.737111
14 | 0.281376, 28.156662
15 | 0.398321, 28.989463
16 | 0.650651, 30.699881
17 | 0.996335, 32.787665
18 | 1.377538, 33.888382
19 | 2.030330, 35.765154
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/balle-2018-iclr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.115239, 27.504627
13 | 0.185698, 29.082609
14 | 0.301804, 31.061476
15 | 0.468972, 33.074653
16 | 0.686378, 35.214096
17 | 0.966864, 37.518340
18 | 1.307441, 39.815185
19 | 1.727503, 42.034352
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.023778, 24.287397
12 | 0.028261, 24.656549
13 | 0.034131, 25.081641
14 | 0.041103, 25.532309
15 | 0.049042, 25.959701
16 | 0.058963, 26.436699
17 | 0.070547, 26.888642
18 | 0.083888, 27.364920
19 | 0.100428, 27.863698
20 | 0.117291, 28.376307
21 | 0.138370, 28.896861
22 | 0.161282, 29.446395
23 | 0.189494, 30.006163
24 | 0.219051, 30.579280
25 | 0.256016, 31.202506
26 | 0.294495, 31.822498
27 | 0.338370, 32.446956
28 | 0.385684, 33.105627
29 | 0.440687, 33.765992
30 | 0.500803, 34.455874
31 | 0.569223, 35.174676
32 | 0.642459, 35.892505
33 | 0.711308, 36.574298
34 | 0.795128, 37.318759
35 | 0.884535, 38.043481
36 | 0.977693, 38.762396
37 | 1.083310, 39.525261
38 | 1.193119, 40.281401
39 | 1.302428, 40.980401
40 | 1.425981, 41.719674
41 | 1.558065, 42.455765
42 | 1.699156, 43.185852
43 | 1.862072, 43.985735
44 | 2.036448, 44.795614
45 | 2.211966, 45.562363
46 | 2.412092, 46.401347
47 | 2.613790, 47.236733
48 | 2.838744, 48.082587
49 | 3.068833, 48.883490
50 | 3.303337, 49.617310
51 | 3.539684, 50.316557
52 | 3.787450, 50.969575
53 | 4.045572, 51.578434
54 | 4.317412, 52.209164
55 | 4.674708, 53.044924
56 | 4.988948, 53.716035
57 | 5.355372, 54.560764
58 | 5.604246, 55.138053
59 | 5.786789, 55.387165
60 | 5.974362, 55.479543
61 | 6.206643, 55.541225
62 | 6.442166, 55.570424
63 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.023857, 24.282063
12 | 0.028540, 24.670929
13 | 0.034282, 25.084433
14 | 0.041183, 25.513338
15 | 0.049301, 25.959705
16 | 0.058861, 26.407214
17 | 0.070444, 26.874963
18 | 0.084175, 27.356762
19 | 0.100255, 27.848479
20 | 0.119211, 28.366194
21 | 0.140076, 28.875123
22 | 0.165529, 29.431678
23 | 0.193939, 29.992299
24 | 0.226882, 30.570405
25 | 0.264902, 31.191792
26 | 0.308004, 31.816254
27 | 0.353821, 32.442969
28 | 0.406663, 33.110749
29 | 0.465174, 33.770465
30 | 0.528513, 34.456644
31 | 0.602615, 35.183826
32 | 0.681227, 35.894508
33 | 0.763150, 36.589369
34 | 0.855122, 37.332427
35 | 0.954195, 38.055663
36 | 1.058729, 38.776342
37 | 1.178031, 39.543953
38 | 1.302895, 40.305646
39 | 1.427853, 41.009316
40 | 1.570484, 41.751139
41 | 1.724310, 42.486661
42 | 1.890798, 43.216988
43 | 2.085680, 44.034160
44 | 2.296926, 44.859987
45 | 2.513738, 45.640241
46 | 2.762745, 46.500506
47 | 3.021654, 47.360175
48 | 3.311613, 48.232553
49 | 3.616902, 49.064985
50 | 3.943210, 49.854869
51 | 4.282488, 50.601471
52 | 4.657569, 51.313983
53 | 5.069882, 52.005916
54 | 5.543335, 52.735905
55 | 6.176737, 53.706155
56 | 6.804908, 54.520587
57 | 7.545595, 55.583101
58 | 8.045927, 56.331668
59 | 8.453601, 56.689431
60 | 8.895050, 56.862146
61 | 9.349519, 56.962101
62 | 9.810592, 57.004717
63 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the Kakadu implementation of JPEG2000
8 | # More information here: https://kakadusoftware.com.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.100076, 26.645733
14 | 0.199880, 28.465018
15 | 0.249907, 29.093095
16 | 0.300371, 29.614011
17 | 0.399825, 30.546576
18 | 0.499945, 31.474227
19 | 0.600087, 32.309441
20 | 0.700465, 33.095831
21 | 0.750395, 33.384622
22 | 0.800270, 33.768200
23 | 0.900150, 34.462059
24 | 0.999644, 35.032021
25 | 1.099831, 35.650619
26 | 1.200267, 36.102002
27 | 1.250495, 36.354129
28 | 1.299869, 36.622274
29 | 1.399585, 37.142209
30 | 1.499995, 37.537797
31 | 1.600394, 37.937753
32 | 1.699370, 38.344062
33 | 1.750196, 38.559526
34 | 1.800260, 38.752105
35 | 1.899801, 39.148093
36 | 2.000136, 39.501382
37 | 2.250013, 40.420899
38 | 2.499570, 41.227321
39 | 2.749943, 42.142248
40 | 3.000182, 43.064286
41 | 3.249868, 43.943734
42 | 3.499243, 44.738712
43 | 3.750640, 45.651954
44 | 4.000155, 46.656420
45 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the OpenJPEG implementation of JPEG2000
8 | # More information here: https://www.openjpeg.org.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.099912, 26.500143
14 | 0.200165, 28.665524
15 | 0.249945, 29.471546
16 | 0.300170, 30.188834
17 | 0.400012, 31.434453
18 | 0.499803, 32.489647
19 | 0.599782, 33.411953
20 | 0.700121, 34.264553
21 | 0.750070, 34.650467
22 | 0.799270, 35.012138
23 | 0.899998, 35.718922
24 | 0.999610, 36.382860
25 | 1.100226, 36.978301
26 | 1.200713, 37.525673
27 | 1.249957, 37.794954
28 | 1.300304, 38.061436
29 | 1.400688, 38.565675
30 | 1.499341, 39.037361
31 | 1.600190, 39.494327
32 | 1.699513, 39.931074
33 | 1.750212, 40.133757
34 | 1.800014, 40.334520
35 | 1.899858, 40.693007
36 | 1.999802, 41.041602
37 | 2.249946, 41.889833
38 | 2.500251, 42.727200
39 | 2.749595, 43.515910
40 | 3.000416, 44.234837
41 | 3.250183, 44.928415
42 | 3.498930, 45.515973
43 | 3.750190, 46.101650
44 | 3.999123, 46.694943
45 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.098400, 25.415076
13 | 0.098502, 25.415076
14 | 0.123147, 26.259974
15 | 0.216631, 27.538927
16 | 0.216733, 27.538927
17 | 0.233175, 28.040858
18 | 0.243297, 28.220575
19 | 0.266381, 28.524103
20 | 0.316397, 29.321688
21 | 0.342072, 29.552020
22 | 0.359053, 29.680888
23 | 0.366377, 29.732906
24 | 0.369731, 29.758764
25 | 0.416378, 30.393611
26 | 0.466340, 30.723822
27 | 0.467073, 30.728117
28 | 0.482969, 30.802674
29 | 0.494033, 30.860739
30 | 0.514605, 30.948459
31 | 0.564585, 31.619212
32 | 0.590295, 31.734110
33 | 0.608254, 31.801859
34 | 0.614593, 31.824312
35 | 0.619498, 31.839540
36 | 0.664594, 32.388509
37 | 0.714583, 32.563383
38 | 0.715288, 32.566207
39 | 0.732207, 32.623283
40 | 0.743663, 32.653052
41 | 0.763244, 32.699191
42 | 0.813254, 33.551550
43 | 0.838921, 33.655134
44 | 0.857497, 33.718116
45 | 0.863241, 33.736489
46 | 0.869088, 33.756010
47 | 0.913244, 34.181942
48 | 0.963240, 34.346009
49 | 0.963946, 34.348151
50 | 0.982247, 34.415754
51 | 0.994077, 34.450268
52 | 1.012682, 34.498722
53 | 1.062672, 34.917596
54 | 1.088370, 34.986763
55 | 1.107454, 35.034162
56 | 1.112645, 35.048008
57 | 1.119378, 35.063655
58 | 1.162643, 35.428111
59 | 1.212635, 35.552477
60 | 1.213353, 35.554671
61 | 1.231904, 35.606055
62 | 1.243903, 35.631168
63 | 1.262037, 35.665672
64 | 1.312007, 36.072622
65 | 1.337708, 36.125868
66 | 1.357105, 36.162059
67 | 1.362025, 36.171863
68 | 1.369241, 36.184520
69 | 1.412006, 36.742886
70 | 1.461991, 36.861454
71 | 1.462680, 36.862998
72 | 1.481670, 36.908726
73 | 1.493911, 36.934076
74 | 1.511412, 36.972569
75 | 1.561425, 37.249917
76 | 1.587108, 37.305758
77 | 1.606839, 37.345230
78 | 1.611415, 37.353874
79 | 1.619153, 37.367907
80 | 1.661396, 37.440820
81 | 1.711365, 37.519927
82 | 1.712098, 37.520973
83 | 1.731499, 37.551889
84 | 1.743997, 37.567976
85 | 1.760764, 37.587388
86 | 1.810739, 37.637901
87 | 1.836470, 37.660827
88 | 1.856706, 37.675826
89 | 1.860740, 37.678869
90 | 1.869343, 37.685433
91 | 1.910750, 37.714641
92 | 1.957929, 37.740055
93 | 1.960025, 37.739949
94 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.113339, 27.092317
13 | 0.181917, 28.669314
14 | 0.290215, 30.400758
15 | 0.438877, 32.130327
16 | 0.653552, 34.207464
17 | 0.956121, 36.466578
18 | 1.309287, 38.746205
19 | 1.740850, 40.991984
20 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/minnen-2018-neurips-no-context.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS - No Context)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # This is a hyperprior architecture that predicts mean & scale parameters for
6 | # the entropy model, unlike (Ballé 2018) that only predicts the scale
7 | # parameter. This model does NOT include context prediction, and it was
8 | # re-trained after the paper was published so the rate-distortion numbers do
9 | # not match the paper (they're slightly better).
10 | #
11 | # Notes:
12 | # 1. Aggregate values were calculated by averaging over a constant
13 | # lambda value.
14 | #
15 | # If you have questions or corrections, please contact:
16 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
17 |
18 | 0.116419, 28.228030
19 | 0.172233, 29.198049
20 | 0.289868, 31.461504
21 | 0.455688, 33.583410
22 | 0.664587, 35.647254
23 | 0.934780, 37.796273
24 | 1.272558, 40.061438
25 | 1.692898, 42.210400
26 | 2.222060, 44.456109
27 | 2.861839, 46.584030
28 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MSE.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.071997, 27.110375
14 | 0.153354, 29.212094
15 | 0.264381, 31.346775
16 | 0.428511, 33.543478
17 | 0.635404, 35.637747
18 | 0.904279, 37.857125
19 | 1.258828, 40.122851
20 | 1.982050, 43.581031
21 | 2.992778, 47.253899
22 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MS-SSIM.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.092495, 25.649601
14 | 0.196784, 27.390140
15 | 0.392549, 29.542959
16 | 0.580614, 30.716348
17 | 0.755953, 31.758289
18 | 0.945877, 32.604129
19 | 1.195109, 33.786184
20 | 1.425766, 34.708266
21 | 1.982975, 35.722294
22 | 2.641110, 37.149169
23 |
--------------------------------------------------------------------------------
/results/image_compression/kodak/PSNR_sRGB_Y/minnen-2020-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2020 (ICIP)" on kodak.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.112942, 28.929526
13 | 0.189197, 30.615043
14 | 0.299300, 32.377681
15 | 0.459559, 34.332430
16 | 0.668633, 36.410187
17 | 0.941531, 38.535650
18 | 1.279007, 40.635977
19 | 1.704720, 42.738868
20 | 2.302723, 45.135623
21 | 3.018105, 47.452751
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.115931, 0.937430
15 | 0.174513, 0.954175
16 | 0.261745, 0.968157
17 | 0.380673, 0.976136
18 | 0.550055, 0.983301
19 | 0.793547, 0.987275
20 | 1.111101, 0.991833
21 | 1.547634, 0.994729
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.087993, 0.940364
15 | 0.143978, 0.961145
16 | 0.230788, 0.974824
17 | 0.366453, 0.984012
18 | 0.541671, 0.989719
19 | 0.835715, 0.993990
20 | 1.255564, 0.997091
21 | 1.806730, 0.998794
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.105457, 0.940467
15 | 0.154802, 0.957177
16 | 0.228370, 0.969590
17 | 0.330983, 0.977247
18 | 0.471083, 0.983751
19 | 0.655272, 0.988089
20 | 0.905265, 0.991795
21 | 1.262145, 0.994664
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.084147, 0.947396
15 | 0.136033, 0.966016
16 | 0.213825, 0.977739
17 | 0.310643, 0.984355
18 | 0.491282, 0.990337
19 | 0.748023, 0.994525
20 | 1.094067, 0.997132
21 | 1.659701, 0.998906
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.025125, 0.850612
14 | 0.029395, 0.863097
15 | 0.034544, 0.874936
16 | 0.040463, 0.886590
17 | 0.047224, 0.896829
18 | 0.055196, 0.906690
19 | 0.064515, 0.915611
20 | 0.075126, 0.924174
21 | 0.087715, 0.931614
22 | 0.099400, 0.937232
23 | 0.114569, 0.943534
24 | 0.129411, 0.948008
25 | 0.148728, 0.953211
26 | 0.166732, 0.956568
27 | 0.191210, 0.961057
28 | 0.213960, 0.963741
29 | 0.241976, 0.967120
30 | 0.269519, 0.969227
31 | 0.303815, 0.972081
32 | 0.341726, 0.974823
33 | 0.385042, 0.977222
34 | 0.431623, 0.979312
35 | 0.472215, 0.980360
36 | 0.527420, 0.982246
37 | 0.587486, 0.983861
38 | 0.652251, 0.985312
39 | 0.727601, 0.986708
40 | 0.808301, 0.988046
41 | 0.891799, 0.989127
42 | 0.988839, 0.990197
43 | 1.095368, 0.991166
44 | 1.212718, 0.992034
45 | 1.350947, 0.992907
46 | 1.501673, 0.993717
47 | 1.659002, 0.994432
48 | 1.840322, 0.995127
49 | 2.032363, 0.995918
50 | 2.243398, 0.996452
51 | 2.469170, 0.996917
52 | 2.702498, 0.997333
53 | 2.939118, 0.997681
54 | 3.191646, 0.998003
55 | 3.457013, 0.998266
56 | 3.733283, 0.998481
57 | 4.132374, 0.998808
58 | 4.442658, 0.999029
59 | 4.800078, 0.999237
60 | 5.016470, 0.999287
61 | 5.185366, 0.999322
62 | 5.361169, 0.999352
63 | 5.578033, 0.999368
64 | 5.803359, 0.999373
65 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.025060, 0.850755
14 | 0.029257, 0.863353
15 | 0.034290, 0.875257
16 | 0.040172, 0.886926
17 | 0.046863, 0.897174
18 | 0.054726, 0.907037
19 | 0.063846, 0.915959
20 | 0.074256, 0.924533
21 | 0.086615, 0.932054
22 | 0.100555, 0.939053
23 | 0.115887, 0.945234
24 | 0.133742, 0.950845
25 | 0.153843, 0.955770
26 | 0.176214, 0.960216
27 | 0.202363, 0.964608
28 | 0.231102, 0.968253
29 | 0.261737, 0.971382
30 | 0.297317, 0.974292
31 | 0.336615, 0.976833
32 | 0.379584, 0.979218
33 | 0.430032, 0.981374
34 | 0.484752, 0.983247
35 | 0.542243, 0.984915
36 | 0.609383, 0.986560
37 | 0.682778, 0.987960
38 | 0.762960, 0.989181
39 | 0.857307, 0.990378
40 | 0.959288, 0.991525
41 | 1.066873, 0.992467
42 | 1.193355, 0.993390
43 | 1.333717, 0.994264
44 | 1.489079, 0.995026
45 | 1.673540, 0.995760
46 | 1.874180, 0.996416
47 | 2.087761, 0.996981
48 | 2.337302, 0.997517
49 | 2.606474, 0.998034
50 | 2.907534, 0.998415
51 | 3.234008, 0.998734
52 | 3.588031, 0.998989
53 | 3.955821, 0.999182
54 | 4.367805, 0.999346
55 | 4.812334, 0.999472
56 | 5.304131, 0.999567
57 | 5.975183, 0.999688
58 | 6.606795, 0.999772
59 | 7.335155, 0.999842
60 | 7.786779, 0.999857
61 | 8.188528, 0.999869
62 | 8.606709, 0.999880
63 | 9.020080, 0.999885
64 | 9.455342, 0.999888
65 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the Kakadu implementation of JPEG2000
10 | # More information here: https://kakadusoftware.com.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.100015, 0.919569
16 | 0.199956, 0.952502
17 | 0.249913, 0.960754
18 | 0.299939, 0.966483
19 | 0.400036, 0.974299
20 | 0.500044, 0.979272
21 | 0.600090, 0.982731
22 | 0.699950, 0.985241
23 | 0.750074, 0.986270
24 | 0.800131, 0.987221
25 | 0.900073, 0.988816
26 | 1.000134, 0.990067
27 | 1.099905, 0.991148
28 | 1.200041, 0.992047
29 | 1.249973, 0.992450
30 | 1.300113, 0.992842
31 | 1.400004, 0.993557
32 | 1.499800, 0.994143
33 | 1.599939, 0.994671
34 | 1.699833, 0.995135
35 | 1.749930, 0.995351
36 | 1.799995, 0.995557
37 | 1.900088, 0.995924
38 | 1.999878, 0.996260
39 | 2.249196, 0.997004
40 | 2.494925, 0.997557
41 | 2.739606, 0.997983
42 | 2.983564, 0.998337
43 | 3.223385, 0.998629
44 | 3.454711, 0.998845
45 | 3.680060, 0.999024
46 | 3.894861, 0.999166
47 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the OpenJPEG implementation of JPEG2000
10 | # More information here: https://www.openjpeg.org.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.099969, 0.912046
16 | 0.200004, 0.945751
17 | 0.249992, 0.954138
18 | 0.300019, 0.960287
19 | 0.399950, 0.968255
20 | 0.500007, 0.973846
21 | 0.600033, 0.977766
22 | 0.699955, 0.980633
23 | 0.750041, 0.981739
24 | 0.799970, 0.982803
25 | 0.900014, 0.984569
26 | 0.999968, 0.986157
27 | 1.099988, 0.987489
28 | 1.199965, 0.988566
29 | 1.249989, 0.989051
30 | 1.299971, 0.989465
31 | 1.400071, 0.990215
32 | 1.500056, 0.990900
33 | 1.599901, 0.991479
34 | 1.700024, 0.992036
35 | 1.749973, 0.992308
36 | 1.800033, 0.992579
37 | 1.899902, 0.993099
38 | 1.999978, 0.993576
39 | 2.250005, 0.994569
40 | 2.499955, 0.995316
41 | 2.749963, 0.995901
42 | 3.000062, 0.996456
43 | 3.249997, 0.996985
44 | 3.500019, 0.997430
45 | 3.749927, 0.997777
46 | 4.000197, 0.998081
47 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.085446, 0.921561
15 | 0.195974, 0.960133
16 | 0.321704, 0.974237
17 | 0.446534, 0.980585
18 | 0.567297, 0.985052
19 | 0.692207, 0.987644
20 | 0.813974, 0.989759
21 | 0.938960, 0.991152
22 | 1.061759, 0.992429
23 | 1.186988, 0.993343
24 | 1.310126, 0.994184
25 | 1.435111, 0.994730
26 | 1.558323, 0.995319
27 | 1.681771, 0.995786
28 | 1.803392, 0.996149
29 | 1.923209, 0.996373
30 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.097065, 0.937015
15 | 0.147267, 0.953919
16 | 0.219246, 0.967876
17 | 0.319637, 0.975894
18 | 0.459729, 0.983235
19 | 0.666186, 0.987221
20 | 0.933576, 0.991627
21 | 1.298130, 0.994714
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MSE.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.066339, 0.929896
16 | 0.126793, 0.956899
17 | 0.198055, 0.969371
18 | 0.300435, 0.978856
19 | 0.433107, 0.984426
20 | 0.615165, 0.987542
21 | 0.891458, 0.992472
22 | 1.507765, 0.993967
23 | 2.425908, 0.998597
24 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MS-SSIM.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.080911, 0.951014
16 | 0.160159, 0.974363
17 | 0.306288, 0.986175
18 | 0.454266, 0.990466
19 | 0.603689, 0.991907
20 | 0.746582, 0.993437
21 | 0.933949, 0.996380
22 | 1.138409, 0.997145
23 | 1.642893, 0.998888
24 | 2.288673, 0.999601
25 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_RGB/toderici-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Toderici 2017 (CVPR)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.125000, 0.846800
15 | 0.250000, 0.914520
16 | 0.375000, 0.946760
17 | 0.500000, 0.961180
18 | 0.625000, 0.969770
19 | 0.750000, 0.975420
20 | 0.875000, 0.978870
21 | 1.000000, 0.981090
22 | 1.125000, 0.983340
23 | 1.250000, 0.984590
24 | 1.375000, 0.985880
25 | 1.500000, 0.986580
26 | 1.625000, 0.987210
27 | 1.750000, 0.987620
28 | 1.875000, 0.987620
29 | 2.000000, 0.987800
30 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.115931, 0.948947
15 | 0.174513, 0.963567
16 | 0.261745, 0.975993
17 | 0.380673, 0.982649
18 | 0.550055, 0.988475
19 | 0.793547, 0.991225
20 | 1.111101, 0.994542
21 | 1.547634, 0.996354
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.087993, 0.952371
15 | 0.143978, 0.970455
16 | 0.230788, 0.981901
17 | 0.366453, 0.989047
18 | 0.541671, 0.993068
19 | 0.835715, 0.995640
20 | 1.255564, 0.997456
21 | 1.806730, 0.998554
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.105457, 0.951240
15 | 0.154802, 0.966343
16 | 0.228370, 0.977179
17 | 0.330983, 0.983507
18 | 0.471083, 0.988843
19 | 0.655272, 0.992183
20 | 0.905265, 0.994779
21 | 1.262145, 0.996459
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.084147, 0.958534
15 | 0.136033, 0.974825
16 | 0.213825, 0.984461
17 | 0.310643, 0.989543
18 | 0.491282, 0.993589
19 | 0.748023, 0.996073
20 | 1.094067, 0.997538
21 | 1.659701, 0.998623
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.025125, 0.870295
14 | 0.029395, 0.882477
15 | 0.034544, 0.894148
16 | 0.040463, 0.905154
17 | 0.047224, 0.914833
18 | 0.055196, 0.924043
19 | 0.064515, 0.932391
20 | 0.075126, 0.940104
21 | 0.087715, 0.946857
22 | 0.099400, 0.953037
23 | 0.114569, 0.958423
24 | 0.129411, 0.963337
25 | 0.148728, 0.967708
26 | 0.166732, 0.971403
27 | 0.191210, 0.975073
28 | 0.213960, 0.978027
29 | 0.241976, 0.980605
30 | 0.269519, 0.982907
31 | 0.303815, 0.984891
32 | 0.341726, 0.986730
33 | 0.385042, 0.988322
34 | 0.431623, 0.989675
35 | 0.472215, 0.990823
36 | 0.527420, 0.991940
37 | 0.587486, 0.992869
38 | 0.652251, 0.993666
39 | 0.727601, 0.994422
40 | 0.808301, 0.995135
41 | 0.891799, 0.995669
42 | 0.988839, 0.996181
43 | 1.095368, 0.996644
44 | 1.212718, 0.997055
45 | 1.350947, 0.997457
46 | 1.501673, 0.997816
47 | 1.659002, 0.998125
48 | 1.840322, 0.998413
49 | 2.032363, 0.998694
50 | 2.243398, 0.998904
51 | 2.469170, 0.999077
52 | 2.702498, 0.999221
53 | 2.939118, 0.999349
54 | 3.191646, 0.999457
55 | 3.457013, 0.999548
56 | 3.733283, 0.999623
57 | 4.132374, 0.999735
58 | 4.442658, 0.999789
59 | 4.800078, 0.999844
60 | 5.016470, 0.999858
61 | 5.185366, 0.999864
62 | 5.361169, 0.999868
63 | 5.578033, 0.999869
64 | 5.803359, 0.999870
65 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.025060, 0.870150
14 | 0.029257, 0.882381
15 | 0.034290, 0.894066
16 | 0.040172, 0.905037
17 | 0.046863, 0.914705
18 | 0.054726, 0.923956
19 | 0.063846, 0.932277
20 | 0.074256, 0.939948
21 | 0.086615, 0.946846
22 | 0.100555, 0.952943
23 | 0.115887, 0.958380
24 | 0.133742, 0.963374
25 | 0.153843, 0.967716
26 | 0.176214, 0.971472
27 | 0.202363, 0.975097
28 | 0.231102, 0.978112
29 | 0.261737, 0.980653
30 | 0.297317, 0.982987
31 | 0.336615, 0.984967
32 | 0.379584, 0.986800
33 | 0.430032, 0.988393
34 | 0.484752, 0.989746
35 | 0.542243, 0.990912
36 | 0.609383, 0.992025
37 | 0.682778, 0.992955
38 | 0.762960, 0.993746
39 | 0.857307, 0.994498
40 | 0.959288, 0.995200
41 | 1.066873, 0.995729
42 | 1.193355, 0.996233
43 | 1.333717, 0.996698
44 | 1.489079, 0.997108
45 | 1.673540, 0.997508
46 | 1.874180, 0.997863
47 | 2.087761, 0.998171
48 | 2.337302, 0.998461
49 | 2.606474, 0.998734
50 | 2.907534, 0.998945
51 | 3.234008, 0.999121
52 | 3.588031, 0.999272
53 | 3.955821, 0.999401
54 | 4.367805, 0.999511
55 | 4.812334, 0.999603
56 | 5.304131, 0.999679
57 | 5.975183, 0.999787
58 | 6.606795, 0.999842
59 | 7.335155, 0.999892
60 | 7.786779, 0.999903
61 | 8.188528, 0.999909
62 | 8.606709, 0.999913
63 | 9.020080, 0.999915
64 | 9.455342, 0.999916
65 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the Kakadu implementation of JPEG2000
10 | # More information here: https://kakadusoftware.com.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.100015, 0.938319
16 | 0.199956, 0.967436
17 | 0.249913, 0.974216
18 | 0.299939, 0.978707
19 | 0.400036, 0.984543
20 | 0.500044, 0.988093
21 | 0.600090, 0.990410
22 | 0.699950, 0.992025
23 | 0.750074, 0.992708
24 | 0.800131, 0.993257
25 | 0.900073, 0.994214
26 | 1.000134, 0.994922
27 | 1.099905, 0.995467
28 | 1.200041, 0.995938
29 | 1.249973, 0.996150
30 | 1.300113, 0.996344
31 | 1.400004, 0.996695
32 | 1.499800, 0.996985
33 | 1.599939, 0.997253
34 | 1.699833, 0.997473
35 | 1.749930, 0.997569
36 | 1.799995, 0.997661
37 | 1.900088, 0.997846
38 | 1.999878, 0.998013
39 | 2.249196, 0.998367
40 | 2.494925, 0.998645
41 | 2.739606, 0.998854
42 | 2.983564, 0.999034
43 | 3.223385, 0.999189
44 | 3.454711, 0.999299
45 | 3.680060, 0.999389
46 | 3.894861, 0.999468
47 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
8 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
9 | # 3. These results are based on the OpenJPEG implementation of JPEG2000
10 | # More information here: https://www.openjpeg.org.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.099969, 0.927419
16 | 0.200004, 0.958373
17 | 0.249992, 0.965700
18 | 0.300019, 0.970829
19 | 0.399950, 0.977388
20 | 0.500007, 0.982052
21 | 0.600033, 0.985066
22 | 0.699955, 0.987170
23 | 0.750041, 0.987963
24 | 0.799970, 0.988739
25 | 0.900014, 0.990011
26 | 0.999968, 0.991172
27 | 1.099988, 0.992094
28 | 1.199965, 0.992794
29 | 1.249989, 0.993098
30 | 1.299971, 0.993357
31 | 1.400071, 0.993864
32 | 1.500056, 0.994308
33 | 1.599901, 0.994700
34 | 1.700024, 0.995069
35 | 1.749973, 0.995248
36 | 1.800033, 0.995408
37 | 1.899902, 0.995733
38 | 1.999978, 0.996030
39 | 2.250005, 0.996609
40 | 2.499955, 0.997007
41 | 2.749963, 0.997351
42 | 3.000062, 0.997708
43 | 3.249997, 0.998036
44 | 3.500019, 0.998285
45 | 3.749927, 0.998473
46 | 4.000197, 0.998657
47 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.085446, 0.933694
15 | 0.195974, 0.969100
16 | 0.321704, 0.981298
17 | 0.446534, 0.986102
18 | 0.567297, 0.989599
19 | 0.692207, 0.991320
20 | 0.813974, 0.993026
21 | 0.938960, 0.993975
22 | 1.061759, 0.994791
23 | 1.186988, 0.995396
24 | 1.310126, 0.996006
25 | 1.435111, 0.996428
26 | 1.558323, 0.996775
27 | 1.681771, 0.997081
28 | 1.803392, 0.997329
29 | 1.923209, 0.997483
30 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | #
11 | # If you have questions or corrections, please contact:
12 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
13 |
14 | 0.097065, 0.948393
15 | 0.147267, 0.963287
16 | 0.219246, 0.975804
17 | 0.319637, 0.982425
18 | 0.459729, 0.988411
19 | 0.666186, 0.991190
20 | 0.933576, 0.994389
21 | 1.298130, 0.996377
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MSE.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.066339, 0.940713
16 | 0.126793, 0.965870
17 | 0.198055, 0.976842
18 | 0.300435, 0.984967
19 | 0.433107, 0.989286
20 | 0.615165, 0.991224
21 | 0.891458, 0.995066
22 | 1.507765, 0.995029
23 | 2.425908, 0.998601
24 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/MS-SSIM_sRGB_Y/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains MS-SSIM/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. We often graph MS-SSIM values in dB for visual clarity using:
9 | # ms_ssim_db = -10 * log10(1 - ms_ssim).
10 | # 3. This model was optimized for RGB MS-SSIM.
11 | #
12 | # If you have questions or corrections, please contact:
13 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
14 |
15 | 0.080911, 0.961266
16 | 0.160159, 0.981464
17 | 0.306288, 0.990734
18 | 0.454266, 0.993507
19 | 0.603689, 0.994009
20 | 0.746582, 0.994754
21 | 0.933949, 0.996996
22 | 1.138409, 0.997298
23 | 1.642893, 0.998564
24 | 2.288673, 0.999301
25 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.115931, 28.814958
13 | 0.174513, 30.453974
14 | 0.261745, 32.072275
15 | 0.380673, 33.618755
16 | 0.550055, 35.302337
17 | 0.793547, 36.988602
18 | 1.111101, 38.836650
19 | 1.547634, 40.635048
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.087993, 25.942792
13 | 0.143978, 28.362603
14 | 0.230788, 30.422225
15 | 0.366453, 32.402554
16 | 0.541671, 34.032366
17 | 0.835715, 36.012969
18 | 1.255564, 37.963265
19 | 1.806730, 40.005558
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.105457, 29.234396
13 | 0.154802, 30.862438
14 | 0.228370, 32.571271
15 | 0.330983, 34.146224
16 | 0.471083, 35.867773
17 | 0.655272, 37.420290
18 | 0.905265, 39.192136
19 | 1.262145, 40.975431
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.084147, 26.761386
13 | 0.136033, 29.009099
14 | 0.213825, 31.078285
15 | 0.310643, 32.614011
16 | 0.491282, 34.598202
17 | 0.748023, 36.514694
18 | 1.094067, 38.140798
19 | 1.659701, 40.371750
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.025125, 25.108440
12 | 0.029395, 25.560748
13 | 0.034544, 26.028843
14 | 0.040463, 26.503189
15 | 0.047224, 26.970709
16 | 0.055196, 27.473535
17 | 0.064515, 27.965753
18 | 0.075126, 28.477030
19 | 0.087715, 28.996063
20 | 0.099400, 29.402971
21 | 0.114569, 29.912971
22 | 0.129411, 30.314543
23 | 0.148728, 30.840700
24 | 0.166732, 31.210773
25 | 0.191210, 31.761939
26 | 0.213960, 32.124665
27 | 0.241976, 32.636821
28 | 0.269519, 32.980580
29 | 0.303815, 33.493056
30 | 0.341726, 34.020723
31 | 0.385042, 34.546957
32 | 0.431623, 35.054651
33 | 0.472215, 35.335158
34 | 0.527420, 35.853048
35 | 0.587486, 36.349041
36 | 0.652251, 36.828748
37 | 0.727601, 37.327521
38 | 0.808301, 37.842482
39 | 0.891799, 38.303157
40 | 0.988839, 38.779015
41 | 1.095368, 39.244605
42 | 1.212718, 39.694798
43 | 1.350947, 40.162840
44 | 1.501673, 40.621891
45 | 1.659002, 41.045862
46 | 1.840322, 41.480828
47 | 2.032363, 42.036192
48 | 2.243398, 42.457831
49 | 2.469170, 42.859149
50 | 2.702498, 43.222989
51 | 2.939118, 43.543549
52 | 3.191646, 43.835617
53 | 3.457013, 44.103594
54 | 3.733283, 44.351841
55 | 4.132374, 44.686507
56 | 4.442658, 44.949624
57 | 4.800078, 45.245237
58 | 5.016470, 45.392588
59 | 5.185366, 45.482200
60 | 5.361169, 45.541372
61 | 5.578033, 45.575426
62 | 5.803359, 45.586806
63 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.025060, 25.130159
12 | 0.029257, 25.592183
13 | 0.034290, 26.055216
14 | 0.040172, 26.531930
15 | 0.046863, 27.004273
16 | 0.054726, 27.499463
17 | 0.063846, 27.999492
18 | 0.074256, 28.508719
19 | 0.086615, 29.029134
20 | 0.100555, 29.554185
21 | 0.115887, 30.071480
22 | 0.133742, 30.613787
23 | 0.153843, 31.147454
24 | 0.176214, 31.679708
25 | 0.202363, 32.244413
26 | 0.231102, 32.792671
27 | 0.261737, 33.318580
28 | 0.297317, 33.871604
29 | 0.336615, 34.414892
30 | 0.379584, 34.959656
31 | 0.430032, 35.522459
32 | 0.484752, 36.070540
33 | 0.542243, 36.595498
34 | 0.609383, 37.152488
35 | 0.682778, 37.693324
36 | 0.762960, 38.224979
37 | 0.857307, 38.788265
38 | 0.959288, 39.354760
39 | 1.066873, 39.886785
40 | 1.193355, 40.448495
41 | 1.333717, 41.012807
42 | 1.489079, 41.565179
43 | 1.673540, 42.162286
44 | 1.874180, 42.760993
45 | 2.087761, 43.330331
46 | 2.337302, 43.941209
47 | 2.606474, 44.623969
48 | 2.907534, 45.263827
49 | 3.234008, 45.912547
50 | 3.588031, 46.544429
51 | 3.955821, 47.128919
52 | 4.367805, 47.715758
53 | 4.812334, 48.297504
54 | 5.304131, 48.883236
55 | 5.975183, 49.685870
56 | 6.606795, 50.438921
57 | 7.335155, 51.375012
58 | 7.786779, 51.986365
59 | 8.188528, 52.486404
60 | 8.606709, 52.848391
61 | 9.020080, 53.066389
62 | 9.455342, 53.148213
63 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the Kakadu implementation of JPEG2000
8 | # More information here: https://kakadusoftware.com.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.100015, 28.381789
14 | 0.199956, 30.656913
15 | 0.249913, 31.415383
16 | 0.299939, 32.055291
17 | 0.400036, 33.148778
18 | 0.500044, 34.050848
19 | 0.600090, 34.842159
20 | 0.699950, 35.538219
21 | 0.750074, 35.856300
22 | 0.800131, 36.165891
23 | 0.900073, 36.707290
24 | 1.000134, 37.209243
25 | 1.099905, 37.689631
26 | 1.200041, 38.105241
27 | 1.249973, 38.306999
28 | 1.300113, 38.520757
29 | 1.400004, 38.910118
30 | 1.499800, 39.251384
31 | 1.599939, 39.599373
32 | 1.699833, 39.947778
33 | 1.749930, 40.117957
34 | 1.799995, 40.278026
35 | 1.900088, 40.586184
36 | 1.999878, 40.889266
37 | 2.249196, 41.645567
38 | 2.494925, 42.316238
39 | 2.739606, 42.953000
40 | 2.983564, 43.592275
41 | 3.223385, 44.188093
42 | 3.454711, 44.764324
43 | 3.680060, 45.293391
44 | 3.894861, 45.818191
45 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the OpenJPEG implementation of JPEG2000
8 | # More information here: https://www.openjpeg.org.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.099969, 28.022411
14 | 0.200004, 30.516548
15 | 0.249992, 31.381928
16 | 0.300019, 32.123074
17 | 0.399950, 33.318184
18 | 0.500007, 34.284718
19 | 0.600033, 35.112138
20 | 0.699955, 35.807793
21 | 0.750041, 36.122744
22 | 0.799970, 36.427874
23 | 0.900014, 36.983414
24 | 0.999968, 37.494165
25 | 1.099988, 37.963950
26 | 1.199965, 38.392578
27 | 1.249989, 38.594304
28 | 1.299971, 38.786563
29 | 1.400071, 39.156842
30 | 1.500056, 39.508511
31 | 1.599901, 39.834260
32 | 1.700024, 40.148578
33 | 1.749973, 40.298062
34 | 1.800033, 40.448041
35 | 1.899902, 40.735378
36 | 1.999978, 41.010618
37 | 2.250005, 41.662518
38 | 2.499955, 42.252436
39 | 2.749963, 42.791643
40 | 3.000062, 43.325837
41 | 3.249997, 43.862351
42 | 3.500019, 44.374120
43 | 3.749927, 44.865032
44 | 4.000197, 45.370750
45 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.085446, 26.314558
13 | 0.195974, 29.496233
14 | 0.321704, 31.824317
15 | 0.446534, 32.916187
16 | 0.567297, 33.869245
17 | 0.692207, 34.623349
18 | 0.813974, 35.609418
19 | 0.938960, 36.157846
20 | 1.061759, 36.704908
21 | 1.186988, 37.159970
22 | 1.310126, 37.610291
23 | 1.435111, 38.146013
24 | 1.558323, 38.496106
25 | 1.681771, 38.656697
26 | 1.803392, 38.787682
27 | 1.923209, 38.881638
28 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.097065, 28.760826
13 | 0.147267, 30.423427
14 | 0.219246, 32.021212
15 | 0.319637, 33.567981
16 | 0.459729, 35.252944
17 | 0.666186, 36.945702
18 | 0.933576, 38.715524
19 | 1.298130, 40.425820
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/minnen-2018-neurips-no-context.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS - No Context)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # This is a hyperprior architecture that predicts mean & scale parameters for
6 | # the entropy model, unlike (Ballé 2018) that only predicts the scale
7 | # parameter. This model does NOT include context prediction, and it was
8 | # re-trained after the paper was published so the rate-distortion numbers do
9 | # not match the paper (they're slightly better).
10 | #
11 | # Notes:
12 | # 1. Aggregate values were calculated by averaging over a constant
13 | # lambda value.
14 | #
15 | # If you have questions or corrections, please contact:
16 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
17 |
18 | 0.097592, 29.825435
19 | 0.143705, 31.158879
20 | 0.217932, 32.901252
21 | 0.321835, 34.596166
22 | 0.454096, 36.206039
23 | 0.643380, 37.828745
24 | 0.894995, 39.536067
25 | 1.254544, 41.178960
26 | 1.721664, 42.878329
27 | 2.312102, 44.415901
28 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MSE.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.066339, 28.965528
14 | 0.126793, 31.079284
15 | 0.198055, 32.687878
16 | 0.300435, 34.398752
17 | 0.433107, 35.946612
18 | 0.615165, 37.722166
19 | 0.891458, 39.611830
20 | 1.507765, 41.990448
21 | 2.425908, 44.665837
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MS-SSIM.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.080911, 28.398745
14 | 0.160159, 30.914357
15 | 0.306288, 33.294199
16 | 0.454266, 34.433899
17 | 0.603689, 34.074921
18 | 0.746582, 35.197386
19 | 0.933949, 37.481802
20 | 1.138409, 37.472761
21 | 1.642893, 40.178975
22 | 2.288673, 42.459618
23 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/minnen-2020-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2020 (ICIP)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.096514, 30.768091
13 | 0.148632, 32.286996
14 | 0.222172, 33.836108
15 | 0.329241, 35.420478
16 | 0.468026, 36.990152
17 | 0.660635, 38.564633
18 | 0.917032, 40.131405
19 | 1.285604, 41.741072
20 | 1.886344, 43.937265
21 | 2.613850, 45.914066
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_RGB/toderici-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Toderici 2017 (CVPR)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/R'G'B' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.125000, 23.463810
13 | 0.250000, 26.873860
14 | 0.375000, 29.043220
15 | 0.500000, 30.441750
16 | 0.625000, 31.547990
17 | 0.750000, 32.386430
18 | 0.875000, 33.056510
19 | 1.000000, 33.660230
20 | 1.125000, 34.237530
21 | 1.250000, 34.690620
22 | 1.375000, 35.059770
23 | 1.500000, 35.378670
24 | 1.625000, 35.637260
25 | 1.750000, 35.849540
26 | 1.875000, 36.024020
27 | 2.000000, 36.152240
28 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/balle-2017-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.115931, 29.729756
13 | 0.174513, 31.382661
14 | 0.261745, 33.087073
15 | 0.380673, 34.724334
16 | 0.550055, 36.551650
17 | 0.793547, 38.382768
18 | 1.111101, 40.405371
19 | 1.547634, 42.341405
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/balle-2017-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2017 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.087993, 27.738999
13 | 0.143978, 29.607432
14 | 0.230788, 31.525699
15 | 0.366453, 33.474251
16 | 0.541671, 35.125768
17 | 0.835715, 37.098851
18 | 1.255564, 39.168705
19 | 1.806730, 41.328468
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/balle-2018-iclr-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MSE)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.105457, 30.155857
13 | 0.154802, 31.849943
14 | 0.228370, 33.628255
15 | 0.330983, 35.302455
16 | 0.471083, 37.204157
17 | 0.655272, 38.907667
18 | 0.905265, 40.880235
19 | 1.262145, 42.772581
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/balle-2018-iclr-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Ballé 2018 (ICLR, opt. MS-SSIM)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.084147, 28.323724
13 | 0.136033, 30.258354
14 | 0.213825, 32.146528
15 | 0.310643, 33.666585
16 | 0.491282, 35.673115
17 | 0.748023, 37.665572
18 | 1.094067, 39.375885
19 | 1.659701, 41.717402
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/bpg420.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:2:0)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.025125, 26.063739
12 | 0.029395, 26.531558
13 | 0.034544, 27.026001
14 | 0.040463, 27.527222
15 | 0.047224, 28.023212
16 | 0.055196, 28.548342
17 | 0.064515, 29.078645
18 | 0.075126, 29.622084
19 | 0.087715, 30.180369
20 | 0.099400, 30.747134
21 | 0.114569, 31.297123
22 | 0.129411, 31.881074
23 | 0.148728, 32.464938
24 | 0.166732, 33.035111
25 | 0.191210, 33.656883
26 | 0.213960, 34.249673
27 | 0.241976, 34.833106
28 | 0.269519, 35.435336
29 | 0.303815, 36.034205
30 | 0.341726, 36.645439
31 | 0.385042, 37.272629
32 | 0.431623, 37.883622
33 | 0.472215, 38.457729
34 | 0.527420, 39.080175
35 | 0.587486, 39.685077
36 | 0.652251, 40.280246
37 | 0.727601, 40.911865
38 | 0.808301, 41.548875
39 | 0.891799, 42.136518
40 | 0.988839, 42.758578
41 | 1.095368, 43.382845
42 | 1.212718, 44.008223
43 | 1.350947, 44.692220
44 | 1.501673, 45.381934
45 | 1.659002, 46.049590
46 | 1.840322, 46.775838
47 | 2.032363, 47.545531
48 | 2.243398, 48.299913
49 | 2.469170, 49.041330
50 | 2.702498, 49.736465
51 | 2.939118, 50.392237
52 | 3.191646, 51.019688
53 | 3.457013, 51.622206
54 | 3.733283, 52.234705
55 | 4.132374, 53.169080
56 | 4.442658, 53.860895
57 | 4.800078, 54.713368
58 | 5.016470, 55.204155
59 | 5.185366, 55.458964
60 | 5.361169, 55.578423
61 | 5.578033, 55.651098
62 | 5.803359, 55.682254
63 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/bpg444.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "BPG (4:4:4)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | #
8 | # If you have questions or corrections, please contact:
9 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
10 |
11 | 0.025060, 26.053018
12 | 0.029257, 26.521267
13 | 0.034290, 27.016155
14 | 0.040172, 27.512002
15 | 0.046863, 28.010831
16 | 0.054726, 28.533471
17 | 0.063846, 29.060449
18 | 0.074256, 29.600721
19 | 0.086615, 30.161884
20 | 0.100555, 30.728172
21 | 0.115887, 31.281166
22 | 0.133742, 31.870902
23 | 0.153843, 32.454498
24 | 0.176214, 33.035863
25 | 0.202363, 33.652100
26 | 0.231102, 34.256875
27 | 0.261737, 34.834799
28 | 0.297317, 35.449313
29 | 0.336615, 36.051620
30 | 0.379584, 36.659828
31 | 0.430032, 37.291006
32 | 0.484752, 37.906066
33 | 0.542243, 38.493979
34 | 0.609383, 39.117432
35 | 0.682778, 39.725797
36 | 0.762960, 40.322179
37 | 0.857307, 40.960719
38 | 0.959288, 41.595546
39 | 1.066873, 42.185379
40 | 1.193355, 42.811519
41 | 1.333717, 43.439110
42 | 1.489079, 44.064543
43 | 1.673540, 44.752538
44 | 1.874180, 45.446415
45 | 2.087761, 46.120959
46 | 2.337302, 46.865570
47 | 2.606474, 47.646400
48 | 2.907534, 48.427630
49 | 3.234008, 49.203734
50 | 3.588031, 49.954878
51 | 3.955821, 50.662808
52 | 4.367805, 51.363380
53 | 4.812334, 52.052181
54 | 5.304131, 52.774506
55 | 5.975183, 53.864296
56 | 6.606795, 54.750551
57 | 7.335155, 55.875064
58 | 7.786779, 56.561614
59 | 8.188528, 56.973893
60 | 8.606709, 57.208744
61 | 9.020080, 57.337532
62 | 9.455342, 57.390481
63 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/j2k-kdu5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (Kakadu)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the Kakadu implementation of JPEG2000
8 | # More information here: https://kakadusoftware.com.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.100015, 29.646571
14 | 0.199956, 32.160222
15 | 0.249913, 32.972934
16 | 0.299939, 33.657760
17 | 0.400036, 34.829084
18 | 0.500044, 35.807521
19 | 0.600090, 36.679655
20 | 0.699950, 37.449276
21 | 0.750074, 37.799056
22 | 0.800131, 38.138767
23 | 0.900073, 38.739924
24 | 1.000134, 39.309618
25 | 1.099905, 39.833942
26 | 1.200041, 40.282046
27 | 1.249973, 40.506801
28 | 1.300113, 40.734842
29 | 1.400004, 41.157284
30 | 1.499800, 41.536154
31 | 1.599939, 41.925053
32 | 1.699833, 42.319257
33 | 1.749930, 42.516084
34 | 1.799995, 42.696508
35 | 1.900088, 43.055422
36 | 1.999878, 43.402542
37 | 2.249196, 44.298835
38 | 2.494925, 45.108174
39 | 2.739606, 45.898246
40 | 2.983564, 46.709848
41 | 3.223385, 47.433303
42 | 3.454711, 48.124132
43 | 3.680060, 48.754920
44 | 3.894861, 49.362663
45 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/j2k-opj5.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "JPEG 2000 (OpenJPEG)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant QP value.
7 | # 2. These results are based on the OpenJPEG implementation of JPEG2000
8 | # More information here: https://www.openjpeg.org.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.099969, 29.144394
14 | 0.200004, 31.876992
15 | 0.249992, 32.825504
16 | 0.300019, 33.622997
17 | 0.399950, 34.941919
18 | 0.500007, 36.025141
19 | 0.600033, 36.931834
20 | 0.699955, 37.685199
21 | 0.750041, 38.026245
22 | 0.799970, 38.362602
23 | 0.900014, 38.986494
24 | 0.999968, 39.550104
25 | 1.099988, 40.057687
26 | 1.199965, 40.510530
27 | 1.249989, 40.716915
28 | 1.299971, 40.919919
29 | 1.400071, 41.331853
30 | 1.500056, 41.719789
31 | 1.599901, 42.090191
32 | 1.700024, 42.455010
33 | 1.749973, 42.625877
34 | 1.800033, 42.786249
35 | 1.899902, 43.092900
36 | 1.999978, 43.388900
37 | 2.250005, 44.073021
38 | 2.499955, 44.689027
39 | 2.749963, 45.303648
40 | 3.000062, 45.964578
41 | 3.249997, 46.571148
42 | 3.500019, 47.124368
43 | 3.749927, 47.653310
44 | 4.000197, 48.226607
45 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/johnston-2017-cvpr.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Johnston 2018 (CVPR)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.085446, 27.198939
13 | 0.195974, 30.344659
14 | 0.321704, 32.838875
15 | 0.446534, 33.969977
16 | 0.567297, 35.011702
17 | 0.692207, 35.766204
18 | 0.813974, 36.900857
19 | 0.938960, 37.504545
20 | 1.061759, 38.080329
21 | 1.186988, 38.588004
22 | 1.310126, 39.104969
23 | 1.435111, 39.766297
24 | 1.558323, 40.146984
25 | 1.681771, 40.329530
26 | 1.803392, 40.482974
27 | 1.923209, 40.589689
28 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/minnen-2018-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (ICIP)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.097065, 29.692244
13 | 0.147267, 31.352069
14 | 0.219246, 33.051261
15 | 0.319637, 34.651911
16 | 0.459729, 36.499783
17 | 0.666186, 38.338561
18 | 0.933576, 40.255791
19 | 1.298130, 42.151668
20 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/minnen-2018-neurips-no-context.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS - No Context)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # This is a hyperprior architecture that predicts mean & scale parameters for
6 | # the entropy model, unlike (Ballé 2018) that only predicts the scale
7 | # parameter. This model does NOT include context prediction, and it was
8 | # re-trained after the paper was published so the rate-distortion numbers do
9 | # not match the paper (they're slightly better).
10 | #
11 | # Notes:
12 | # 1. Aggregate values were calculated by averaging over a constant
13 | # lambda value.
14 | #
15 | # If you have questions or corrections, please contact:
16 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
17 |
18 | 0.097592, 30.684525
19 | 0.143705, 32.099845
20 | 0.217932, 33.959365
21 | 0.321835, 35.789408
22 | 0.454096, 37.561236
23 | 0.643380, 39.321207
24 | 0.894995, 41.189046
25 | 1.254544, 42.990344
26 | 1.721664, 44.851233
27 | 2.312102, 46.634363
28 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/minnen-2018-neurips-opt-mse.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MSE.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.066339, 29.777202
14 | 0.126793, 32.033807
15 | 0.198055, 33.726933
16 | 0.300435, 35.537657
17 | 0.433107, 37.251376
18 | 0.615165, 39.197575
19 | 0.891458, 41.241810
20 | 1.507765, 43.867296
21 | 2.425908, 46.926605
22 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/minnen-2018-neurips-opt-msssim.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2018 (NeurIPS)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | # 2. This model was optimized for RGB MS-SSIM.
9 | #
10 | # If you have questions or corrections, please contact:
11 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
12 |
13 | 0.080911, 29.202483
14 | 0.160159, 31.800084
15 | 0.306288, 34.285628
16 | 0.454266, 35.484328
17 | 0.603689, 34.855820
18 | 0.746582, 36.111850
19 | 0.933949, 38.659114
20 | 1.138409, 38.393590
21 | 1.642893, 41.480828
22 | 2.288673, 43.954690
23 |
--------------------------------------------------------------------------------
/results/image_compression/tecnick/PSNR_sRGB_Y/minnen-2020-icip.txt:
--------------------------------------------------------------------------------
1 | # Aggregate rate-distortion data for "Minnen 2020 (ICIP)" on tecnick.
2 | # The first column contains bits per pixel (bpp) values.
3 | # The second column contains PSNR/sRGB/Y' values.
4 | #
5 | # Notes:
6 | # 1. Aggregate values were calculated by averaging over a constant
7 | # lambda value.
8 | #
9 | # If you have questions or corrections, please contact:
10 | # David Minnen (dminnen@google.com) or George Toderici (gtoderici@google.com).
11 |
12 | 0.096514, 31.628286
13 | 0.148632, 33.265607
14 | 0.222172, 34.920533
15 | 0.329241, 36.627327
16 | 0.468026, 38.325688
17 | 0.660635, 40.057978
18 | 0.917032, 41.765257
19 | 1.285604, 43.542740
20 | 1.886344, 45.772857
21 | 2.613850, 47.924666
22 |
--------------------------------------------------------------------------------
/tensorflow_compression/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2018 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Data compression in TensorFlow."""
16 |
17 | from tensorflow_compression.python import distributions
18 | from tensorflow_compression.python import entropy_models
19 | from tensorflow_compression.python import layers
20 | from tensorflow_compression.python import ops
21 |
22 | # pylint: disable=wildcard-import
23 | from tensorflow_compression.python.datasets.y4m_dataset import *
24 | from tensorflow_compression.python.distributions.deep_factorized import *
25 | from tensorflow_compression.python.distributions.helpers import *
26 | from tensorflow_compression.python.distributions.round_adapters import *
27 | from tensorflow_compression.python.distributions.uniform_noise import *
28 | from tensorflow_compression.python.entropy_models.continuous_batched import *
29 | from tensorflow_compression.python.entropy_models.continuous_indexed import *
30 | from tensorflow_compression.python.entropy_models.power_law import *
31 | from tensorflow_compression.python.entropy_models.universal import *
32 | from tensorflow_compression.python.layers.gdn import *
33 | from tensorflow_compression.python.layers.initializers import *
34 | from tensorflow_compression.python.layers.parameters import *
35 | from tensorflow_compression.python.layers.signal_conv import *
36 | from tensorflow_compression.python.layers.soft_round import *
37 | from tensorflow_compression.python.ops.gen_ops import *
38 | from tensorflow_compression.python.ops.math_ops import *
39 | from tensorflow_compression.python.ops.padding_ops import *
40 | from tensorflow_compression.python.ops.round_ops import *
41 | from tensorflow_compression.python.util.packed_tensors import *
42 | # pylint: enable=wildcard-import
43 |
--------------------------------------------------------------------------------
/tensorflow_compression/all_tests.py:
--------------------------------------------------------------------------------
1 | # Copyright 2019 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """All Python tests for tensorflow_compression.
16 |
17 | This is a convenience file to be included in the pip package.
18 | """
19 |
20 | import tensorflow as tf
21 |
22 | # pylint: disable=wildcard-import
23 | from tensorflow_compression.python.datasets.y4m_dataset_test import *
24 |
25 | from tensorflow_compression.python.distributions.deep_factorized_test import *
26 | from tensorflow_compression.python.distributions.helpers_test import *
27 | from tensorflow_compression.python.distributions.round_adapters_test import *
28 | from tensorflow_compression.python.distributions.uniform_noise_test import *
29 |
30 | from tensorflow_compression.python.entropy_models.continuous_batched_test import *
31 | from tensorflow_compression.python.entropy_models.continuous_indexed_test import *
32 | from tensorflow_compression.python.entropy_models.power_law_test import *
33 | from tensorflow_compression.python.entropy_models.universal_test import *
34 |
35 | from tensorflow_compression.python.layers.gdn_test import *
36 | from tensorflow_compression.python.layers.initializers_test import *
37 | from tensorflow_compression.python.layers.parameters_test import *
38 | from tensorflow_compression.python.layers.signal_conv_test import *
39 | from tensorflow_compression.python.layers.soft_round_test import *
40 |
41 | from tensorflow_compression.python.ops.math_ops_test import *
42 | from tensorflow_compression.python.ops.padding_ops_test import *
43 | from tensorflow_compression.python.ops.range_coding_ops_test import *
44 | from tensorflow_compression.python.ops.round_ops_test import *
45 |
46 | from tensorflow_compression.python.util.packed_tensors_test import *
47 | # pylint: enable=wildcard-import
48 |
49 |
50 | if __name__ == "__main__":
51 | tf.test.main()
52 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/BUILD:
--------------------------------------------------------------------------------
1 | package(default_visibility = ["//visibility:public"])
2 |
3 | licenses(["notice"]) # Apache 2.0
4 |
5 | cc_binary(
6 | name = "libtensorflow_compression.so",
7 | srcs = glob(
8 | include = [
9 | "kernels/*.h",
10 | "kernels/*.cc",
11 | "lib/*.h",
12 | "lib/*.cc",
13 | "ops/*.cc",
14 | ],
15 | exclude = [
16 | "**/*_test.cc",
17 | ],
18 | ),
19 | copts = [
20 | "-pthread",
21 | "-std=c++17",
22 | ],
23 | linkshared = 1,
24 | visibility = ["//visibility:public"],
25 | deps = [
26 | # When building this binary together with TensorFlow, i.e., when using
27 | # manually built TensorFlow, add the TensorFlow repo in WORKSPACE file
28 | # as, say "org_tensorflow" and replace the deps with
29 | # "@org_tensorflow//tensorflow/core:framework",
30 | # "@org_tensorflow//tensorflow/core:lib",
31 | "@tensorflow_pip//:libtensorflow_framework",
32 | ],
33 | )
34 |
35 | cc_library(
36 | name = "bit_coder",
37 | srcs = ["lib/bit_coder.cc"],
38 | hdrs = ["lib/bit_coder.h"],
39 | deps = [
40 | "@com_google_absl//absl/base:config",
41 | "@com_google_absl//absl/status",
42 | "@com_google_absl//absl/status:statusor",
43 | "@com_google_absl//absl/strings",
44 | ],
45 | )
46 |
47 | cc_library(
48 | name = "run_length_gamma_kernels",
49 | srcs = [
50 | "kernels/run_length_gamma_kernels.cc",
51 | "ops/run_length_gamma_ops.cc",
52 | ],
53 | linkstatic = 1,
54 | deps = [
55 | ":bit_coder",
56 | "@com_google_absl//absl/types:span",
57 | "@org_tensorflow//tensorflow/core:framework",
58 | "@org_tensorflow//tensorflow/core:framework_lite",
59 | "@org_tensorflow//tensorflow/core:lib",
60 | "@org_tensorflow//tensorflow/core:tflite_portable_logging",
61 | "@org_tensorflow//tensorflow/core/platform:status",
62 | ],
63 | alwayslink = 1,
64 | )
65 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/kernels/range_coder_kernels.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2021 Google LLC. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #ifndef TENSORFLOW_COMPRESSION_CC_KERNELS_RANGE_CODER_KERNELS_H_
17 | #define TENSORFLOW_COMPRESSION_CC_KERNELS_RANGE_CODER_KERNELS_H_
18 |
19 | #include
20 | #include
21 |
22 | #include "tensorflow/core/framework/tensor_types.h"
23 | #include "tensorflow/core/framework/op_kernel.h"
24 | #include "tensorflow/core/lib/core/status.h"
25 |
26 | namespace tensorflow_compression {
27 |
28 | class EntropyEncoderInterface {
29 | public:
30 | virtual ~EntropyEncoderInterface() = default;
31 | virtual tensorflow::Status Encode(
32 | tensorflow::OpKernelContext* context,
33 | tensorflow::TTypes::ConstMatrix index,
34 | tensorflow::TTypes::ConstMatrix value) = 0;
35 | virtual tensorflow::Status Finalize(tensorflow::OpKernelContext*) = 0;
36 | };
37 |
38 | class EntropyDecoderInterface {
39 | public:
40 | virtual ~EntropyDecoderInterface() = default;
41 | virtual tensorflow::Status Decode(
42 | tensorflow::OpKernelContext* context,
43 | tensorflow::TTypes::ConstMatrix index,
44 | tensorflow::TTypes::Matrix output) = 0;
45 | virtual tensorflow::Status Finalize(tensorflow::OpKernelContext*) = 0;
46 | };
47 |
48 | } // namespace tensorflow_compression
49 |
50 | #endif // TENSORFLOW_COMPRESSION_CC_KERNELS_RANGE_CODER_KERNELS_H_
51 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/kernels/range_coding_kernels_util.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 Google LLC. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | // DEPRECATED. Use new implementation of range coders in range_coder_kernels.cc.
17 |
18 | #ifndef TENSORFLOW_COMPRESSION_CC_KERNELS_RANGE_CODING_KERNELS_UTIL_H_
19 | #define TENSORFLOW_COMPRESSION_CC_KERNELS_RANGE_CODING_KERNELS_UTIL_H_
20 |
21 | #include
22 | #include
23 |
24 | #include "tensorflow/core/framework/tensor_shape.h"
25 | #include "tensorflow/core/lib/core/status.h"
26 | #include "tensorflow/core/platform/types.h"
27 |
28 | namespace tensorflow_compression {
29 |
30 | // The shapes are simplified to reduce indexing cost.
31 | tensorflow::Status MergeAxes(
32 | const tensorflow::TensorShape& broadcast_shape,
33 | const tensorflow::TensorShape& storage_shape,
34 | std::vector* merged_broadcast_shape_pointer,
35 | std::vector* merged_storage_shape_pointer);
36 |
37 | } // namespace tensorflow_compression
38 |
39 | #endif // TENSORFLOW_COMPRESSION_CC_KERNELS_RANGE_CODING_KERNELS_UTIL_H_
40 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/lib/bit_coder.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2022 Google LLC. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef THIRD_PARTY_TENSORFLOW_COMPRESSION_CC_LIB_BIT_CODER_H_
16 | #define THIRD_PARTY_TENSORFLOW_COMPRESSION_CC_LIB_BIT_CODER_H_
17 |
18 | #include
19 | #include
20 | #include
21 | #include
22 |
23 | #include "absl/status/statusor.h"
24 | #include "absl/strings/string_view.h"
25 |
26 | // TODO(nicolemitchell) inline commonly used methods for performance reasons.
27 | namespace tensorflow_compression {
28 |
29 | class BitWriter {
30 | public:
31 | BitWriter();
32 | void WriteBits(uint32_t count, uint64_t bits);
33 | void WriteOneBit(uint64_t bit);
34 | void WriteGamma(int32_t value);
35 | void WriteRice(int32_t value, const int parameter);
36 | absl::string_view GetData();
37 |
38 | // WriteGamma() encodes integers to 2n - 1 bits, where n is the bit width of
39 | // the integer. For int32_t (> 0), n <= 31.
40 | static constexpr size_t kMaxGammaBits = 61;
41 | // After each WriteBits(), the buffer contains a maximum of 7 bits. So we can
42 | // safely put 57 more bits to fill the buffer.
43 | static constexpr size_t kMaxBitsPerCall = 57;
44 |
45 | private:
46 | std::string data_;
47 | std::string::size_type next_index_;
48 | size_t bits_in_buffer_;
49 | uint64_t buffer_;
50 | };
51 |
52 | class BitReader {
53 | public:
54 | BitReader(const absl::string_view data);
55 | absl::StatusOr ReadBits(size_t count);
56 | absl::StatusOr ReadOneBit();
57 | absl::StatusOr ReadGamma();
58 | absl::StatusOr ReadRice(const int parameter);
59 |
60 | private:
61 | void Refill();
62 |
63 | const char* next_byte_;
64 | const char* end_byte_;
65 | size_t bits_in_buffer_;
66 | uint64_t buffer_;
67 | };
68 | } // namespace tensorflow_compression
69 |
70 | #endif // THIRD_PARTY_TENSORFLOW_COMPRESSION_CC_LIB_BIT_CODER_H_
71 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/ops/pmf_to_cdf_ops.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 Google LLC. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #include "tensorflow/core/framework/common_shape_fns.h"
17 | #include "tensorflow/core/framework/op.h"
18 | #include "tensorflow/core/framework/shape_inference.h"
19 | #include "tensorflow/core/lib/core/status.h"
20 |
21 | namespace tensorflow_compression {
22 | namespace {
23 | using tensorflow::Status;
24 | using tensorflow::shape_inference::DimensionHandle;
25 | using tensorflow::shape_inference::InferenceContext;
26 | using tensorflow::shape_inference::ShapeHandle;
27 |
28 | REGISTER_OP("PmfToQuantizedCdf")
29 | .Input("pmf: float")
30 | .Output("cdf: int32")
31 | .Attr("precision: int >= 1")
32 | .SetShapeFn([](InferenceContext* c) {
33 | ShapeHandle in;
34 | TF_RETURN_IF_ERROR(c->WithRankAtLeast(c->input(0), 1, &in));
35 | DimensionHandle last;
36 | TF_RETURN_IF_ERROR(c->Add(c->Dim(in, -1), 1, &last));
37 | ShapeHandle out;
38 | TF_RETURN_IF_ERROR(c->ReplaceDim(in, -1, last, &out));
39 | c->set_output(0, out);
40 | return absl::OkStatus();
41 | })
42 | .Doc(R"doc(
43 | Converts a PMF into a quantized CDF for range coding.
44 |
45 | This op uses floating-point operations internally. Therefore the quantized
46 | output may not be consistent across multiple platforms. For entropy encoders and
47 | decoders to have the same quantized CDF on different platforms, the quantized
48 | CDF should be produced once and saved, then the saved quantized CDF should be
49 | used everywhere.
50 |
51 | After quantization, if PMF does not sum to 2^precision, then some values of PMF
52 | are increased or decreased to adjust the sum to equal to 2^precision.
53 |
54 | Note that the input PMF is pre-quantization. The input PMF is not normalized
55 | by this op prior to quantization. Therefore the user is responsible for
56 | normalizing PMF if necessary.
57 | )doc");
58 |
59 | } // namespace
60 | } // namespace tensorflow_compression
61 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/ops/quantization_ops.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2022 Google LLC. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #include "tensorflow/core/framework/common_shape_fns.h"
16 | #include "tensorflow/core/framework/op.h"
17 |
18 | namespace tensorflow_compression {
19 | namespace {
20 |
21 | REGISTER_OP("StochasticRound")
22 | .Attr("T: {bfloat16, float16, float32}")
23 | .Input("inputs: T")
24 | .Input("step_size: float32")
25 | .Input("seed: int32")
26 | .Output("outputs: int32")
27 | .SetShapeFn(tensorflow::shape_inference::UnchangedShape)
28 | .Doc(R"doc(
29 | Rounds `inputs / step_size` stochastically.
30 |
31 | This op computes the elementwise function:
32 |
33 | output = {
34 | floor(x) with prob. p = x - floor(x)
35 | floor(x) + 1 with prob. 1 - p
36 | }
37 | where x = input / step_size.
38 |
39 | inputs: Floating point tensor to be rounded.
40 | step_size: Scalar tensor. Step size for rounding.
41 | seed: Arbitrary shape tensor. Seed for random number generator. If it has no
42 | elements, seeding is attempted from system time.
43 | outputs: Integer tensor of same shape as `inputs`, containing rounded values.
44 | )doc");
45 |
46 | } // namespace
47 | } // namespace tensorflow_compression
48 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/ops/run_length_gamma_ops.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2022 Google LLC. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #include "tensorflow/core/framework/common_shape_fns.h"
16 | #include "tensorflow/core/framework/op.h"
17 | #include "tensorflow/core/framework/shape_inference.h"
18 | #include "tensorflow/core/lib/core/status.h"
19 |
20 | namespace tensorflow_compression {
21 | namespace {
22 | namespace shape_inference = tensorflow::shape_inference;
23 | using tensorflow::shape_inference::InferenceContext;
24 | using tensorflow::shape_inference::ShapeHandle;
25 |
26 | REGISTER_OP("RunLengthGammaEncode")
27 | .Input("data: int32")
28 | .Output("code: string")
29 | .SetShapeFn(shape_inference::ScalarShape)
30 | .Doc(R"doc(
31 | Encodes `data` using run-length and Elias gamma coding.
32 |
33 | data: An int32 tensor of values to be encoded.
34 | code: An encoded scalar string.
35 | )doc");
36 |
37 | REGISTER_OP("RunLengthGammaDecode")
38 | .Input("code: string")
39 | .Input("shape: int32")
40 | .Output("data: int32")
41 | .SetShapeFn([](InferenceContext* c) {
42 | ShapeHandle out;
43 | TF_RETURN_IF_ERROR(c->MakeShapeFromShapeTensor(1, &out));
44 | c->set_output(0, out);
45 | return absl::OkStatus();
46 | })
47 | .Doc(R"doc(
48 | Decodes `data` using run-length and Elias gamma coding.
49 |
50 | This is the inverse operation to `RunLengthGammaEncode`. The shape of the tensor
51 | that was encoded must be known by the caller.
52 |
53 | code: An encoded scalar string as returned by `RunLengthGammaEncode`.
54 | shape: An int32 vector giving the shape of the encoded data.
55 | data: An int32 tensor of decoded values, with shape `shape`.
56 | )doc");
57 |
58 | } // namespace
59 | } // namespace tensorflow_compression
60 |
--------------------------------------------------------------------------------
/tensorflow_compression/cc/tflite/range_coder_kernels.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2022 Google LLC. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #ifndef TENSORFLOW_COMPRESSION_CC_KERNELS_TFLITE_KERNELS_H_
17 | #define TENSORFLOW_COMPRESSION_CC_KERNELS_TFLITE_KERNELS_H_
18 |
19 | #include "tensorflow/lite/kernels/register.h"
20 |
21 | namespace tensorflow_compression {
22 |
23 | void RegisterRangeCoderOps(tflite::ops::builtin::BuiltinOpResolver* resolver);
24 |
25 | } // namespace tensorflow_compression
26 |
27 | #endif // TENSORFLOW_COMPRESSION_CC_KERNELS_TFLITE_KERNELS_H_
28 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2023 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 |
16 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/datasets/BUILD:
--------------------------------------------------------------------------------
1 | package(
2 | default_visibility = ["//visibility:public"],
3 | )
4 |
5 | licenses(["notice"])
6 |
7 | py_library(
8 | name = "datasets",
9 | srcs = ["__init__.py"],
10 | deps = [
11 | ":y4m_dataset",
12 | ],
13 | )
14 |
15 | py_library(
16 | name = "y4m_dataset",
17 | srcs = ["y4m_dataset.py"],
18 | deps = ["//tensorflow_compression/python/ops:gen_ops"],
19 | )
20 |
21 | py_test(
22 | name = "y4m_dataset_test",
23 | srcs = ["y4m_dataset_test.py"],
24 | deps = [":y4m_dataset"],
25 | )
26 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/datasets/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2022 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Data loaders, based on `tf.data.Dataset`."""
16 |
17 | from tensorflow_compression.python.datasets.y4m_dataset import *
18 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/datasets/y4m_dataset_test.py:
--------------------------------------------------------------------------------
1 | # Copyright 2021 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Tests of Y4MDataset class."""
16 |
17 | import tensorflow as tf
18 | from tensorflow_compression.python.datasets import y4m_dataset
19 |
20 |
21 | def shaped_uint8(string, shape):
22 | vector = tf.constant([int(c) for c in string], dtype=tf.uint8)
23 | return tf.reshape(vector, shape)
24 |
25 |
26 | class Y4MDatasetTest(tf.test.TestCase):
27 |
28 | def setUp(self):
29 | super().setUp()
30 | self.tempfile_1 = self.create_tempfile(
31 | content=b"YUV4MPEG2 W4 H2 F30:1 Ip A0:0 C420jpeg\nFRAME\nABCDEFGHIJKL")
32 | self.tempfile_2 = self.create_tempfile(
33 | content=b"YUV4MPEG2 C444 W1 H1\nFRAME\nabcFRAME\ndef")
34 |
35 | def test_dataset_yields_correct_sequence(self):
36 | ds = y4m_dataset.Y4MDataset(
37 | [self.tempfile_1.full_path, self.tempfile_2.full_path])
38 | it = iter(ds)
39 |
40 | y, cbcr = next(it)
41 | self.assertEqual(tf.uint8, y.dtype)
42 | self.assertEqual(tf.uint8, cbcr.dtype)
43 | cb, cr = tf.unstack(cbcr, axis=-1)
44 | self.assertAllEqual(shaped_uint8(b"ABCDEFGH", (2, 4, 1)), y)
45 | self.assertAllEqual(shaped_uint8(b"IJ", (1, 2)), cb)
46 | self.assertAllEqual(shaped_uint8(b"KL", (1, 2)), cr)
47 |
48 | y, cbcr = next(it)
49 | self.assertEqual(tf.uint8, y.dtype)
50 | self.assertEqual(tf.uint8, cbcr.dtype)
51 | self.assertAllEqual(shaped_uint8(b"a", (1, 1, 1)), y)
52 | self.assertAllEqual(shaped_uint8(b"bc", (1, 1, 2)), cbcr)
53 |
54 | y, cbcr = next(it)
55 | self.assertEqual(tf.uint8, y.dtype)
56 | self.assertEqual(tf.uint8, cbcr.dtype)
57 | self.assertAllEqual(shaped_uint8(b"d", (1, 1, 1)), y)
58 | self.assertAllEqual(shaped_uint8(b"ef", (1, 1, 2)), cbcr)
59 |
60 | with self.assertRaises(StopIteration):
61 | next(it)
62 |
63 |
64 | if __name__ == "__main__":
65 | tf.test.main()
66 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/distributions/BUILD:
--------------------------------------------------------------------------------
1 | package(
2 | default_visibility = ["//visibility:public"],
3 | )
4 |
5 | licenses(["notice"])
6 |
7 | py_library(
8 | name = "distributions",
9 | srcs = ["__init__.py"],
10 | deps = [
11 | ":deep_factorized",
12 | ":helpers",
13 | ":round_adapters",
14 | ":uniform_noise",
15 | ],
16 | )
17 |
18 | py_library(
19 | name = "deep_factorized",
20 | srcs = ["deep_factorized.py"],
21 | deps = [
22 | ":helpers",
23 | ":uniform_noise",
24 | ],
25 | )
26 |
27 | py_test(
28 | name = "deep_factorized_test",
29 | srcs = ["deep_factorized_test.py"],
30 | deps = [
31 | ":deep_factorized",
32 | ":helpers",
33 | ],
34 | )
35 |
36 | py_library(
37 | name = "helpers",
38 | srcs = ["helpers.py"],
39 | )
40 |
41 | py_test(
42 | name = "helpers_test",
43 | srcs = ["helpers_test.py"],
44 | deps = [
45 | ":deep_factorized",
46 | ":helpers",
47 | ],
48 | )
49 |
50 | py_library(
51 | name = "uniform_noise",
52 | srcs = ["uniform_noise.py"],
53 | deps = [":helpers"],
54 | )
55 |
56 | py_test(
57 | name = "uniform_noise_test",
58 | srcs = ["uniform_noise_test.py"],
59 | deps = [
60 | ":helpers",
61 | ":uniform_noise",
62 | ],
63 | )
64 |
65 | py_library(
66 | name = "round_adapters",
67 | srcs = ["round_adapters.py"],
68 | deps = [
69 | ":deep_factorized",
70 | ":helpers",
71 | ":uniform_noise",
72 | "//tensorflow_compression/python/ops:round_ops",
73 | ],
74 | )
75 |
76 | py_test(
77 | name = "round_adapters_test",
78 | srcs = ["round_adapters_test.py"],
79 | deps = [
80 | ":deep_factorized",
81 | ":round_adapters",
82 | ],
83 | )
84 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/distributions/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2022 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Distributions, based on `tfp.distributions.Distribution`."""
16 |
17 | from tensorflow_compression.python.distributions.deep_factorized import *
18 | from tensorflow_compression.python.distributions.helpers import *
19 | from tensorflow_compression.python.distributions.round_adapters import *
20 | from tensorflow_compression.python.distributions.uniform_noise import *
21 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/entropy_models/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2022 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Entropy models."""
16 |
17 | from tensorflow_compression.python.entropy_models.continuous_batched import *
18 | from tensorflow_compression.python.entropy_models.continuous_indexed import *
19 | from tensorflow_compression.python.entropy_models.laplace import *
20 | from tensorflow_compression.python.entropy_models.power_law import *
21 | from tensorflow_compression.python.entropy_models.universal import *
22 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/layers/BUILD:
--------------------------------------------------------------------------------
1 | package(
2 | default_visibility = ["//visibility:public"],
3 | )
4 |
5 | licenses(["notice"])
6 |
7 | py_library(
8 | name = "layers",
9 | srcs = ["__init__.py"],
10 | deps = [
11 | ":gdn",
12 | ":initializers",
13 | ":parameters",
14 | ":signal_conv",
15 | ":soft_round",
16 | ],
17 | )
18 |
19 | py_library(
20 | name = "gdn",
21 | srcs = ["gdn.py"],
22 | deps = [":parameters"],
23 | )
24 |
25 | py_test(
26 | name = "gdn_test",
27 | srcs = ["gdn_test.py"],
28 | deps = [
29 | ":gdn",
30 | ":parameters",
31 | ],
32 | )
33 |
34 | py_library(
35 | name = "initializers",
36 | srcs = ["initializers.py"],
37 | )
38 |
39 | py_test(
40 | name = "initializers_test",
41 | srcs = ["initializers_test.py"],
42 | deps = [":initializers"],
43 | )
44 |
45 | py_library(
46 | name = "parameters",
47 | srcs = ["parameters.py"],
48 | deps = ["//tensorflow_compression/python/ops:math_ops"],
49 | )
50 |
51 | py_test(
52 | name = "parameters_test",
53 | srcs = ["parameters_test.py"],
54 | deps = [":parameters"],
55 | )
56 |
57 | py_library(
58 | name = "signal_conv",
59 | srcs = ["signal_conv.py"],
60 | deps = [
61 | ":parameters",
62 | "//tensorflow_compression/python/ops:padding_ops",
63 | ],
64 | )
65 |
66 | py_test(
67 | name = "signal_conv_test",
68 | timeout = "long",
69 | srcs = ["signal_conv_test.py"],
70 | shard_count = 3,
71 | deps = [
72 | ":initializers",
73 | ":parameters",
74 | ":signal_conv",
75 | ],
76 | )
77 |
78 | py_library(
79 | name = "soft_round",
80 | srcs = ["soft_round.py"],
81 | deps = ["//tensorflow_compression/python/ops:round_ops"],
82 | )
83 |
84 | py_test(
85 | name = "soft_round_test",
86 | srcs = ["soft_round_test.py"],
87 | deps = [
88 | ":soft_round",
89 | "//tensorflow_compression/python/ops:round_ops",
90 | ],
91 | )
92 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/layers/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2022 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Layers, based on `tf.keras.layers.Layer`."""
16 |
17 | from tensorflow_compression.python.layers.gdn import *
18 | from tensorflow_compression.python.layers.initializers import *
19 | from tensorflow_compression.python.layers.parameters import *
20 | from tensorflow_compression.python.layers.signal_conv import *
21 | from tensorflow_compression.python.layers.soft_round import *
22 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/layers/initializers.py:
--------------------------------------------------------------------------------
1 | # Copyright 2018 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Initializers for layer classes."""
16 |
17 | import tensorflow as tf
18 |
19 |
20 | __all__ = [
21 | "IdentityInitializer",
22 | ]
23 |
24 |
25 | class IdentityInitializer(tf.keras.initializers.Initializer):
26 | """Initialize to the identity kernel with the given shape.
27 |
28 | This creates an n-D kernel suitable for `SignalConv*` with the requested
29 | support that produces an output identical to its input (except possibly at the
30 | signal boundaries).
31 |
32 | Note: The identity initializer in `tf.keras.initializers` is only suitable for
33 | matrices, not for n-D convolution kernels (i.e., no spatial support).
34 | """
35 |
36 | def __init__(self, gain=1):
37 | super().__init__()
38 | self.gain = gain
39 |
40 | def __call__(self, shape, dtype=None, **kwargs):
41 | del kwargs # unused
42 | shape = tf.TensorShape(shape)
43 | if shape.rank <= 2:
44 | raise ValueError(f"shape must be at least rank 3, got {shape}.")
45 |
46 | support = shape[:-2] + (1, 1)
47 | indices = [[s // 2 for s in support]]
48 | updates = tf.constant([self.gain], dtype=dtype)
49 | spatial_kernel = tf.scatter_nd(indices, updates, support)
50 | return spatial_kernel * tf.eye(shape[-2], shape[-1], dtype=dtype)
51 |
52 | def get_config(self):
53 | config = super().get_config()
54 | config.update(gain=self.gain)
55 | return config
56 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/layers/initializers_test.py:
--------------------------------------------------------------------------------
1 | # Copyright 2021 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Tests of initializers."""
16 |
17 | import tensorflow as tf
18 | from tensorflow_compression.python.layers import initializers
19 |
20 |
21 | class InitializerTest(tf.test.TestCase):
22 |
23 | def test_creates_1d_kernel(self):
24 | expected_kernel = tf.transpose([
25 | [[0, 3, 0], [0, 0, 0], [0, 0, 0]],
26 | [[0, 0, 0], [0, 3, 0], [0, 0, 0]],
27 | [[0, 0, 0], [0, 0, 0], [0, 3, 0]],
28 | [[0, 0, 0], [0, 0, 0], [0, 0, 0]],
29 | ], (2, 0, 1))
30 | kernel = initializers.IdentityInitializer(gain=3)((3, 4, 3), dtype=tf.int32)
31 | self.assertAllEqual(expected_kernel, kernel)
32 |
33 | def test_creates_2d_kernel(self):
34 | expected_kernel = tf.constant([
35 | [0, 0, 0, 0, 0],
36 | [0, 0, 0, 0, 0],
37 | [0, 0, 1, 0, 0],
38 | [0, 0, 0, 0, 0],
39 | ])[:, :, None, None]
40 | kernel = initializers.IdentityInitializer()((4, 5, 1, 1), dtype=tf.float32)
41 | self.assertAllEqual(expected_kernel, kernel)
42 |
43 | def test_fails_for_invalid_shape(self):
44 | with self.assertRaises(ValueError):
45 | initializers.IdentityInitializer()((2, 3), dtype=tf.float32)
46 |
47 |
48 | if __name__ == "__main__":
49 | tf.test.main()
50 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/layers/soft_round.py:
--------------------------------------------------------------------------------
1 | # Copyright 2020 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Layers for soft rounding."""
16 |
17 | import tensorflow as tf
18 | from tensorflow_compression.python.ops import round_ops
19 |
20 |
21 | __all__ = [
22 | "SoftRound",
23 | "SoftRoundConditionalMean",
24 | ]
25 |
26 |
27 | class SoftRound(tf.keras.layers.Layer):
28 | """Applies a differentiable approximation of rounding."""
29 |
30 | def __init__(self, alpha=5.0, inverse=False, **kwargs):
31 | super().__init__(**kwargs)
32 | self._alpha = alpha
33 | if inverse:
34 | self._transform = round_ops.soft_round_inverse
35 | else:
36 | self._transform = round_ops.soft_round
37 |
38 | def call(self, inputs):
39 | return self._transform(inputs, self._alpha)
40 |
41 | def compute_output_shape(self, input_shape):
42 | return input_shape
43 |
44 |
45 | class SoftRoundConditionalMean(tf.keras.layers.Layer):
46 | """Conditional mean of inputs given noisy soft rounded values."""
47 |
48 | def __init__(self, alpha=5.0, **kwargs):
49 | super().__init__(**kwargs)
50 | self._alpha = alpha
51 |
52 | def call(self, inputs):
53 | return round_ops.soft_round_conditional_mean(inputs, alpha=self._alpha)
54 |
55 | def compute_output_shape(self, input_shape):
56 | return input_shape
57 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/layers/soft_round_test.py:
--------------------------------------------------------------------------------
1 | # Copyright 2020 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Tests for soft round layers."""
16 |
17 | import tensorflow as tf
18 | from tensorflow_compression.python.layers import soft_round
19 | from tensorflow_compression.python.ops import round_ops
20 |
21 |
22 | class SoftRoundTest(tf.test.TestCase):
23 |
24 | def test_soft_round_layer_soft_rounds(self):
25 | alpha = 5.0
26 | layer = soft_round.SoftRound(alpha=alpha)
27 | x = tf.linspace(-5.0, 5.0, num=50)
28 | y = layer(x)
29 | self.assertAllClose(y, round_ops.soft_round(x, alpha=alpha))
30 |
31 | def test_soft_round_layer_inverse_inverse_soft_rounds(self):
32 | alpha = 5.0
33 | layer = soft_round.SoftRound(alpha=alpha, inverse=True)
34 | x = tf.linspace(-5.0, 5.0, num=50)
35 | y = layer(x)
36 | self.assertAllClose(y, round_ops.soft_round_inverse(x, alpha=alpha))
37 |
38 | def test_conditional_mean_takes_conditional_mean(self):
39 | alpha = 5.0
40 | layer = soft_round.SoftRoundConditionalMean(alpha=alpha)
41 | x = tf.linspace(-5.0, 5.0, num=50)
42 | y = layer(x)
43 | self.assertAllClose(
44 | y, round_ops.soft_round_conditional_mean(x, alpha=alpha))
45 |
46 |
47 | if __name__ == "__main__":
48 | tf.test.main()
49 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/ops/BUILD:
--------------------------------------------------------------------------------
1 | package(
2 | default_visibility = ["//visibility:public"],
3 | )
4 |
5 | licenses(["notice"])
6 |
7 | py_library(
8 | name = "ops",
9 | srcs = ["__init__.py"],
10 | deps = [
11 | ":gen_ops",
12 | ":math_ops",
13 | ":padding_ops",
14 | ":round_ops",
15 | ],
16 | )
17 |
18 | py_library(
19 | name = "gen_ops",
20 | srcs = ["gen_ops.py"],
21 | data = ["//tensorflow_compression/cc:libtensorflow_compression.so"],
22 | )
23 |
24 | py_library(
25 | name = "math_ops",
26 | srcs = ["math_ops.py"],
27 | )
28 |
29 | py_test(
30 | name = "math_ops_test",
31 | srcs = ["math_ops_test.py"],
32 | deps = [
33 | ":math_ops",
34 | ":round_ops",
35 | ],
36 | )
37 |
38 | py_library(
39 | name = "padding_ops",
40 | srcs = ["padding_ops.py"],
41 | )
42 |
43 | py_test(
44 | name = "padding_ops_test",
45 | srcs = ["padding_ops_test.py"],
46 | deps = [":padding_ops"],
47 | )
48 |
49 | py_test(
50 | name = "range_coding_ops_test",
51 | srcs = ["range_coding_ops_test.py"],
52 | deps = [":gen_ops"],
53 | )
54 |
55 | py_library(
56 | name = "round_ops",
57 | srcs = ["round_ops.py"],
58 | )
59 |
60 | py_test(
61 | name = "round_ops_test",
62 | srcs = ["round_ops_test.py"],
63 | deps = [":round_ops"],
64 | )
65 |
66 | py_test(
67 | name = "quantization_ops_test",
68 | srcs = ["quantization_ops_test.py"],
69 | deps = [":gen_ops"],
70 | )
71 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/ops/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2020 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """TensorFlow operations and functions."""
16 |
17 | from tensorflow_compression.python.ops.gen_ops import *
18 | from tensorflow_compression.python.ops.math_ops import *
19 | from tensorflow_compression.python.ops.padding_ops import *
20 | from tensorflow_compression.python.ops.round_ops import *
21 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/ops/gen_ops.py:
--------------------------------------------------------------------------------
1 | # Copyright 2018 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Generated operations from C++."""
16 |
17 | from tensorflow.python.framework import load_library
18 | from tensorflow.python.platform import resource_loader
19 |
20 | ops = load_library.load_op_library(resource_loader.get_path_to_datafile(
21 | "../../cc/libtensorflow_compression.so"))
22 | globals().update({n: getattr(ops, n) for n in dir(ops)})
23 |
24 | # pylint:disable=undefined-all-variable
25 | __all__ = [
26 | "create_range_encoder",
27 | "create_range_decoder",
28 | "entropy_decode_channel",
29 | "entropy_decode_finalize",
30 | "entropy_decode_index",
31 | "entropy_encode_channel",
32 | "entropy_encode_finalize",
33 | "entropy_encode_index",
34 | "pmf_to_quantized_cdf",
35 | "run_length_decode",
36 | "run_length_encode",
37 | "run_length_gamma_decode", # Deprecated.
38 | "run_length_gamma_encode", # Deprecated.
39 | "stochastic_round",
40 | ]
41 | # pylint:enable=undefined-all-variable
42 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/ops/padding_ops.py:
--------------------------------------------------------------------------------
1 | # Copyright 2018 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Padding ops."""
16 |
17 | __all__ = [
18 | "same_padding_for_kernel",
19 | ]
20 |
21 |
22 | def same_padding_for_kernel(shape, corr, strides_up=None):
23 | """Determine correct amount of padding for `same` convolution.
24 |
25 | To implement `'same'` convolutions, we first pad the image, and then perform a
26 | `'valid'` convolution or correlation. Given the kernel shape, this function
27 | determines the correct amount of padding so that the output of the convolution
28 | or correlation is the same size as the pre-padded input.
29 |
30 | Args:
31 | shape: Shape of the convolution kernel (without the channel dimensions).
32 | corr: Boolean. If `True`, assume cross correlation, if `False`, convolution.
33 | strides_up: If this is used for an upsampled convolution, specify the
34 | strides here. (For downsampled convolutions, specify `(1, 1)`: in that
35 | case, the strides don't matter.)
36 |
37 | Returns:
38 | The amount of padding at the beginning and end for each dimension.
39 | """
40 | rank = len(shape)
41 | if strides_up is None:
42 | strides_up = rank * (1,)
43 |
44 | if corr:
45 | padding = [(s // 2, (s - 1) // 2) for s in shape]
46 | else:
47 | padding = [((s - 1) // 2, s // 2) for s in shape]
48 |
49 | padding = [((padding[i][0] - 1) // strides_up[i] + 1,
50 | (padding[i][1] - 1) // strides_up[i] + 1) for i in range(rank)]
51 | return padding
52 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/ops/range_coding_ops_test.py:
--------------------------------------------------------------------------------
1 | # Copyright 2018 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Range coding tests."""
16 |
17 | import tensorflow as tf
18 | from tensorflow_compression.python.ops import gen_ops
19 |
20 |
21 | class RangeCodingOpsTest(tf.test.TestCase):
22 | """Python test for range coding ops.
23 |
24 | Coding ops have C++ tests. This Python test just ensures that the Python
25 | binding is not broken.
26 | """
27 |
28 | def test_readme_example(self):
29 | data = tf.random.uniform((128, 128), 0, 10, dtype=tf.int32)
30 | histogram = tf.math.bincount(data, minlength=10, maxlength=10)
31 | cdf = tf.cumsum(histogram, exclusive=False)
32 | cdf = tf.pad(cdf, [[1, 0]])
33 | cdf = tf.reshape(cdf, [1, 1, -1])
34 |
35 | data = tf.cast(data, tf.int16)
36 | encoded = gen_ops.range_encode(data, cdf, precision=14)
37 | decoded = gen_ops.range_decode(encoded, tf.shape(data), cdf, precision=14)
38 |
39 | self.assertAllEqual(data, decoded)
40 |
41 |
42 | if __name__ == "__main__":
43 | tf.test.main()
44 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/util/BUILD:
--------------------------------------------------------------------------------
1 | package(
2 | default_visibility = ["//visibility:public"],
3 | )
4 |
5 | licenses(["notice"])
6 |
7 | py_library(
8 | name = "util",
9 | srcs = ["__init__.py"],
10 | deps = [
11 | ":packed_tensors",
12 | ],
13 | )
14 |
15 | py_library(
16 | name = "packed_tensors",
17 | srcs = ["packed_tensors.py"],
18 | )
19 |
20 | py_test(
21 | name = "packed_tensors_test",
22 | srcs = ["packed_tensors_test.py"],
23 | deps = [":packed_tensors"],
24 | )
25 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/util/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2022 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Utils."""
16 |
17 | from tensorflow_compression.python.util.packed_tensors import *
18 |
--------------------------------------------------------------------------------
/tensorflow_compression/python/util/packed_tensors_test.py:
--------------------------------------------------------------------------------
1 | # Copyright 2019 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Tests of PackedTensors class."""
16 |
17 | import tensorflow as tf
18 | from tensorflow_compression.python.util import packed_tensors
19 |
20 |
21 | class PackedTensorsTest(tf.test.TestCase):
22 |
23 | def test_pack_unpack_identity(self):
24 | """Tests packing and unpacking tensors returns the same values."""
25 | string = tf.constant(["xyz"], dtype=tf.string)
26 | shape = tf.constant([1, 3], dtype=tf.int32)
27 | packed = packed_tensors.PackedTensors()
28 | packed.pack([string, shape])
29 | packed = packed_tensors.PackedTensors(packed.string)
30 | string_unpacked, shape_unpacked = packed.unpack([tf.string, tf.int32])
31 | self.assertAllEqual(string_unpacked, string)
32 | self.assertAllEqual(shape_unpacked, shape)
33 |
34 | def test_set_get_model_identity(self):
35 | """Tests setting and getting model returns the same value."""
36 | packed = packed_tensors.PackedTensors()
37 | packed.model = "xyz"
38 | packed = packed_tensors.PackedTensors(packed.string)
39 | self.assertEqual(packed.model, "xyz")
40 | del packed.model
41 |
42 |
43 | if __name__ == "__main__":
44 | tf.test.main()
45 |
--------------------------------------------------------------------------------
/tensorflow_compression_ops/MANIFEST.in:
--------------------------------------------------------------------------------
1 | global-include LICENSE
2 | global-include *.md
3 | recursive-include tensorflow_compression_ops/cc/ *.so
4 |
--------------------------------------------------------------------------------
/tensorflow_compression_ops/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright 2024 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Data compression ops in TensorFlow."""
16 |
17 | from tensorflow.python.framework import load_library
18 | from tensorflow.python.platform import resource_loader
19 |
20 | ops = load_library.load_op_library(resource_loader.get_path_to_datafile(
21 | "cc/libtensorflow_compression.so"))
22 |
23 | globals().update({n: getattr(ops, n) for n in [
24 | "create_range_encoder",
25 | "create_range_decoder",
26 | "entropy_decode_channel",
27 | "entropy_decode_finalize",
28 | "entropy_decode_index",
29 | "entropy_encode_channel",
30 | "entropy_encode_finalize",
31 | "entropy_encode_index",
32 | "pmf_to_quantized_cdf",
33 | "range_decode", # Deprecated.
34 | "range_encode", # Deprecated.
35 | "run_length_decode",
36 | "run_length_encode",
37 | "run_length_gamma_decode", # Deprecated.
38 | "run_length_gamma_encode", # Deprecated.
39 | "stochastic_round",
40 | ]})
41 |
42 |
--------------------------------------------------------------------------------
/tensorflow_compression_ops/requirements.txt:
--------------------------------------------------------------------------------
1 | tensorflow ~= 2.18.0
2 |
--------------------------------------------------------------------------------
/tensorflow_compression_ops/test_pip_pkg.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2024 Google LLC. All Rights Reserved.
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License");
5 | # you may not use this file except in compliance with the License.
6 | # You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | # ==============================================================================
16 |
17 | set -ex # Fail if any command fails, echo commands.
18 |
19 | WHEEL="${1}"
20 |
21 | # `import tensorflow_compression` in the bazel root directory produces cryptic
22 | # error messages, because Python ends up looking for .so files under the
23 | # subdirectories in the src repo instead of Python module libraries. Changing
24 | # the current directory helps avoid running tests inside the bazel root
25 | # direcotory by accident.
26 | pushd /tmp
27 |
28 | python -m pip install -U pip setuptools wheel
29 | python -m pip install "${WHEEL}"
30 | python -m pip list -v
31 |
32 | # Logs elements of tfc namespace and runs unit tests.
33 | python -c "import tensorflow_compression_ops as tfc; print('\n'.join(sorted(dir(tfc))))"
34 | python -m tensorflow_compression_ops.tests.all
35 |
36 | popd # /tmp
37 |
--------------------------------------------------------------------------------
/tensorflow_compression_ops/tests_all.py:
--------------------------------------------------------------------------------
1 | # Copyright 2024 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """All Python tests for tensorflow_compression_ops.
16 |
17 | This is a convenience file to be included in the pip package.
18 | """
19 |
20 | import tensorflow as tf
21 |
22 | # pylint: disable=wildcard-import
23 | from tensorflow_compression_ops.tests.quantization_ops_test import *
24 | from tensorflow_compression_ops.tests.range_coding_ops_test import *
25 | # pylint: enable=wildcard-import
26 |
27 |
28 | if __name__ == "__main__":
29 | tf.test.main()
30 |
--------------------------------------------------------------------------------
/tools/build_api_docs.py:
--------------------------------------------------------------------------------
1 | # Copyright 2022 Google LLC. All Rights Reserved.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | # ==============================================================================
15 | """Generates API docs for the TensorFlow Compression library."""
16 |
17 | import os
18 |
19 | from absl import app
20 | from absl import flags
21 |
22 | from tensorflow_docs.api_generator import generate_lib
23 | from tensorflow_docs.api_generator import public_api
24 |
25 | import tensorflow_compression as tfc
26 |
27 |
28 | _OUTPUT_DIR = flags.DEFINE_string(
29 | "output_dir", "/tmp/generated_docs",
30 | "Where to write the resulting docs.")
31 | _CODE_URL_PREFIX = flags.DEFINE_string(
32 | "code_url_prefix",
33 | "https://github.com/tensorflow/compression/tree/master/tensorflow_compression",
34 | "The URL prefix for links to code.")
35 | _SEARCH_HINTS = flags.DEFINE_bool(
36 | "search_hints", True,
37 | "Whether to include metadata search hints in the generated files.")
38 | _SITE_PATH = flags.DEFINE_string(
39 | "site_path", "/api_docs/python",
40 | "Path prefix in _toc.yaml.")
41 |
42 |
43 | def gen_api_docs():
44 | """Generates API docs for the TensorFlow Compression library."""
45 | doc_generator = generate_lib.DocGenerator(
46 | root_title="TensorFlow Compression",
47 | py_modules=[("tfc", tfc)],
48 | base_dir=os.path.dirname(tfc.__file__),
49 | code_url_prefix=_CODE_URL_PREFIX.value,
50 | search_hints=_SEARCH_HINTS.value,
51 | site_path=_SITE_PATH.value,
52 | callbacks=[public_api.explicit_package_contents_filter])
53 | doc_generator.build(_OUTPUT_DIR.value)
54 | print("Output docs to: ", _OUTPUT_DIR.value)
55 |
56 |
57 | def main(_):
58 | gen_api_docs()
59 |
60 |
61 | if __name__ == "__main__":
62 | app.run(main)
63 |
--------------------------------------------------------------------------------
/tools/build_pip_pkg.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2023 Google LLC. All Rights Reserved.
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License");
5 | # you may not use this file except in compliance with the License.
6 | # You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | # ==============================================================================
16 |
17 | # This script must run at the workspace root directory.
18 |
19 | set -ex # Fail if any command fails, echo commands.
20 |
21 | # Script configuration --------------------------------------------------------
22 | OUTPUT_DIR="${1-/tmp/tensorflow_compression}"
23 | WHEEL_VERSION=${2-0.dev0}
24 |
25 | # Optionally exported environment variables.
26 | : ${BAZEL_OPT:=}
27 | # -----------------------------------------------------------------------------
28 |
29 | python -m pip install -U pip setuptools wheel
30 | python -m pip install -r requirements.txt
31 | bazel build ${BAZEL_OPT} -c opt --copt=-mavx tensorflow_compression/cc:libtensorflow_compression.so
32 |
33 | SRCDIR="$(mktemp -d)"
34 | trap 'rm -r -- "${SRCDIR}"' EXIT
35 |
36 | cp LICENSE README.md MANIFEST.in requirements.txt "${SRCDIR}"
37 |
38 | mkdir -p "${SRCDIR}/tensorflow_compression/cc"
39 | cp "$(bazel info -c opt bazel-genfiles)/tensorflow_compression/cc/libtensorflow_compression.so" \
40 | "${SRCDIR}/tensorflow_compression/cc"
41 |
42 |
43 | copy_file() {
44 | local FILENAME="${1#./}"
45 | local DST="${SRCDIR%/}/$(dirname "${FILENAME}")"
46 | mkdir -p "${DST}"
47 | cp "${FILENAME}" "${DST}"
48 | }
49 |
50 | copy_file "tensorflow_compression/__init__.py"
51 | copy_file "tensorflow_compression/all_tests.py"
52 |
53 | # Assumes no irregular characters in the filenames.
54 | find tensorflow_compression/python -name "*.py" \
55 | | while read filename; do copy_file "${filename}"; done
56 |
57 | python tools/build_pip_pkg.py "${SRCDIR}" "${OUTPUT_DIR}" "${WHEEL_VERSION}"
58 |
--------------------------------------------------------------------------------
/tools/test_pip_pkg.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2023 Google LLC. All Rights Reserved.
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License");
5 | # you may not use this file except in compliance with the License.
6 | # You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | # ==============================================================================
16 |
17 | set -ex # Fail if any command fails, echo commands.
18 |
19 | WHEEL="${1}"
20 |
21 | # `import tensorflow_compression` in the bazel root directory produces cryptic
22 | # error messages, because Python ends up looking for .so files under the
23 | # subdirectories in the src repo instead of Python module libraries. Changing
24 | # the current directory helps avoid running tests inside the bazel root
25 | # direcotory by accident.
26 | pushd /tmp
27 |
28 | python -m pip install -U pip setuptools wheel
29 | python -m pip install "${WHEEL}"
30 | python -m pip list -v
31 |
32 | # Logs elements of tfc namespace and runs unit tests.
33 | python -c "import tensorflow_compression as tfc; print('\n'.join(sorted(dir(tfc))))"
34 | python -m tensorflow_compression.all_tests
35 |
36 | popd # /tmp
37 |
--------------------------------------------------------------------------------
/workspace.bzl:
--------------------------------------------------------------------------------
1 | """WORKSPACE setup functions."""
2 |
3 | def _tensorflow_pip_impl(ctx):
4 | python_program = ctx.which(ctx.attr.python_program)
5 |
6 | library_path = ctx.execute([
7 | python_program,
8 | "-c",
9 | "import tensorflow; print(tensorflow.sysconfig.get_lib())",
10 | ])
11 | include_path = ctx.execute([
12 | python_program,
13 | "-c",
14 | "import tensorflow; print(tensorflow.sysconfig.get_include())",
15 | ])
16 |
17 | if library_path.return_code != 0:
18 | fail("Failed to find library path. Did you remember to pip install " +
19 | "tensorflow?: %s" % library_path.stderr)
20 | if include_path.return_code != 0:
21 | fail("Failed to find include path. Did you remember to pip install " +
22 | "tensorflow?: %s" % include_path.stderr)
23 |
24 | if "linux" in ctx.os.name:
25 | library_filename = "libtensorflow_framework.so.2"
26 | elif "mac" in ctx.os.name:
27 | library_filename = "libtensorflow_framework.2.dylib"
28 |
29 | ctx.symlink("/".join([library_path.stdout.strip(), library_filename]),
30 | library_filename)
31 | ctx.symlink(include_path.stdout.strip(), "include")
32 | ctx.file("BUILD", """
33 | cc_library(
34 | name = "libtensorflow_framework",
35 | srcs = ["{0}"],
36 | hdrs = glob(["include/**"]),
37 | includes = ["include"],
38 | visibility = ["//visibility:public"],
39 | )
40 | """.format(library_filename))
41 |
42 | tensorflow_pip = repository_rule(
43 | implementation = _tensorflow_pip_impl,
44 | attrs = {
45 | "python_program": attr.string(default = "python3"),
46 | },
47 | )
48 |
49 | def tensorflow_compression_workspace():
50 | tensorflow_pip(
51 | name = "tensorflow_pip",
52 | python_program = "python3",
53 | )
54 |
--------------------------------------------------------------------------------