Sí, a crear tu propio algoritmo de compresión de imágenes con paleta dinámica.
 
Por ejemplo:   
Código PHP:
Ver original- <?php 
- header( "Content-type: image/png" ); 
- $imageName="cat.jpg"; 
-   
- for ($x=0;$x<$size[0];$x++) 
- { 
-     for ($y=0;$y<$size[1];$y++) 
-     { 
-   
-         $rango=51; 
-         $r=(- int )floor($pixelColor["red"]/$rango)*$rango;
 
-         $g=(- int )floor($pixelColor["green"]/$rango)*$rango;
 
-         $b=(- int )floor($pixelColor["blue"]/$rango)*$rango;
 
-   
-     } 
- } 
-   
-   
- ?> 
He creado una paleta de 216 colores (51 es divisor de 255, aunque en realidad puedes poner cualquier cifra entre 0 y 255; si no son divisores, habrá un insignificante e indetectable error en el redondeo de colores cercanos al blanco absolto), cada componente de color puede coger valores de 0, 51, 102, 153, 205 y 255. Seis colores. Tres componentes=6*6*6=216. 
El límite es tu imaginación. Puedes crear tú en un array la paleta, y hacer una función que escoja el color aproximado (por ejemplo sumando la diferencia de cada componente del pixel de la imagen con el componente de cada color de la paleta, y quedarse el menor).