Page 1 of 2 12 LastLast
Results 1 to 30 of 50

Thread: DLI ? Other top level lossy image compressors?

  1. #1
    Member
    Join Date
    Sep 2010
    Location
    US
    Posts
    126
    Thanks
    4
    Thanked 69 Times in 29 Posts

    DLI ? Other top level lossy image compressors?

    Has anybody ever figured out what DLI does?

    Is there anything else compelling in lossy image compression? ADCTC/AIC/HEVC/WEBP are all kind of variations on a theme.
    Last edited by cbloom; 3rd August 2016 at 20:38.

  2. #2
    Member
    Join Date
    Jun 2014
    Location
    Ro
    Posts
    19
    Thanks
    4
    Thanked 3 Times in 3 Posts
    The benchmark presented is pretty impressive. I would like to know more as well. https://sites.google.com/site/dlimagecomp/

  3. #3
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    There is software provided; someone with high-quality images conveniently available ought to test and give their impressions. Having the highest scores on synthetic tests could be good, or it could come from overfitting whatever model underlies those tests. The tests are only serving as cheaper, artificial eyes, after all.

  4. #4
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by nburns View Post
    There is software provided; someone with high-quality images conveniently available ought to test and give their impressions.
    I gave it a test problably like two years ago with our JPEG image dataet, and it performed really quite good, i.e. better than JPEG 2000. I don't know whether it performs better than HEVC I-frame compression because that wasn't available back then. The only thing I remember is that it was extremely slow, and thus not really suitable for the end-user market (but then again, HEVC I-frame is not a sprinter either).

    Finally, to get some really meaningful test, a subjective performance test should be done using an established evaluation protocol (such as DSIS) using test subjects. Unfortunately, I don't have a lab for that.

    I also remember that I asked them to probably contribute with this to a JPEG activiity, but they were not interested.

  5. #5
    Member
    Join Date
    Sep 2010
    Location
    US
    Posts
    126
    Thanks
    4
    Thanked 69 Times in 29 Posts
    Quote Originally Posted by nburns View Post
    There is software provided; someone with high-quality images conveniently available ought to test and give their impressions. Having the highest scores on synthetic tests could be good, or it could come from overfitting whatever model underlies those tests. The tests are only serving as cheaper, artificial eyes, after all.
    DLI is definitely very good. You're right that it's hard to say exactly how good it is from a perceptual standpoint without doing proper human testing. But the motivation to do good testing like that is not really there as long as it's closed source and undescribed.

    Just looking at the decompressed DLI images, I can see DCT artifacts. Given the long encode time I assume it's doing some kind of very aggressive R/D optimization search on a model with a lot of options or parameters.
    Last edited by cbloom; 3rd August 2016 at 20:38.

  6. #6
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    Quote Originally Posted by thorfdbg View Post
    I gave it a test problably like two years ago with our JPEG image dataet, and it performed really quite good, i.e. better than JPEG 2000. I don't know whether it performs better than HEVC I-frame compression because that wasn't available back then. The only thing I remember is that it was extremely slow, and thus not really suitable for the end-user market (but then again, HEVC I-frame is not a sprinter either).

    Finally, to get some really meaningful test, a subjective performance test should be done using an established evaluation protocol (such as DSIS) using test subjects. Unfortunately, I don't have a lab for that.

    I also remember that I asked them to probably contribute with this to a JPEG activiity, but they were not interested.
    Thanks. The opinion of a domain expert is more meaningful than an objective test, IMO. To accept the test, you have to accept somebody's opinion that whatever it's testing is important. So in either case it comes down to opinions.

    An objective test might well do a good job of measuring some specific type of distortion, but adding distortion is what lossy compressors do -- the goal is distortion that doesn't offend the eye, and computers don't have eyes.

  7. #7
    Member
    Join Date
    Jun 2009
    Location
    Kraków, Poland
    Posts
    1,471
    Thanks
    26
    Thanked 120 Times in 94 Posts
    You get best results if you tune to final reviewers' eyes

    Should objectiveness factor ignorance? In other words: what if someone recognizes artifacts but don't really care about them?

    Should we measure the "wow effect" or let people inspect images for artifacts?

    Should we tune to the most picky group of people or to typical customer buying things where a lossy compression algorithm is used?

    If an algorithm is set to replace a previous common one then to impress people it should primarily fix most painful weaknesses of that old algorithm.

    Also, I wouldn't be surprised if an algorithm that does some sort of intelligent retouch before compression would be deemed better (by ordinary people) than one striving for fidelity.

  8. #8
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by Piotr Tarsa View Post
    You get best results if you tune to final reviewers' eyes
    Not really, because it's typically not the reviewer who looks at the image. There are established and well-understood test protocols for visual evaluation, and these seem to work pretty fine. Of course, it also depends on whether observers prefer blocky or blury images, but in the end, it averages out. A typical test protocol would include more than six test subjects with good vision (corrected, or natural), tests for color-blindness, and then a test protocol that describes how the images are shown. One such test protocol (forced choice) would for example show pairs of images of nearly identical content, and observers would have to rate which image has the better quality. Such tests typically include a training phase, plus some statistical tests whether subjects paid attention (removal of outliers, quizzes in the test - "what was shown on the last image you've seen", things like that). In the end, you get a quality grade over bitrate, with some statistical error bars that give you an indication how reliable the test was, and typically an additional matrix whether the quality differences were statistically significant (or could also have been just due to noise effects).


    Oh yes, test subjects are usually "naive", i.e. non-experts. So you get the impression of a broad audience of typical end users. It requires some efford to setup a good test and evaluate it, but it's not rocket science either.

  9. #9
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    I don't think you can really hide the distortion caused by lossy image compression. It's easy to see the loss of detail if you compare the compressed and uncompressed versions side-by-side, or if you zoom in on fine details. Jpeg basically acts like a low-pass filter, and ideally the visual impact is to make the image look slightly out of focus. You're not so aware of artifacts when seeing only the compressed version, because all images have limited resolution and the blur isn't distracting. What's distracting is nonlinear artifacts, like so-called mosquito noise. I think what separates good and bad algorithms is the extent to which the distortion looks smooth and natural.

  10. #10
    Member
    Join Date
    Nov 2013
    Location
    Kraków, Poland
    Posts
    645
    Thanks
    205
    Thanked 196 Times in 119 Posts
    Indeed blocking artifacts is a big problem of lossy image compression. We could "deblock" them using some smoothing, but it means erasing precious information we have stored.
    Beside wavelets, interesting concept to handle this problem are lapped transforms used e.g. in Daala: https://xiph.org/~xiphmont/demo/daala/demo1.shtml

    A decade ago I have worked on complex base numeral systems (which were some inspiration for asymmetric numeral systems) - it lead to quickly computable fractal covering of a 2D (integer!) plane, like:
    Click image for larger version. 

