По идее, жмёт его ImageIO.write, больше некому. Судя по всему, контролировать степень cжатия в этом методе нельзя.
ImageReader reader = ...; //ImageIO.getImageReaders(ImageIO.createImageInputStream(stream))
reader.setInput(...);
IIOImage image = reader.readAll(0, null);
RenderedImage renderedImage = image.getRenderedImage();
ImageWriter writer = ImageIO.getImageWriter(reader);
ImageWriteParam param = writer.getDefaultWriteParam();
paran.setCompressionMode(MODE_COPY_FROM_METADATA);
writer.setOutput(...);
writer.write(null, image, param);
Должно быть примерно как-то так.