Re: Human Encoding
Johan Hanson <[email protected]> Mon, 22 Jul 2002 06:38:52 +0200
| Newsgroups | gmane.comp.multimedia.ogg.tarkin.devel |
|---|---|
| Message-ID | <[email protected]> |
Jeffrey Bridge wrote: > > > BTW, Im not convinced about the human mind remembering individual pixels > > though ;). > > As far as I can tell , the mind remembers things in terms of "wall, > slightly bumpy texture, white" and not much more than that, at least if > you aren't focusing on the object. If a picture has text in it, it seems > that you remember the text, not the bitmap. > > As for having an encoder do one leaf texture and the decoder produce > lots of modified copies of it, this is totally unworkable with the > current state of computing. That sounds like "fractal image compression" to me. Many papers on the subject have been produced. Use Google and ResearchIndex to find them. Though, I don't think existing fractal codecs do very well overall. Perhaps we should look at the "texture" aspect, trying to find a transform that will identify and then reproduce repeating texture patterns. I think DCT is better than wavelets at this. At low bitrates, good DCT coders will cause more ringing to occur in textured areas - producing more texture - where as a wavelet codec would just blur that area. For DCT, ringing is almost an intrinsic property. For wavelets, ringing can be said to be caused by quantization error. I suppose that it is possible to write a wavelet-based encoder that produces more ringing in textured areas instead of more coefficients ... This may sound absurd to some, but what about an adaptive transform that will use the "wrong" filter lengths to intentionally produce more ringing artifacts in highly textured areas? There are coders that encode filter length as side information, and it does not need to have very large resolution in either space or time. But what about larger texture patterns, and patterns on different scales? If I look around me, I see many patterns on many scales. My wallpaper has quite a high-frequency on the horizontal, and could probably be represented as a polynomial. The grill on my speakers have a repeating pattern. The keys on my keyboard are mostly the same size and color. The keys could probably be represented as discontinuous functions in one scale and the keycaps in another. Wavelets don't need to be continuous waveforms. There is a class of wavelets called "geometrical wavelets" where the most famous are the "min" and "max" wavelets. An interesting property of the max-wavelet is that it produces mostly positive coefficients -> not too many signs to encode. The signs of conventional wavelet coefficients are otherwise quite difficult to compress, and they are often not compressed at all, taking up a substantial fraction of the bitstream. Then, there are numerous alternative transforms that have been inspired by wavelets and lifting. For example: the "wedgelet" is a multiresolution representation of edges within an image. The "bandelet" and the "ridgelet" are other transforms that I have yet to read about. -- Johan It is half past six in the morning. I think I need some sleep now. --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to '[email protected]' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.