Name:	complex.jpg 
Views:	126 
Size:	14.2 KB 
ID:	3090
    Maybe it would be reasonable to use it for image compression - in contrast to standard square blocks, these fractal ones have some advantages:
    - the boundary artifacts should be less visually distractive,
    - there are 6 neighbors instead of 4 - what could allow for better use of correlations.
    A simple way of using them is through Haar wavelets: +1 on one fractal, -1 on its translated copy.

    update: separate discussion and implementation of such transform: http://encode.ru/threads/2045-2D-fra...implemented%29
    Last edited by Jarek; 11th September 2014 at 19:33. Reason: update

  11. #11
    Member
    Join Date
    Sep 2010
    Location
    US
    Posts
    126
    Thanks
    4
    Thanked 69 Times in 29 Posts
    Jarek - that's very interesting but seems computationally infeasable.

    The ideal would be to dynamically make regions based on edges and do directional transforms.

    Lapped transforms are terrible and Daala has made a huge mistake IMO. Deblocking of normal blocked transforms is extremely effective.
    Last edited by cbloom; 3rd August 2016 at 20:38.

  12. #12
    Member
    Join Date
    May 2007
    Location
    Poland
    Posts
    85
    Thanks
    8
    Thanked 3 Times in 3 Posts
    Quote Originally Posted by cbloom View Post
    DLI is definitely very good. You're right that it's hard to say exactly how good it is from a perceptual standpoint without doing proper human testing. But the motivation to do good testing like that is not really there as long as it's closed source and undescribed.

    Just looking at the decompressed DLI images, I can see DCT artifacts. Given the long encode time I assume it's doing some kind of very aggressive R/D optimization search on a model with a lot of options or parameters.
    DLI has two modes. One is super slow for beating benchmarks, the other is decently quick and a bit less performant. To my eyes DLI is really good for low-to-mid quality images. For high quality its advantage wanes to the point I prefer the look of jpeg (DLI is bit blurry).

  13. #13
    Member
    Join Date
    Nov 2013
    Location
    Kraków, Poland
    Posts
    645
    Thanks
    205
    Thanked 196 Times in 119 Posts
    Charles, I don't agree that it is computationally infeasible.
    To calculate standard 1D Haar wavelet, e.g. for x1, x2, x3, x4, x5, x6, x7, x8
    high frequency Haar coefficients are x1-x2, x3-x4, x5-x6, x7-x8
    then we find sums over these subsets: s12=x1+x2, s34=x3+x4, s56=x5+x6, s78=x7+x8
    then analogously for higher level - Haar coefficients are s12-s34 and s56-s78
    then sums over larger subsets: s14=s12+s34, s58=s56+s78
    next Haar coefficient is s14-s58
    Having also the last normalization coefficient: s18=s14+s58, we can decode all "x"s.

    So generally we have binary tree covering all positions, and perform single addition and subtraction in each node.
    And exactly the same way we can calculate such fractal Haar wavelets - while in 1D the ranges differed by 2^k, in complex plane they differ by 2D vector z^k, where z is the base of given complex base system, like here for z = i + 1 and z = i - 1 correspondingly:
    Click image for larger version. 

