3 ms·
I don't think this is necessarily a good idea. For one thing, automatically cutting off the edges of a frame is undesirable, exactly for the reason mentioned (
by Xcelerate 13y ago
I don't think this is necessarily a good idea. For one thing, automatically cutting off the edges of a frame is undesirable, exactly for the reason mentioned (in a conference call, it cuts the people on the edges off).
Secondly, zooming is not as effective as real compression. What I mean by this is: assume you have a high resolution image. One way to save bandwidth is to use a well-designed compression algorithm optimized for the human visual system. The second way is to just shrink the image, and then "stretch" it back to the original size, which -- in a sense -- is what Skype is doing here. Which is going to be more effective?
- nitrogen 13y agoOne way to save bandwidth is to use a well-designed compression algorithm optimized for the human visual system. The second way is to just shrink the image, and then "stretch" it back to the original size, which -- in a sense -- is what Skype is doing here. Which is going to be more effective? It really depends on how much data you need to shave off. Beyond a certain point, you'll get better visual results by reducing image size rather than increasing compression. As an example, an SD movie encoded with H.264 to a file size of 300MB would look a lot better than an HD movie encoded to the same file size, even when played back at the same on-screen dimensions.
- 0x0 13y agoThis made me think... Is that a misfeature or bug in the compression algorithm? Why wouldn't the video codec adapt appropriately? If lower res causes a more even and smooth image, why shouldn't it scale down?
- nitrogen 13y agoI had typed a lengthy introduction to an explanation, but realized I don't know exactly where all the bits are going in a high-res low-bitrate image. All I can say with confidence is that if you squeeze a high-resolution image into the same size as a low resolution image, the low resolution image will look better. The high resolution image will basically be reduced to storing DC coefficients, so you'll see these giant 16x16/8x8/4x4/etc. pixel blocks of solid color, with maybe a bit of pattern on them that barely correlates with what the original looked like. Maybe it comes down to the per-macroblock overhead; maybe fewer blocks total in the lower resolution image allows more bits to be allocated to frequency coefficients instead of DC offsets.
- 0x0 13y agoYeah, I've observed the effect, but it never occured to me that it doesn't (or shouldn't) have to be that way :) We should be able to demand codecs that are smarter and more adaptive :) It's hard to imagine why anyone would want a blocky highres lowbitrate stream if the lowres variants are always better, for a given timespan of video
- gmartres 13y agoThough this isn't implemented by the reference encoder yet, the VP9 bitstream supports this (encoding a downscaled frame and signaling to the decoder to upscale it before displaying it).