¿Por qué aumenta el tamaño de un GIF cuando agrego un logotipo aunque la cantidad de colores permanece igual?

Tengo un GIF animado de unos 2 MB de tamaño. Cuando lo abro en Photoshop CS 5, agrego una capa con un logotipo, luego lo guardo para la web, de repente tiene 4 MB de tamaño.

¿Por qué? No hay más colores ni nada, entonces ¿por qué aumenta el tamaño?

La imagen en cuestión es NSFW y no puedo publicarla aquí.

Parece que tal vez la cantidad de cuadros está aumentando de alguna manera. ¿Ha verificado la cantidad de cuadros en la salida?

Respuestas (5)

El número de color es solo la mitad del juego. La otra es comprimir la imagen después de la reducción de color. Esta compresión sin pérdidas busca patrones repetidos en orden de línea de exploración.

Larga historia, en resumen: cuando agrega el logotipo, está aumentando la variabilidad de la imagen, la entropía. La compresión empeora cuanto más entropía hay en la imagen, ya que la computadora ya no puede encontrar tantos patrones repetidos. Por lo tanto, duplicar la complejidad de la imagen en términos generales duplica el tamaño de su archivo.

Pequeño detalle: agregar un logotipo no aumenta "automáticamente" la variabilidad de la imagen (imagínese agregar un logotipo de color simple encima de una imagen complicada). Aún así, al tener que adivinar cómo se ven las imágenes de OP, es la explicación más probable.
@RadLexus No, ciertamente es posible terminar mágicamente sin aumentar el tamaño del archivo. Pero, en general, agregar cosas a una imagen tiende a aumentar la complejidad, lo que tiende a aumentar la entropía. Pero no, ciertamente no tiene que aumentar el tamaño, pero a menos que lo haya diseñado, lo más probable es que no lo haga.
No, no requiere magia o ingeniería especial para reducir el tamaño. El punto de @RadLexus es que cuando agrega algo a una imagen, en realidad está reemplazando una parte de la imagen. Si la parte que está reemplazando tiene una entropía más alta que la parte que está colocando, entonces la entropía total se reduce (en términos generales).
@Supr Sí, eso es cierto. Pero si coloca el logotipo en algo que no estaba muy ocupado, obtendrá el efecto contrario. Usted, en general, no desea colocar un logotipo en la parte más ocupada de una imagen, de lo contrario, es difícil de leer. PERO realmente no sabemos más que usar más espacio. Tenga en cuenta: lo simple sobre lo complejo también puede aumentar el tamaño de la parte compleja, porque ya no hay espacio para sus componentes básicos.

Aunque joojaa es mayormente correcto, en realidad los GIF no usan codificación de longitud de ejecución. Utilizan el algoritmo LZW .

Básicamente, este algoritmo puede aprovechar las repeticiones EXACTAS de franjas horizontales de píxeles. Esto funciona muy bien para colores sólidos y patrones regulares de tramado (por ejemplo, patrones de tablero de ajedrez).

Sin embargo, LZW solo puede "recordar" 4096 tiras de píxeles diferentes, por lo que cuanto mayor sea la variación en su imagen, más cortas serán estas tiras en promedio y menos compresión obtendrá.

El resultado final: si simplifica su logotipo (colores más sólidos y patrones regulares), o "toma prestadas" tiras de píxeles comunes del resto de la imagen dentro de su logotipo, o cambia los colores del logotipo para que aparezcan con más frecuencia en el resto de la imagen, el tamaño del archivo debería reducirse.

¡Gracias por el aporte y bienvenido a GraphicDesign! Háganos saber si usted tiene alguna pregunta
Llamada justa re. RLE. Como solución, simplemente agregué la información de mi respuesta a la respuesta de Joojaa, luego quité mi voto de su respuesta y, a su vez, te di uno a ti :)
Sí, no debería publicar cosas después de irme a la cama. De todos modos, la composición exacta de cómo funciona el algoritmo no es importante. Eliminada esa sección.
@LamarLatrell Perdón por la confusión, pero no creo que cómo funciona exactamente la compresión sea importante en este foro. Solo el principio general de patrones menos repetidos conduce a una imagen más grande mucho más fácil de aplicar en el pensamiento. Menos texto y resultado más comprensible.
No olvide que la compresión de imágenes GIF es tonta: cada cuadro se comprime individualmente, en lugar de intercombinar los cambios entre cuadros. Efectivo, es como tener n imágenes metidas en 1.

