13

The lossy 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 locally ...


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 ...


9

You can also think of delta encoding as linear predictive coding (LPC) where only the prediction residual ($x[n]-\hat{x}[n]$ in @robertbristow-johnson's notation) is stored and the predictor of the current sample is the previous sample. This is a fixed linear predictor (not with arbitrary coefficients optimized to data) that can exactly predict constant ...


9

To illustrate Justme's answer: Discrete Cosine Transform (DCT) is a lossy The DCT can't be a lossy algorithm, since there's an inverse operation that restores the original input exactly. data compression algorithm Also, it's not a compression algorithm: in- and output have the same size. So, both your central statements are wrong :( that is used in many ...


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 ...


6

Complex signals are a special case of multidimensonal signals (where the dimension is two). A lossy approach tackling compression of multidimensional signals is vector quantization. A very good resource is the book: "Vector Quantization and Signal Compression", co-authored by Robert M. Gray. Vector Qquantization is a classic lossy source coding technique ...


6

That's used a lot. See for example https://en.wikipedia.org/wiki/Delta_encoding, https://en.wikipedia.org/wiki/Run-length_encoding. "Looking Smooth" typically means "not a lot of high frequency content". The easiest way to take advantage of this, is to figure out what the highest frequency really need then low-pass filter and choose an lower sample rate. ...


6

Another notion you might wanna look into for lossless compression of a bandlimited signal (it's this bandlimiting that gets you this "smoother ... signal, ...closer ... to the baseline") is Linear Predictive Coding. I think this is historically correct that LPC was first used as a variant of Delta coding where the LPC algorithm predicts $\hat{x}[n]$ from ...


5

JPEG projects $8\times 8$ blocks of images onto $64$ 2D cosine patterns: The one in column $1$ and row $5$, once quantized, may look like your hamburger. Luminance and chroma components may get different subsampling patterns. I suspect that the low varying background is nearly horizontal, and due to the different processing steps, it ends up with a mid-...


5

+1 on very interesting and insightful experiment. Some thoughts: It's not true that filtered signal has less information. It depends on your input signal, filter type, and cut-off frequency. When you high-pass the noisy signal, you're removing the slowly changing components. That makes your signal composed of 'more frequently changing random numbers', ...


5

I would check 2 things: If the filter applied is Low Pass Filter or a different filter. If it is a filter which amplifies the noise, the result is reasonable. It seems that you use butter() in a form which generates High Pass Filter. Since the input signal is composed of noise, the High Pass Filter amplify it and causes to less compressible file. For ...


5

As you correctly noted compressed sensing, compressive sampling, sparse sampling all mean the same thing. Some authors also call it sparse sensing. The idea behind compressed sensing is that a sparse signal can be recovered from very few linear measurements. In symbols, if $\mathbf x$ is $N\times 1$ sparse$^\ddagger$ vector, and $\mathbf A$ is an $M\times N$ ...


5

A couple of reference works offer an exaplanation: A neurological interpretation described in Scholarpedia Stanford's Unsupervised Feature Learning and Deep Learning tutorial If we look at the definition of the term in the context of dictionary learning, for example in K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation, ...


5

No, because DCT is not a compression algorithm itself. But different lossy compression algorithms do use DCT as part of the process. DCT can be used to transform data such as audio or image data into frequency domain, and then by analysing the frequency domain data it can be determined how much detail can be described more coarsely or completely omitted, and ...


4

Yes, the cellular phones use various forms of compression to convert the captured analog audio (speech) into the digital bitstream for transmission through 2G/3G/.../. The specific method used depends on the GSM version which might dictate its own bandwidth constraint and backward or forward compatibility issues into the audio encoding stage. Most ...


3

Mostly yes, but it depends on the context. Let us elaborate. DCT-II is one of the many forms of Discrete Cosine Transforms, and probably the most widely used one, as it is (somehow) present in JPEG or MP3 formats. "Lossy" often refer to the compression standard which uses it, because the main loss results from quantization (and generally not the transform ...


3

If you compute a $8\times 8$ 2D-DCT, and keep the top left corner only, you are keeping a quantity that is proportional to the average of each $8\times 8$ block. This is the DC component, similar to the $0$ frequency in a Fourier transform. This works like a JPEG coding with a quantization table looking like: $$\displaystyle \left( \begin{array}{cccc} 1 &...


3

A compression standard is a quite delicate thing, that took years to develop and tune. I suggest Analysis of the MPEG-1 Layer III (MP3) Algorithm Using MATLAB, 2012 by Jayaraman J. Thiagarajan and Andreas Spanias. After a general overview, it leads you step by step though the different blocks of the whole scheme, providing some Matlab code for each of them.


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

They don't get unified. Think of the transmitter pipeline (data source, source encoder, channel coder, modulator, etc) as a sequence of independent blocks. Blocks don't assign any particular meaning or order to their input: they regard the input as just a stream of bits. So, the output of the Huffman encoder can be regarded as a stream of 0s and 1s. The ...


3

To make it more clear, I suppose your question is Why it is said that the compressor gain at low input amplitudes is higher, while the step size of a nonuniform quantizer is small in that region. Similarly, Why it is said that the gain of the compressor is higher for high input amplitudes, while the step size is larger for those inputs. First, notice ...


3

Your question is very accurate. Storing the largest (1 % for instance) coefficients only from a sparsifying transform (DCT, wavelet, else) is fool's-gold, since you (more importantly the decoder) don't you where those are located. And storing their binary indices counterbalances the compression gain for the sparsification. So trade-off should be found ...


3

Good start. Let us adjust a bit, in an other narrative point of view. Here is the compiled version: Discrete Cosine Transform (DCT) is a lossy data compression algorithm that is used in many compressed image and video formats, including JPEG, MJPEG, DV and MPEG. In this algorithm, special DCT coefficients are calculated for each 8x8 image block, in the ...


2

[I am part of this research group, so I know this issue in-depth] There is absolutely no approximation in the method. I'll start at the very beginning: Start with some finite Hilbert basis, $\mathcal{H}$. In Asaf's paper this is a Fourier grid - the space of band-limited cyclic functions. The Fourier grid prescribes a rectangular area in phase-space, which ...


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


2

While this answer may have come a bit too late for OP, here it is. Let's start by replacing the phrase 'bits used' with 'queries to an unbiased bit generator'. Then assume that the only random number generator you have at your disposal is an unbiased bit generator, that generates $0$ or $1$ with probabilities $p_0=p_1=0.5$. e.g. something like the following ...


2

What kind of result ? Are all the floating point data positive ? Anyway, I will list down some of the Quality Metrics and when to use them for which quality of data. $1$. SNR - If the difference between the original signal and the reconstructed signal can be interpreted as a zero-mean noise process. SNR measurements relating to signal power or energy are ...


2

My survey paper on compression, "A Survey Of Architectural Approaches for Data Compression in Cache and Main Memory Systems", shows that most practical techniques on general benchmarks achieve compression ratio ~2X and some upto 4X, although higher potential (e.g. ~16X in some cases) exists (see Section 2.2). The reason for not achieving full potential is ...


2

I see two big drawbacks to your method: The image you posted is not the STFT, but its magnitude. The difference between the magnitude of adjacent STFT frames is small; so for your scheme to work you would have to store the magnitude and phase separately. But then, there would be no compression at all on the phase data that would still represent 50% of the ...


2

Here is my non-technical 2 cents... Usually when you are referring to compressing audio, you are referring to audio that humans tend to listen to, like voice or music. Voice and music are interesting and meaningful to humans because these signals have time correlations or redundancies that allow the human brain to track the signal and even predict where ...


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