The problem with least significat bit approaches mentioned by others is that they don't survive through re-encoding very well. A much better way of watermarking IMHO would be to add features (could be patterns, even images or text) in Fourier space- imperceptible if done correctly, and guaranteed to survive through encodings.