# Tag Info

15

Noise is quite good (hard to compress), but it becomes grey when looking from far, becoming easy to compress. A good pattern would be kind of fractal, looking similar at all scales. Well, there is fractal noise. I think Brownian noise is fractal, looking the same as you zoom into it. Wikipedia talks about adding Perlin noise to itself at different scales ...

14

If we were talking about computer-generated images, noise would be the right approach. But here, there is the camera capture step. The fractal bit is very important because of the scale invariance issue. It doesn't have to be truly fractal, though, if you consider there's a limited distance range at which the person is going to be photographed. I mean, if ...

12

It depends how you define the term "information" or "entropy". The conventional definition of entropy of an image is to think an image as a two dimensional matrix of pixel and $$H = - \sum_k p_k \log_2(p_k)$$ where $p_k$ is the probability, which is calculated from histogram, associated with gray level $k$. This kind of entropy is correct if we ignore the ...

11

There is a difference between JPEG exploitable and Transform Compressible. Take the white grainy noise of TV set for example. A general white noise is spread maximum in the frequency and hence there is no better example than white noise that any transform domain coding technique cannot compress. If you take such noise and take DCT (or DFT if required) we ...

11

The lossless JPEG compression does not merely remove small coefficients in higher frequencies. It encodes them with a precision relative to a (relatively crude) visual perception model; most notably, horizontal and vertical frequencies are not quantized with the same precision. And as in many compression formats, it essentially assumes that the data is ...

10

The composition below shows a fractal kind structure of the pattern. The every next picture is the result of averaging over each 2x2 pixels block of the previous one. The total character of the pattern remains the same but the image contrast is gradually decreasing. As it was said right earlier, the picture becomes grey when we zoom out. But using the ...

10

Like @sansuiso said, compressed sensing is a way of acquiring signals that happens to be efficient if the signals are sparse or compressible. Compressed Sensing is efficient because signals are multiplexed, hence the number of multiplexed samples (called measurements) is smaller than the number of samples required by Shannon-Nyquist where there are no ...

9

Actually, it's kind of the other way around. If you reuse the same JPEG encoder at the same quality level (without any smoothing steps as built-in prepcosessing) and a decoder which faithfully decompresses the images, I expect the image quality not to degrade from generation to generation. This is because quantization (the lossy part) is done the same way ...

8

I don't think that repeated jpg compression reduces to a single flat color. I tried compressing-decompressing an image 3 times. (Using GIMP 2.8.2, at quality level "10%" with progressive, exif, thumbnail and xmp all turned off, 4:2:2 vertical subsampling and integer DCT.) All three images are identical (Linux cmp turns up no differences at all between the ...

8

The PNG format is lossless for RGB24 image data. However the conversion from YUV to RGB24 is not lossless, as the two formats quantize the color space differently. To see this, the following animated gif was made by applying your two ffmpeg operations 200 times back-and-forth and collating the resulting 200 images into the gif. By contrast, the following ...

7

There are two things here: sparsity and compressed sensing. Sparsity is a general hypothesis, just claiming that most of the energy of a signal is stored in a small number of coefficients in the good basis. This is quite intuitive, looking at Fourier transforms or wavelet transforms. It is true for probably any signal of interest (image, sound...) and ...

6

From the images you posted its quite clear that the image has been downsampled and re-compressed with lower quality jpeg settings. If you look round the mouth you can clearly see JPEG-like artefacts.

5

IIRC, the JPEG decompression algorithm is specified, however the exact compression algorithm is not. Different algorithms can produce a legal JPEG file. So you will need to test this on your chosen image compressor(s). Anything can be compressed by the same amount by a lossy compressor, such as JPEG. It's just that, at any fixed compression level, the ...

5

