¿Por qué la compresión JPEG procesa la imagen por bloques de 8x8 en lugar de aplicar la Transformación de Coseno Discreto a toda la imagen?¿Por qué la compresión JPEG procesa la imagen en bloques de 8x8?
Respuesta
Porque eso tomaría "para siempre" decodificar. No lo recuerdo completamente ahora, pero creo que necesitas al menos tantos coeficientes como píxeles en el bloque. Si codifica la imagen completa como un solo bloque, creo que necesita, para cada píxel, iterar a través de todos los coeficientes DCT.
No soy muy bueno en los grandes cálculos O pero supongo que la complejidad sería O ("para siempre"). ;-)
Para los codecs de video modernos, creo que han empezado a usar bloques de 16x16.
Si necesita iterar en cada iteración, es O (n^2), no "para siempre", que es O (n!). – Triang3l
8 X 8 fue elegido después de numerosos experimentos con otros tamaños.
1. Las matrices de tamaños superiores a 8 X 8 son más difíciles de realizar operaciones matemáticas (como transformadas, etc. 2. Cualquier matriz de tamaños inferiores a 8 X 8 no tiene suficiente información para continuar junto con la tubería. Resulta en una mala calidad de la imagen comprimida.
Lee, mi blog, http://nboddula.blogspot.com/2013/05/image-compression-how-jpeg-works.html
- 1. relación de compresión jpeg
- 2. compresión TDD y JPEG
- 3. ¿Cómo especificar la tasa de bits para la compresión JPEG?
- 4. EmguCV: cómo especificar la calidad de jpeg al guardar la imagen?
- 5. Comprueba si la imagen es JPEG
- 6. ¿Por qué las diversas extensiones JPEG?
- 7. imagen/pjpeg e imagen/jpeg
- 8. Cómo reducir el tamaño de imagen JPEG en Android
- 9. ¿Por qué Safari no acepta la compresión GZIP?
- 10. ¿Por qué la compresión ASP.NET gzip está corrompiendo CSS?
- 11. ¿Por qué la compresión gzip con Internet Explorer no funciona?
- 12. ¿Por qué la compresión gzip es más lenta para mí?
- 13. ¿Cómo se procesa la imagen píxel por píxel con WinAPI de forma RÁPIDA?
- 14. ¿Por qué usamos finalmente bloques?
- 15. No puedo comprimir una imagen JPEG y mostrarla en la pantalla
- 16. C++ ¿Qué biblioteca de compresión en memoria?
- 17. Cambiar el tamaño de la imagen JPEG al tamaño especificado
- 18. Imagen JPEG con colores incorrectos
- 19. Cómo crear una imagen JPEG progresiva en Android
- 20. ¿Hay una compresión con pérdida más rápida que JPEG?
- 21. Imagen sobre lienzo en archivo JPEG
- 22. Por qué Java ImageIO aplana los colores JPEG
- 23. Forma rápida de decodificar una imagen JPEG
- 24. ¿Por qué Paypal Sandbox no procesa los pagos?
- 25. ¿Por qué se superpone mi CalendarExtender cuando se procesa?
- 26. ¿Detecta la tasa de compresión JPG?
- 27. Multiple .NET procesa la huella de memoria
- 28. Python JPEG a la película
- 29. Escribir metadatos de dpi en una imagen jpeg en Java
- 30. Por qué el color de la imagen cambió cuando fue comprimido por Bitmap.CompressFormat.JPEG
consideran que la DCT es bueno en la compresión de las zonas más suaves con el contenido de baja frecuencia, pero bastante malo en la compresión de las áreas de contenido de alta frecuencia. –
pregunta idéntica: http://stackoverflow.com/questions/11147666/why-do-image-compression-algorithms-process-the-image-by-sub-blocks/11147696#11147696 –
Pregunta anterior idéntica: http: // stackoverflow.com/questions/74892/is-there-a-quality-file-size-or-other-benefit-to-jpeg-sizes-being-multiples-of –