Basándose en la respuesta del usuario de Quora, Whatsapp convierte la mayoría de las imágenes a JPEG antes de la transmisión, y utiliza la compresión con pérdida para reducir en gran medida el tamaño.
Esto funciona bien bajo el supuesto de que la mayoría de las imágenes son fotografías / imágenes de cámara y tienen un rango de color dinámico, donde el ojo humano no notará fragmentos de información faltante (vea el enlace a continuación). Las imágenes que se adaptan a esta descripción pueden reducirse de 3 MB (resolución de 8 MP) a 70 KB.
Whatsapp lee la resolución de entrada de la imagen y reduce su tamaño a un ancho de 800 px (altura determinada por la relación de aspecto). Se mantienen las imágenes cuyo ancho de base es menor que 800px.
- ¿Por qué los estudiantes chinos tienen un talento extraordinario en programación y algoritmos?
- ¿Cuál es la mejor manera de aprender estructuras de datos y algoritmos para estudiantes que no son de CS / IT?
- ¿Qué tan difícil es aprender por sí mismo cómo codificar algoritmos eficientes?
- Cómo explicar el concepto de un algoritmo a un niño
- ¿Cuál es la forma más fácil / intuitiva de aprender sobre algoritmos y estructuras de datos?
El resultado final es que casi ninguna imagen transmitida con Whatsapp tiene un tamaño superior a 90 KB ( verificado con un explorador de raíz en Android y sumergiéndose en la carpeta de datos de Whatsapp). Supongo que BBM hace algo similar.
PD: hice el análisis hace un tiempo tratando de implementar algo similar para una aplicación de Android.
Fuente: Mejora de la compresión de imágenes: lo que hemos aprendido de Whatsapp
Comparación extremadamente útil: imagen – PNG vs. GIF vs. JPEG – ¿Cuándo es mejor usar? – Desbordamiento de pila