Patent ID: 7058199
Filing Date: 2006-06-06
Classification: G06T,H04N

Abstract:
1. A method of transforming a first image, which is based on an array of pixels and in which each pixel takes one of at least three tone values, into a second image which is based on the array of pixels and in which each pixel takes one of two tone values, the second image including additional data, the method including: a first phase comprising the steps of: designating a plurality of pixels in said array for storing said additional data, using a random number generator based on a seed; and at each of said designated data storage pixels, setting the tone value of the second image according to a respective binary digit of the additional data, and deriving an error value for that designated data storage pixel representing a difference between the tone value of the second image at that data storage pixel and the value of the first image at that data storage pixel; and a second phase performed subsequent to said first phase and comprising the steps of: setting the tone values of the second image at second pixels, different from said designated data storage pixels, using a predetermined threshold by, for successive given ones of the second pixels along a predetermined path in said data array, performing the steps of: (i) using the tone value of the first image at the given second pixel to calculate a diffusion value for that given second pixel, (ii) if the diffusion value of the first image at the given second pixel is above the threshold, setting the value of the given second pixel of the second image to a first value and defining an error value for that given second pixel as the difference between the diffusion value and the first value, (iii) if the diffusion value of the first image at the given second pixel is below the threshold, setting the value of the given second pixel of the second image to a second value and defining an error value for the given second pixel as the diffusion value, wherein said diffusion value is a weighted sum of (i) the tone value of the first image at the given second pixel, (ii) the respective error values of the second pixels in a first neighbourhood of the given second pixel, and (iii) the error values of any designated data storage pixels in a second neighbourhood of the given second pixel.