Como se mencionó en otras respuestas, cualquier variación colocada en la imagen que anteriormente era más uniforme pesimizará la compresión. Aún así, no creo que eso produzca un aumento de dos veces por 2Mb (a menos que su logotipo sea literalmente tan grande como la imagen en sí).

Podría ser que la imagen original tuviera la compresión máxima y se eliminara todo el encabezado/metainformación innecesarios y PS agregó muchas cosas propias o no usó la compresión máxima. Intente ejecutar su nuevo gif a través de la herramienta Me gusta gifsicley vea si ayuda. Si realmente no te importa el formato de la imagen, puedes probar pngout+ deflopty ver qué tan grande será .png.

Ciertamente es posible que la imagen tenga algunos metadatos. Pero si debemos especular, tal vez sea una animación en cuyo caso incluso un pequeño logotipo interactúa varias veces.

Además de la compresión GIF normal en cada imagen individual, los GIF animados pueden aplicar opcionalmente operaciones matemáticas entre el siguiente cuadro y el cuadro que ya está en pantalla, y colocar imágenes más pequeñas en áreas más pequeñas en el lienzo de la imagen.

Entonces, digamos que tiene un GIF animado con 10 cuadros, y es una figura de palo en blanco y negro que camina por el lienzo. La primera imagen estaría completa, llenaría el lienzo y tendría toda la información necesaria como si fuera un GIF independiente. El siguiente "marco" podría consistir solo en un cuadro más pequeño que solo actualiza el área que ha cambiado.

Con los gifs animados de video, esto es más complicado. Debido al tramado, a menudo encuentra que todo el marco cambia, por lo que será más grande.

Algunos programas de optimización de GIF pueden realizar optimizaciones significativas si comienzan con una buena fuente de video. Además, el software puede hacer algunas concesiones para mejorar (disminuir) el tamaño, pero al comprometer la animación, por ejemplo, tal vez un tramado peor.

Sin embargo, si comienza con un GIF de este tipo y lo cambia, aunque sea de una manera pequeña, no necesariamente puede esperar que el software (en este caso, Photoshop) pueda aplicar las mismas optimizaciones porque carece del video fuente original. . Además, es posible que ni siquiera lo almacene internamente de una manera que le permita recrear el GIF original con sus optimizaciones. Intente abrir el GIF animado y luego exportarlo como un nuevo GIF animado sin realizar ningún cambio. Es posible que el tamaño aumente simplemente porque no utiliza optimizaciones y almacena cada fotograma completo.

Una vez que cambie los marcos, encontrará que el tamaño aumentará de todos modos, incluso con optimizaciones. Esto es particularmente cierto si usa un canal alfa y tiene parte del logotipo transparente o como una marca de agua con translucidez.

Es posible que pueda recuperar algunas de las optimizaciones ejecutándolas a través de un software optimizador de animación GIF después de Photoshop, y mucha gente lo hace de todos modos, porque Photoshop valora la calidad y la perfección de píxeles por encima del tamaño.

Sin embargo, la solución ideal es tomar el video original (no el GIF, sino el archivo de video), aplicar el logotipo/marca de agua y luego usar un programa de animación GIF diseñado específicamente para optimizar el tamaño para realizar la conversión. Omite Photoshop por completo.

Deduciendo del tamaño de la imagen, diría que es un GIF animado y, como dijo Adam Davis, hay varias formas más de optimizar las imágenes GIF animadas que solo las imágenes GIF estáticas.

Ahora bien, no soy un experto en lo que hace exactamente Photoshop, pero puede intentar construir un archivo GIF en el que la capa del logotipo estático se superponga sobre el resto de los fotogramas, donde especialmente en el caso de una animación muy ocupada, es decir, un clip de película, podría sería mejor definir una 'animación fusionada' que consiste en una secuencia de cuadros de imagen completos que se muestran uno tras otro.

Solo sé cómo hacer esto con imagemagick, pero supongo que en Photoshop necesitas fusionar la capa del logotipo en la parte superior de cada cuadro antes de guardar la secuencia.

Gracias, @zelluv. Sí, es un GIF animado. Traté de fusionar el logotipo con cada marco/capa individual, de modo que no hubiera una capa separada, pero no cambió el tamaño del archivo ni un byte.