Name:	Complex_base_draw.jpg 
Views:	135 
Size:	107.4 KB 
ID:	3091

    Regarding deblocking, it is enforcing continuity condition after decoding DCT coefficients - maybe we could use this continuity for restricting the space of possibilities for coefficients instead - saving space on discontinuity information that is erased while deblocking ...
    Last edited by Jarek; 24th August 2014 at 01:44.

  14. #14
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    Actually, I have a question/proposal myself. I know that in video compression, inter-frame correlations are a (or maybe the) big target for compressors. What about when you have a collection of still images that have obvious correlations, like a photo album? Could those correlations be exploited if the images are archived together?

  15. #15
    Member
    Join Date
    Jun 2009
    Location
    Kraków, Poland
    Posts
    1,471
    Thanks
    26
    Thanked 120 Times in 94 Posts
    IIRC someone on this forum (Alex Rhatushnyak perhaps?) tried to use PAQ image model to find correlations between different font renderings (or were them different scans portions?) and that didn't work well. PAQ doesn't compute motion vectors, so maybe that's the culprit. Or maybe that it's lossless and noise destroys correlations?

  16. #16
    Member
    Join Date
    Mar 2014
    Location
    Helsinki, Finland
    Posts
    10
    Thanks
    0
    Thanked 5 Times in 3 Posts
    When it comes to deblocking, there are more ways for doing it than simple interpolation. Below is a simple unix shell script I did a couple of weeks ago for deblocking JPEGs. Here's the referred paper: http://citeseerx.ist.psu.edu/viewdoc...0.1.1.217.5401

    A couple of things are obvious when testing it: The deblocker doesn't blur that much detail and is beneficial to PSNR below quality 90 (IJG scale) or so. Also, what it doesn't do is remove ringing, which I think is the bigger problem at quality settings generally used for still images.

    Ringing originates from the multiple high-frequency coefficients produced by sharp edges. More modern codecs do intra prediction, which is sort-of good for reducing bitrate and ringing as long as the prediction mode closely matches the contents of the block. The number of possible blocks is much higher than the number of prediction modes, so that's not always going to happen. If the error happens to be in the form of sharp detail, then the benefits quickly diminish.

    I'm of the opinion that second-generation image compression methods (Coding by structure, Image segmentation) need another chance. I'm not familiar with the latest developments in the field, but AFAIK, there was some research 10-20 years ago that struggled to produce methods that would systematically compress better than 1st gen.

    Here's an example of such a method:
    http://citeseerx.ist.psu.edu/viewdoc...=10.1.1.8.5113

    The benefit of a segmentation-based method is that you get rid of ringing and the associated wasted coefficient bits. Also, it's well suited to compressing any kind of image: synthetic, photographic and hybrid types. The main problem bitrate-wise is efficiently coding the texture near the edges. I have a suspicion that the models generally used were simple and far from optimal. Case in point is the example paper: if some kind of elaborate model was being used, you'd think they'd mention.
    Attached Files Attached Files

  17. #17
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by nburns View Post
    I don't think you can really hide the distortion caused by lossy image compression.
    Actually, *that* is not the problem. There are many known effects of the human eye that allow you to hide distortion as long as the distortion is under the visual threshold. The contrast-sensitivity function is the most prominent example - you don't see high frequencies very well. You can also save rate by allowing larger loss in chroma, and you can also make use of visual masking effects, making defects to stand out less in visually noisy image areas.

    Quote Originally Posted by nburns View Post
    It's easy to see the loss of detail if you compare the compressed and uncompressed versions side-by-side, or if you zoom in on fine details.
    Believe me, it is not easy if the compression is well done, and you don't overcompress. Zooming in is not allowed in subjective tests, however, since you don't enjoy your photos "zoomed in" anyhow.

    Quote Originally Posted by nburns View Post
    Jpeg basically acts like a low-pass filter,
    Actually, no. The example quantization tables in the standard make it work like a bandpass filter with the peak at the peak of the CSF. Of course, if you select the quantization tables appropriately, you can make it work as any type of filter you want.



    Quote Originally Posted by nburns View Post
    and ideally the visual impact is to make the image look slightly out of focus. You're not so aware of artifacts when seeing only the compressed version, because all images have limited resolution and the blur isn't distracting. What's distracting is nonlinear artifacts, like so-called mosquito noise. I think what separates good and bad algorithms is the extent to which the distortion looks smooth and natural.
    That depends on the compression region. If you overcompress, then yes. If you don't, then the problem is stay under the visual threshold.

  18. #18
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by Jarek View Post
    Indeed blocking artifacts is a big problem of lossy image compression.
    It's only a problem for compression schemes that are block based and that do not use any type of block-overlap. JPEG is actually the only example I know. Everything even slightly more modern than JPEG, that is JPEG XR, can avoid that. JPEG 2000 avoids it for certain.

    Quote Originally Posted by Jarek View Post
    Maybe it would be reasonable to use it for image compression - in contrast to standard square blocks, these fractal ones have some advantages:
    - the boundary artifacts should be less visually distractive,
    - there are 6 neighbors instead of 4 - what could allow for better use of correlations.
    A simple way of using them is through Haar wavelets: +1 on one fractal, -1 on its translated copy.
    That's not the only criterion for compression. Image compression - lossy image compression - also requires a transform that performs a good energy compaction, in the sense that most signal energy is in a single band. As long as you assume that your image can be modeled by a position-independent auto-correlation transform that has a Laplacian shape, one finds that the ideal transform under such conditions is the DFT (or its real part, DCT for that matter). This of course avoids other influence factors such as block defects.

    Its a whole industry, anyhow. From an information theoretic point of view, it is not hard to see that the ideal lossy compressor can have at most a gain of 6dB per spended bit, *if* you believe that MSE (or PSNR) is a suitable approximation for quality. If you check the PSNR graphs for JPEG 2000 or XR or HEVC, we're pretty much at this limit.

    You can get better at the high-compression (low quality) end, because this result is asymptotic. You cannot get better at the high-quality end. What "high" and "low" quality means is of course another question, so there's no excuse to stop looking for something better....

  19. #19
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by T. Hautamäki View Post
    I'm of the opinion that second-generation image compression methods (Coding by structure, Image segmentation) need another chance. I'm not familiar with the latest developments in the field, but AFAIK, there was some research 10-20 years ago that struggled to produce methods that would systematically compress better than 1st gen.
    There are a couple of models on the horizon that use a segmented-based approach, i.e. you code "edges" and "contents". Some of the methods are even scalable, i.e. provide a quality scale, in particular the methods by David Taubman (yes, the same guy that made JPEG 2000). However, it is not substantially better on natural images, and David advocates it mostly as a compressor for depth-maps (used for compression of stereoscopic images). Such images have prominent edges and mostly flat content.

    One way or another, transform-based compression still seems to be the most reliable technique we have. Methods like fractal compression really haven't caught up and had a couple of very serious drawbacks (leave alone the computational complexity). MPEG is currently looking into mesh-based compression where a (moving) scene is approximated by (segmented) objects rendered as 3-d based meshes plus a texture on top, similar to a 3D scene in a game rendered by OpenGL or DirectX. Such methods are more suitable for the low-quality end where you want to get an idea how the scene looks like. It's more a parametric description of the scene than a realistic representation. The same idea has been applied to speech coding where you also use parametric coding at the low-quality end - no need to represent the speaker faithfully as long as you understand what she's saying.

    EDIT: Of course, if anyone has an interesting method and the means and commitment to drive this foreward, JPEG invites you to submit it as a contribution for Advanced Image Coding. But again, committment is the key factor (you shouldn't expect that somebody else does the work for you...)

  20. #20
    Member
    Join Date
    Mar 2014
    Location
    Helsinki, Finland
    Posts
    10
    Thanks
    0
    Thanked 5 Times in 3 Posts
    Quote Originally Posted by thorfdbg View Post
    Its a whole industry, anyhow. From an information theoretic point of view, it is not hard to see that the ideal lossy compressor can have at most a gain of 6dB per spended bit, *if* you believe that MSE (or PSNR) is a suitable approximation for quality. If you check the PSNR graphs for JPEG 2000 or XR or HEVC, we're pretty much at this limit.

    You can get better at the high-compression (low quality) end, because this result is asymptotic. You cannot get better at the high-quality end. What "high" and "low" quality means is of course another question, so there's no excuse to stop looking for something better....
    True, but only to the extent that the coding model can't handle the bottom-most bitplanes and in order to reproduce them has to store them verbatim. Maybe it's because the bits truly are indistinguishable from noise. Or maybe the model is deficient. In other words, aiming for PSNR but getting no more than +6 dB for every +1 bpc means the coder works well, but has "given up".

    Quote Originally Posted by thorfdbg View Post
    There are a couple of models on the horizon that use a segmented-based approach, i.e. you code "edges" and "contents". Some of the methods are even scalable, i.e. provide a quality scale, in particular the methods by David Taubman (yes, the same guy that made JPEG 2000). However, it is not substantially better on natural images, and David advocates it mostly as a compressor for depth-maps (used for compression of stereoscopic images). Such images have prominent edges and mostly flat content.
    Yep, it's relatively straightforward (if not exactly easy) to get to the "special purpose compressor"-stage. From there, it gets interesting.


    Oops,
    here's a slight fix to the antiblock script, couldn't handle spaces in filenames.
    Attached Files Attached Files

  21. #21
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by T. Hautamäki View Post
    True, but only to the extent that the coding model can't handle the bottom-most bitplanes and in order to reproduce them has to store them verbatim. Maybe it's because the bits truly are indistinguishable from noise. Or maybe the model is deficient. In other words, aiming for PSNR but getting no more than +6 dB for every +1 bpc means the coder works well, but has "given up".
    No, this result is deeper than that and not constraint to Gaussian noise. It is more or less a consequence that MSE is quadratic in the error. It also holds for other sources, though with a small "correction term" that tends to a constant (not one!) as the rate goes to infinity. That is, the whole PSNR over rate curve can be shifted up and down, and the left hand part for low rates can become pretty steep, but the asymptotic result stands. It holds true for all types of quantization, where a "transformation + scalar quantization" can also be understood as a special case of a vector quantizer.

  22. #22
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    Quote Originally Posted by thorfdbg View Post
    Actually, *that* is not the problem. There are many known effects of the human eye that allow you to hide distortion as long as the distortion is under the visual threshold. The contrast-sensitivity function is the most prominent example - you don't see high frequencies very well. You can also save rate by allowing larger loss in chroma, and you can also make use of visual masking effects, making defects to stand out less in visually noisy image areas.
    Thanks for the extra detail. I know a little more about lossy audio compression. The techniques are broadly similar.

    Believe me, it is not easy if the compression is well done, and you don't overcompress. Zooming in is not allowed in subjective tests, however, since you don't enjoy your photos "zoomed in" anyhow.
    Jpeg is quite good. I have a feeling that the bigger reason that it works best without zooming is because no one knows how to solve the technical problems, not so much because there's no reason to ever zoom a photo. I suspect overcompression is not uncommon, because there are lots of jpeg artifacts on the web.

    Actually, no. The example quantization tables in the standard make it work like a bandpass filter with the peak at the peak of the CSF. Of course, if you select the quantization tables appropriately, you can make it work as any type of filter you want.
    Interesting.

    That depends on the compression region. If you overcompress, then yes. If you don't, then the problem is stay under the visual threshold.
    It's easier to see JPEG artifacts than it is to hear mp3 artifacts, if only because you can zoom an image. My broad point was that compression always subtracts information/adds noise (if it's lossy).
    Last edited by nburns; 25th August 2014 at 08:00.

  23. #23
    Member
    Join Date
    Jan 2014
    Location
    Bothell, Washington, USA
    Posts
    685
    Thanks
    153
    Thanked 177 Times in 105 Posts
    Quote Originally Posted by nburns View Post
    My broad point was that compression always subtracts information/adds noise.
    What about audio decimation filters? They remove out of band noise and reduce the size of the data (sampling rate).

  24. #24
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    Quote Originally Posted by Kennon Conrad View Post
    What about audio decimation filters? They remove out of band noise and reduce the size of the data (sampling rate).
    So you're saying that decimation filters both compress and remove noise? Well, firstly, decimation filters aren't compressors in the sense that we talk about here, so they're tangential: if you started a thread about decimation filters, don't you suppose it would be off-topic? Secondly, they do actually lose information and add noise: quantization noise. You're calling the higher frequencies that get cut off noise, but you could just as easily call it signal. If you decimate down far enough, you'd eventually be losing information that is indisputably not just noise.

  25. #25
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    Quote Originally Posted by Piotr Tarsa View Post
    IIRC someone on this forum (Alex Rhatushnyak perhaps?) tried to use PAQ image model to find correlations between different font renderings (or were them different scans portions?) and that didn't work well. PAQ doesn't compute motion vectors, so maybe that's the culprit. Or maybe that it's lossless and noise destroys correlations?
    Well, I can't easily speculate on what went wrong there. What I'm envisioning would be lossless, I suppose, but for a lossy format, like jpeg. For example, there are probably millions of images online on sites like Instagram, Tumblr, Flickr, etc. Often there are several photographs of the same scene in succession, and they are visually very similar. The images have to traverse the network to get to the browser, and they take up memory and disk space on the user's PC, so there is reason to want better compression. Since the photos on these sites are usually displayed in order, the common case is loading on one web page many images that are very similar.

    Edit:
    A better and more concise name for what I'm talking about would be differential compression for images, i.e. something like bsdiff (which works poorly on jpegs, I tried it).
    Last edited by nburns; 29th August 2014 at 07:33.

  26. #26
    Member
    Join Date
    Jan 2014
    Location
    Bothell, Washington, USA
    Posts
    685
    Thanks
    153
    Thanked 177 Times in 105 Posts
    Quote Originally Posted by nburns View Post
    So you're saying that decimation filters both compress and remove noise? Well, firstly, decimation filters aren't compressors in the sense that we talk about here, so they're tangential: if you started a thread about decimation filters, don't you suppose it would be off-topic? Secondly, they do actually lose information and add noise: quantization noise. You're calling the higher frequencies that get cut off noise, but you could just as easily call it signal. If you decimate down far enough, you'd eventually be losing information that is indisputably not just noise.
    No, I wouldn't consider any technique that can be used to reduce the size of audio data as off topic. All of the decimation filters I have designed remove far more quanitization noise than they add.

  27. #27
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by nburns View Post
    So you're saying that decimation filters both compress and remove noise? Well, firstly, decimation filters aren't compressors in the sense that we talk about here, so they're tangential: if you started a thread about decimation filters, don't you suppose it would be off-topic? Secondly, they do actually lose information and add noise: quantization noise. You're calling the higher frequencies that get cut off noise, but you could just as easily call it signal. If you decimate down far enough, you'd eventually be losing information that is indisputably not just noise.
    A well known class of decimation filters have made it into image compression. They are called wavelets, and yes, they also work as energy compaction filters. That's of course not "compression", but the DCT doesn't compress either. They only compact the energy in the low-frequency bands.

    Similar to the DCT, they don't remove anything, a wavelet filter cascade is (in principle, i.e. up to numerics) lossless. Interestingly, the frequency filter characteristics of wavelets follows a geometric progression, not an arithmetic progression, and for that they fit much better to the contrast sensitivity of the human visual system, i.e. its easier to tune them. The loss is here introduced by the very same mechanism as in traditional JPEG, namely by quantization.

  28. #28
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    Quote Originally Posted by thorfdbg View Post
    A well known class of decimation filters have made it into image compression. They are called wavelets, and yes, they also work as energy compaction filters. That's of course not "compression", but the DCT doesn't compress either. They only compact the energy in the low-frequency bands.

    Similar to the DCT, they don't remove anything, a wavelet filter cascade is (in principle, i.e. up to numerics) lossless. Interestingly, the frequency filter characteristics of wavelets follows a geometric progression, not an arithmetic progression, and for that they fit much better to the contrast sensitivity of the human visual system, i.e. its easier to tune them. The loss is here introduced by the very same mechanism as in traditional JPEG, namely by quantization.
    A geometric progression -- so basically, rather than harmonics (like the DFT/DCT), the wavelet transform steps by octaves (or fractional octaves)?

    I started educating myself on the DFT/FFT around December, and it's a brilliant piece of math. I still haven't looked very deep into wavelets.

  29. #29
    Member
    Join Date
    Jun 2013
    Location
    USA
    Posts
    98
    Thanks
    4
    Thanked 14 Times in 12 Posts
    Wavelets are nice in theory, disappointing in practice. See: http://x264dev.multimedia.cx/archives/317

  30. #30
    Member
    Join Date
    Feb 2013
    Location
    San Diego
    Posts
    1,057
    Thanks
    54
    Thanked 71 Times in 55 Posts
    Quote Originally Posted by Mangix View Post
    Wavelets are nice in theory, disappointing in practice. See: http://x264dev.multimedia.cx/archives/317
    I've seen that before. I lack the knowledge to evaluate what it's saying, but it sounds believable.

Page 1 of 2 12 LastLast

Similar Threads

  1. WebP (lossy image compression)
    By Arkanosis in forum Data Compression
    Replies: 62
    Last Post: 12th April 2019, 18:45
  2. Lossy image compression article
    By nburns in forum Data Compression
    Replies: 1
    Last Post: 20th October 2013, 19:20
  3. Lossy DEFLATE, lossy PNG
    By porneL in forum Data Compression
    Replies: 11
    Last Post: 15th August 2013, 19:00
  4. Some of my toy compressors
    By RichSelian in forum Data Compression
    Replies: 27
    Last Post: 6th October 2011, 05:09
  5. image compressors
    By maadjordan in forum Forum Archive
    Replies: 5
    Last Post: 13th August 2007, 09:28

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •