Why JPEG compression processes image by 8x8 blocks?

为什么JPEG压缩是通过8x8块来处理图像,而不是对整个图像应用离散余弦变换?


8 X 8 was chosen after numerous experiments with other sizes.

The conclusions of experiments are: 1. Any matrices of sizes greater than 8 X 8 are harder to do mathematical operations (like transforms etc..) or not supported by hardware or take longer time. 2. Any matrices of sizes less than 8 X 8 dont have enough information to continue along with the pipeline. It results in bad quality of the compressed image.

Read, my blog, http://nboddula.blogspot.com/2013/05/image-compression-how-jpeg-works.html


Because, that would take "forever" to decode. I don't remember fully now, but I think you need at least as many coefficients as there are pixels in the block. If you code the whole image as a single block I think you need to, for every pixel, iterate through all the DCT coefficients.

I'm not very good at big O calculations but I guess the complexity would be O("forever"). ;-)

For modern video codecs I think they've started using 16x16 blocks instead.

链接地址: http://www.djcxy.com/p/10786.html

上一篇: 如何为iPad 3命名图形文件

下一篇: 为什么JPEG压缩通过8x8块处理图像?