I'd like to explain the motivation.

It sounds like a neuroscience topic but I am after the strict Signal Processing POV.

(I don't come from a Signal Processing background).

Interested to learn whether it's a rookie question in Signal Processing or touches on a deeper paradox.

Motivation for Question A scientist, many years ago, told me that the most advanced data compression we have is in the optic nerve. That visual data is compressed there and then bought to our brain for more processing.

(I'm guessing visual data is defined as a 3D field that maps light, based on a variety of factors e.g. intensity, wavelength, Cartesian coordinates etc).

If my dog and my cat and I all look at my cup of coffee- presumably, we will all compress the visual data distinctly. For sure, we all use visual data very differently, which must mean we extract different meaning from it, ie. have different filters for what's relevant in the visual field (e.g. color, movement, sensitivity to small or large shapes).


I am interested to learn whether, in Signal Processing, compression and filtration are separate concepts or they are strictly equivalent?

Because the more I thought about it, the less I can understand the difference between compression and filtering.

It seems like compression involves filtering automatically. (i.e. compression is unconscious filtering, whereas filtering is conscious).



Signal processing is a very broad topic. It involves not only all kinds of filtering (linear, nonlinear, shift-invariant, shift-varying) but also sampling analysis, spectral (Fourier) analysis via DTFT, DFT, FFT, modulation, demodulation, feedback system analysis and design etc...

Compression (or source coding) is on the border of signal processing and information theory belonging mainly to the latter. Compression is mainly a statistical and /or perceptual tool to reduce the data usage in representing the source as in your example of image / video compression.

Classically speaking filtering is separation (or modification) of wanted signals from the unwanted ones. Therefore it's at the heart of signal processing...

| improve this answer | |
  • $\begingroup$ Thanks. So does it follow in your opinion that filtering and compression are equivalent, it's just that certain types of transformations (linear, nonlinear, .. shift-varying etc) belong to the class of actions on the data known as filtering. Whereas compression uses different methodologies? I realize that classically actions belong to different disciplines (e.g. information theory / signal processing as you describe) .Trying to naively learn if discarding the common nomenclature reveals they are equivalent actions $\endgroup$ – Josie Peanut Yael Jun 18 '19 at 9:36
  • $\begingroup$ @JosiePeanutYael no they are not equivalent. Compression aims to reduce data usage to represent the source. Filtering aims to separate different parts of a signal. They are different things. They are all mathematically based on similar concepts but otherwise as different as (if not more different than) integration and derivation. $\endgroup$ – Fat32 Jun 18 '19 at 10:38
  • $\begingroup$ @JosiePeanutYael Compression may involve filtering, but filtering may be done for other reasons. One example is matched filtering - which is trying to maximize the signal to noise ratio. It is a pretty common step in Radar, Sonar and communication systems. $\endgroup$ – David Jun 18 '19 at 12:19
  • $\begingroup$ Thanks. I don't understand- if the requirement is that compression adequately " represents" the input data- doesn't that mean compression involves filtering, in the act of testing that adequate representation? Example- imagine I see a cup of coffee exactly as my dog sees it. But- my dog has bad eyesight. Being used to human vision, with my dog's eyes, I don't recognise the cup of coffee. If I had the right filter on my dog's field of vision, i could reognize the coffee. Writing this out I think my real question is what is cognition and how does that relate to filtering and compression. $\endgroup$ – Josie Peanut Yael Jun 18 '19 at 15:05
  • $\begingroup$ @JosiePeanutYael a compression system does not want to alter the input signal in any ways (except lossy case) It just makes data storage smaller. Filtering aims to change the signal in some useful ways. Incidentally, almost every lossy multimedia compressor codec involves some necessary DSP pre-processing filterings before actually applying information theoretic statistical compression. So you might be tempted to think that compression is also filtering, but it's not. Nevertheless, it's not the end of the world to call everything as a filter in this universe :-)) $\endgroup$ – Fat32 Jun 18 '19 at 21:50

My personal view: it depends a bit whom you talk to.

In the SP community, if people talk about "filters", more than 90% of the time, they will refer to linear filtering, in particular filters that can be described by $n$-th order linear differential equations, leading to rational functions in the Laplace/z-Domain. For such filters, we have an enormeous amount of tools to describe their input/output behavior and use this to design the filter coefficients with respect to all kinds of criteria.

On the other hand, when people talk about compression, it will in general involve nonlinear methods, since a purely linear compression is just not that efficient (sidenote: compressed sensing does exactly that, but it is not a compression method really, it's about the efficient sampling of analog signals and yet often mistaken for a compression method). After all, we would expect two very similar input signals to be compressed to the same representation and this already means there is some nonlinearity involved.

That said, some filters that are very commonly used are nonlinear, like the median filter, and there is no real reason to limit filters to linear ones. One could consider a much wider range of nonlinear filters. It's just in general harder to design these, at least from a classical filter design point of view.

You might still refer to a compression scheme as a filter and some people in SP will do that. I'd say it's a bit less common but that's just my point of view that is also heavily biased by my background.

Summarizing, also in response to your comments:

  • In compression, the goal is to represent a given signal with a minimum amount of data. If digital data is already available, the goal is thus typically to reduce the amount of data.
  • In filtering, the goal is typically to extract certain parts of the signal by suppressing others. This means that the amount of data may not change at all in a filtering process. Yet the term is so general that in some cases it might.
  • Compression will apply some sort of filtering (and maybe more).
  • The terms area not used consistently in the SP community.
| improve this answer | |
  • $\begingroup$ Thanks. Curious what your background is? Also, do I understand correctly that there is essentially no difference between compression and filtering.. it's all a matter of convention? Also- follow up question for clarification. When I hear compression I automatically assume that raw data after compression must take up less memory than before. Is that always true? And, therefore, filtered data always take up less memory than unfiltered data (by definition)? ,Many thanks $\endgroup$ – Josie Peanut Yael Jun 18 '19 at 9:31
  • $\begingroup$ I edited my reply to include another comment regarding the apsect of data rate and goals. My background is sampling and signal processing for multichannel RF data, think radar or communications. But I'm very interested in the theoretical foundations so I do look in other SP disciplines like image processing as well. $\endgroup$ – Florian Jun 18 '19 at 10:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.