Короткий ответ: никак.
Что бы наложить водяной знак на оригинальную картинку нужно её раскодировать, разместить watermark, потом закодировать снова. На последнем этапе ты будешь получать свою потерю качества. Причём, если ты будешь использовать параметры кодирования равносильные исходным, то качество просядет ещё сильнее: если для первого кодирования использовалась оригинальная картинка, то для повторного - уже искажённая.
Напугал? Это правда жизни. Но на практике нужно играться с параметрами кодирования и подбирая удовлетворяющее соотношение качества и размера выходного битстрима.