1. A data processing apparatus for detecting at least one of a set of code words which has been embedded in a water marked version of an image, the apparatus comprising: a registration processor operable to register the water marked version of the image and an original version of the image with respect to one another; and a detection processor operable to recover an estimate of the at least one of the set of code words from the water marked version of the image by comparing the water marked version of the image with the original version of the image, and to detect the at least one of the set of code words by correlating each of the set of code words with the at least one of the set of code words, wherein the registration processor includes, an image analyser operable to divide a frame of the water marked version of the image into a plurality of image blocks, a distortion vector probability estimator operable to estimate for each of the plurality of image blocks of the water marked version of the image an observed probability of possible distortion vectors representing shifts of the image block with respect to positions of the image block in the original version of the image, a forward probability estimator operable, for each of the plurality of image blocks, to generate an estimate of a forward probability distribution of the possible distortion vectors within the image block recursively from the observed probability of possible distortion vectors for the image block and forward probability distribution estimates determined from previous image blocks for a predetermined path through the plurality of image blocks, a backward probability estimator operable, for each of the plurality of image blocks, to generate an estimate of a backward probability distribution of the possible distortion vectors within the image block recursively from the observed probability of possible distortion vectors for the image block and backward probability distribution estimates determined from subsequent image blocks for a predetermined pattern, a combining engine operable to combine for each of the plurality of image blocks, the estimate of the forward probability distribution, the estimate of the backward probability distribution, and the observed probability of possible distortion vectors to form a most likely distortion vector estimate, and to form a map of distortion vectors from the most likely distortion vector estimate for each of the plurality of image blocks, and an inverse distortion engine operable to apply a reverse of the map of distortion vectors to register the water marked version of the image with the original version of the image to detect the at least one of the set of code words.