Live data from Hacker News

Advanced Image Optimization Tricks

sixrevisions.com

1–10 of 22 posts

Re: Advanced Image Optimization Tricks

#2
"Selective JPEG Compression" was a new one for me.

For PNG, always run your images through ImageOptim (http://imageoptim.com) before committing your work.

And for large PNGs, ImageAlpha (http://pngmini.com) lets you reduce bit depth, keep transparency and maintain a decent image quality.

Re: Advanced Image Optimization Tricks

#3
Gaussian Blur JPEG Optimization

Blurring reduces noise/entropy so that JPEG compresses better. You can use a bilateral filter (Photoshop: Surface Blur; GIMP: Selective Gaussian Blur) for larger amount of smoothing while preserving edges.

Image Posterization

This is actually called image quantization. pngquant[1] and pngnq[2] are two specialized open-source tools for automatically selecting the best palettes to represent the image with least perceptual error.

Selective JPEG Compression

JPEGmini[3] automatically selects areas of interest with custom perceptual metrics and preserves quality within those areas while optimizing out other areas. I tested the sample image in the article: JPEGmini obtained 6.7% decrease in size without manually selecting the mask.

[1]: http://pngquant.org/

[2]: http://pngnq.sourceforge.net/

[3]: http://www.jpegmini.com/main/shrink_photo https://news.ycombinator.com/item?id=2940505

Re: Advanced Image Optimization Tricks

#4
post #3

Gaussian Blur JPEG Optimization Blurring reduces noise/entropy so that JPEG compresses better. You can use a bilateral filter (Photoshop: Surface Blur; GIMP: Selective Gaussian Blur) for larger amount of smoothing while preserving edges. Image Posterization This is actually called image quantization. pngquant[1] and pngnq[2] are two specialized open-source tools for automatically selecting the best palettes to repres…

Given that these techniques seem to be well-known, it would be interesting to see a JPEG compressor which uses what we know of human vision to minimize filesize while keeping the image visually the same.

JPEGmini seems to go partway with selective compression, but it seems like there's room to improve the actual compression algorithm to do things like gaussian smoothing instead of just truncating the high-frequency components to reduce filesize.

Re: Advanced Image Optimization Tricks

#7
post #4
post #3

Gaussian Blur JPEG Optimization Blurring reduces noise/entropy so that JPEG compresses better. You can use a bilateral filter (Photoshop: Surface Blur; GIMP: Selective Gaussian Blur) for larger amount of smoothing while preserving edges. Image Posterization This is actually called image quantization. pngquant[1] and pngnq[2] are two specialized open-source tools for automatically selecting the best palettes to repres…

Given that these techniques seem to be well-known, it would be interesting to see a JPEG compressor which uses what we know of human vision to minimize filesize while keeping the image visually the same. JPEGmini seems to go partway with selective compression, but it seems like there's room to improve the actual compression algorithm to do things like gaussian smoothing instead of just truncating the high-frequency c…

Well the whole point of a compression scheme like JPEG is to use what we know about human vision to minimize file size while not visually changing anything.

But JPEG is a pretty crude algorithm designed mainly to be computationally cheap [to match the capabilities of computer hardware in 1992 when it was created]. Trying to make better encoders within the limits of what JPEG decoders can handle is quite limiting, and yields only marginal improvements.

It’s possible to do much better if we’re willing to accept more CPU time spent in encoding/decoding using fancier algorithms. Unfortunately it’s really hard to get traction for anything else, because the whole world already has JPEG decoders built into everything. For instance JPEG 2000, designed to be a general purpose replacement with many improvements over JPEG, is now 13 years old but used only in niche applications, such as archiving very high resolution images.

But for use cases where you control the full stack, better compression is quite viable. Video game engines for instance devote considerable attention to image compression formats.

Re: Advanced Image Optimization Tricks

#8
post #4
post #3

Gaussian Blur JPEG Optimization Blurring reduces noise/entropy so that JPEG compresses better. You can use a bilateral filter (Photoshop: Surface Blur; GIMP: Selective Gaussian Blur) for larger amount of smoothing while preserving edges. Image Posterization This is actually called image quantization. pngquant[1] and pngnq[2] are two specialized open-source tools for automatically selecting the best palettes to repres…

Given that these techniques seem to be well-known, it would be interesting to see a JPEG compressor which uses what we know of human vision to minimize filesize while keeping the image visually the same. JPEGmini seems to go partway with selective compression, but it seems like there's room to improve the actual compression algorithm to do things like gaussian smoothing instead of just truncating the high-frequency c…

uses what we know of human vision to minimize filesize while keeping the image visually the same.

This is what JPEGmini is doing, perceptual compression metric.

gaussian smoothing instead of just truncating the high-frequency components

Gaussian smoothing does remove high-frequency components.

Re: Advanced Image Optimization Tricks

#10
post #2

"Selective JPEG Compression" was a new one for me. For PNG, always run your images through ImageOptim ( http://imageoptim.com ) before committing your work. And for large PNGs, ImageAlpha ( http://pngmini.com ) lets you reduce bit depth, keep transparency and maintain a decent image quality.

> For PNG, always run your images through ImageOptim

Why only PNG?

Post reply on HN