knusperli

A deblocking JPEG decoder

  • 所有者: google/knusperli
  • 平台:
  • 許可證: Apache License 2.0
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Knusperli

The goal of Knusperli is to reduce blocking artifacts in decoded JPEG images, by
interpreting quantized DCT coefficients in the image data as an interval, rather
than a fixed value, and choosing the value from that interval that minimizes
discontinuities at block boundaries.

Left: a traditional JPEG decoder (Imagemagick 6.9.7-4). Right: Knusperli.

Lena JPEG, zoomed Lena Knusperli, zoomed

Lena JPEG Lena Knusperli

Building

Knusperli builds with Bazel:

CC=gcc bazel build :knusperli
bazel-bin/knusperli input.jpg output.png

Details

A JPEG encoder quantizes DCT coefficients by rounding coefficients to the
nearest multiple of the elements of the quantization matrix. For every
coefficient, there is an interval of values that would round to the same
multiple. A traditional decoder uses the center of this interval to reconstruct
the image. Knusperli instead chooses the value in the interval that reduces
discontinuities at block boundaries. The coefficients that Knusperli uses, would
have rounded to the same values that are stored in the JPEG image.

Disclaimer

This is not an officially supported Google product.

主要指標

概覽
名稱與所有者google/knusperli
主編程語言C++
編程語言Python (語言數: 3)
平台
許可證Apache License 2.0
所有者活动
創建於2018-03-08 10:06:34
推送於2023-09-10 02:05:58
最后一次提交2021-01-12 22:51:33
發布數0
用户参与
星數468
關注者數19
派生數27
提交數11
已啟用問題?
問題數9
打開的問題數6
拉請求數2
打開的拉請求數4
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?