Насколько мне известно, наилучшее сжатие изображений без потерь выполняется с помощью PNG, который могут записывать библиотеки изображений в Java.
Если вам нужны изображения меньшего размера, чем это, вам необходимо использовать сжатие с потерями.Простой способ сделать это с JPEG, где вы можете уменьшить качество, пока не получите желаемую скорость.
Вы также можете уменьшить масштаб изображения до 1/2 или 1/3 от исходного размераполучая гораздо меньшую картину и передавая ее, и улучшая ее на другом конце.Это можно будет использовать для быстрой передачи, а затем вы можете передать полное изображение, когда движения успокоятся.