3 ms·
"Prediction, rate-distortion and residuals" sounds suspiciously like you're talking about a video format, not an image format. And this isn't just any image fo
by tveita 10y ago
"Prediction, rate-distortion and residuals" sounds suspiciously like you're talking about a video format, not an image format.
And this isn't just any image format, it's a texture format. That comes with some additional limitations that will be foreign to the ffmpeg/vp8 people down the hall. Texture formats are made to be decodable in hardware, and are usually fixed-rate and support random lookup. ETC2 divides the picture into fixed-size blocks, and each block is represented with the same amount of bits. You can't predict the block based on surrounding blocks, and you can't save bits on easy to compress blocks and spend them on the difficult ones.
- astrange 10y ago> "Prediction, rate-distortion and residuals" sounds suspiciously like you're talking about a video format, not an image format. All video formats make better image formats than the image ones do, because people expect video codecs to get replaced faster. They just call them I-frames instead. H.265 is a better JPEG and ffv1 is a much better PNG. > Texture formats are made to be decodable in hardware, and are usually fixed-rate and support random lookup. Yeah, that's the major difference, and of course it's 2D random lookup so linear pixels are a very bad choice too. I don't know much about this area, but OS X WindowServer used to store all its bitmaps RLE-compressed and handle them straight in the compositor… > You can't predict the block based on surrounding blocks, and you can't save bits on easy to compress blocks and spend them on the difficult ones. There's different kinds of prediction in codecs - inside a block (intra prediction, he calls it "block type") and from neighboring blocks. I would've figured the second one doesn't happen too, but then what does he mean by "proto-block-chains"? Seems like he's trying to talk about dynamic programming for intra prediction, but actually means intra prediction heuristics. Rate-distortion doesn't matter if you can't control rate, yeah. But "residual" exists - it's just the pixel values not guessed by prediction.
- tveita 10y agoThere is no intra prediction. The proto-block-chains are just an optimization to choose which encodings will be tried for each block. An alternative is exhaustive search for each block, which is feasible, but slow.