Using another message to make random decisions
Suppose the sender is also trying to communicate
another message
The other message is completely independent.
It looks like a random bit stream.
Whenever the sender has to choose between two
equally good ways of encoding the data, he uses a bit
from the other message to make the decision
After the receiver has losslessly reconstructed the
original data, the receiver can pretend to be the sender.
This enables the receiver to figure out the random bit
in the other message.
So the original message cost one bit less than we
thought because we also communicated a bit from
another message.