My guess is that the worst compressible pattern would be white noise (with uniform distribution). It needs to look noisy on different resolutions, so you may create the noisy images in scale space and than put them together: $$I=\sum_{i}^{n}N_{i}*G_{i}$$ Here $I$ is the final cloth image, $N_{i}$ is the image filled with white noise (different for every $i$...

5

Simply because the highest compression typically is significantly more CPU-intense (it tries out multiple different approaches to represent successive lines). This really shouldn't make much difference on a modern PC for saving a few images. Then again, in practice, libpng seems to be pretty slow, so this might make a difference, especially for people ...

4

You can consider using Huffyuv : http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html This is no great better than simple zip, but still slightly optimized for images. Any Image related compression comes from the techniques like Vector quantization or Transform coding. In order to make use of transform such as DCT/Wavelet yet make it lossless you ...

4

All images blocks that are applied by DCT matrix have a valid IDCT - i.e. they can always bring back original pixels and in general inverse transfer is theoretically as well as computationally viable. However, while your pixels have values in range 0-255 - the DCT matrix of the block never results in values which are confined between 0-255. Not only that, ...

4

Are there images that are better suited to testing compression quality than others? You are exactly right. A good compression algorithm is one that performs well on average considering all those types of images. In reality, a database of different types of image is used to evaluate a particular compression techniques. Maybe an image of diagonal lines of ...

4

For real images, there is indeed a formal redundancy, termed Hermitian or conjugate-symmetric as detailed by @Fat32. This symmetry however is "modulated" by the complex expression of the Fourier coefficients. So the FFT requires half the number of coefficients, but twice the amounts, due to the real/imaginary or modulus/phase couples. All in all, the ...

4

Neither. A true compression ratio is: "original file size in bits" divided by "compressed file size in bits". A practical (based on disk limits) compression may embed the chunk size effect: "original file size in number of chunks" divided by "compressed file size in chunks", less favorable. Some of the main reasons for "neither" are: DCT is not the ...

4

General Idea The general idea of Principal Component Analysis (PCA) is as following (Intuition over formalism): Given a set of points in space (Inner Product Space) find a set of vectors (Directions) which are uncorrelated which span the data in the most energy preserving manner. The tricky part is explaining "most energy preserving manner". So we're ...

3

A common wavelet based standard is JPEG 2000 and a common DCT based standard is JPEG. JPEG 2000 uses wavelets, but a good portion of the better compression it achieves than JPEG is due to the fact that JPEG uses a much much simpler entropy coder (JPEG does context-dependent Huffman codes and run length coding, JPEG 2000 does arithmetic coding with some ...

3

JPEG is far simpler. It divides the image into 8x8 pixel blocks, and processes each using a Discrete Cosine Transform. The results are quantised and then encoded. The quality is fixed by the encoder. JPEG2000 uses a 2D wavelet function, the output of which is four "images", each a quarter the size of the original. One of those is actually an image, ...

3

Both JPEG and JPEG 2000 use the change of basis compression type. Namely, we transform the data into a different representation assuming in this representation the number of parameters needed to describe to data is lower. Or to the least, most of the information is gathered within few parameters. Now, if you look at the energy level of the DCT coefficients ...

2

This looks like what you would put in a digital camera for a lossless RAW. 1/ Check the source code of dcraw to see what various camera manufacturers are already doing. For example Pentax uses some variable length int scheme (length N coded with a huffman code, then N bits) to code the delta of a pixel wrt the previous pixel of the same color in the Bayer ...

2

Your only real chance of recovering a JPEG image beyond the corrupt spot is if it has restart markers. You will otherwise have no way of knowing if the data is missing or corrupt and how that corruption has affected the DC values. Restart markers were designed to fix this situation by resetting the DC values at regular intervals. The lower 3 bits of the ...

2

Here is another approach gaining RGB Brownian noise (4096x4096 GIF).

2

Random noise indeed compresses very poorly. You can produce it in color by generating independent R, G, B values. Looking from a distance will indeed wipe away the noise (by lowpass filtering), and you can avoid that by generating noise images at different resolutions, i.e. using bigger and bigger pixels, and superposing them. When adding the images, you ...

2

Let me share the pattern that has a very flat spectrum (like the white noise). So this pattern is very hard to compress with JPG. The sample image below is enlarged 4 times. The pattern itself is regular, but non-periodic, and could be easily generated by the deterministic algorithm. It also has a fractal property. Viewed from far away:

2

Oftentimes some rounding occurs in storing the coefficients. This is why many image compression algorithms are lossy, i.e. they lose information when converting the floating point coefficients to integer format. The process of rounding is called quantization. See this wikipedia article for an example. http://en.wikipedia.org/wiki/JPEG#Quantization

Only top voted, non community-wiki answers of a minimum length are eligible