Claims
- 1. A method of displaying an image comprising the steps of:
- (a) providing an image ccmprising a plurality of image elements i(m,n), m comprising the integers 1 to m.sub.total, n comprising the integers 1 to n.sub.total, n.sub.total a function of m, each image element i(m,n) having an intensity I(m,n) equal to at least one of q image intensity values, where q is at least equal to three, each image element having a position;
- (b) providing a display comprising a plurality of display elements d(m,n), each having a position corresponding to the position of image element i(m,n), and each display element d(m,n) being capable of emitting light with an intensity D(m,n) equal to one of r amplitude-ordered display intensity values A1,A2 . . . Ar, where r is an integer less than q, and Ax is the xth display intensity value;
- (c) storing r-1 threshold values, (T1,T2, . . . T(r-1)), where Tx is the xth threshold value;
- (d) storing an error value E(m,n) for each m and n, where E(m,n)=I(m,n-1)+E(m,n-1)-D(m,n-1) and E(m,1) for all m is a function of time and m only;
- (e) for mapping the image into the display by displaying the plurality of display elements d(m,n) m=1 to m.sub.total and, for each m, for n=1 to n.sub.total, with an intensity;
- (i) D(m,n)=A=1, if I(m,n)+E(m,n)<T1,
- (ii) D(m,n)=Ar, if I(m,n)+E(m,n).gtoreq.T(r-1), or,
- (iii) for r>2 and T1.ltoreq.I(m,n)+E(m,n)<T(r-1), D(m,n)=Ax where x is the value between 2 and r-1 which satisfies the condition (T(x-1).ltoreq.I(m,n)+E(m,n)<Tx.
- 2. The method according to claim 1 wherein r=2, whereby, the display is made up of elements with two possible intensity values A1 or A2, and there is only one threshold value T1.
- 3. A method according to claim 1, comprising the additional steps of:
- (a) defining a counter variable C, and a suppression constant, N;
- (b) for each m and n considered,
- (i) if n=1, setting C=N,
- (ii) if C<0 and D(m,n)=A2, displaying the display element intensity value D(m,n) with an intensity value A1,
- (iii)
- (A) if I(m,n)+E(m,n).gtoreq.T1, setting C=N
- (B) if I(m,n)+E(m,n)<T1, setting C=C-1.
- 4. The method according to claims 1 or 3 wherein the display intensity values, (A1,A2, . . . Ar), are equally spaced and the threshold values, (T1,T2, . . . T(r-1)), are spaced equidistantly between neighboring intensity values.
- 5. The method as in claim 1 wherein the image is one of many temporally successive, possibly identical, images provided at a constant frame rate, the display is displayed once for each image, whereby the display is a series of temporally successive images which change at the frame rate.
- 6. The method as in claim 5 wherein E(m,1) for all m alternates between two different values for each successive image, whereby some or all of the display array elements D(m,n) have different display intensity values for successive but identical images.
- 7. The method according to claim 6 wherein r=2 and E(m,1) for all m alternates between 0 and T1, whereby some or all of the display elements D(m,n) have different display intensity values for successive but identical images.
- 8. The method according to claims 1 or 2 wherein the image is provided by the input signal to a CRT video screen, the input signal comprises three overlapping analogue signals corresponding to each primary color intensity of the image, and the display is provided by a display with elements of three or more colors arranged in a mosaic color pattern.
- 9. The method according to claim 8 wherein I(m,n) is the discrete image element intensity value of the same color of the corresponding display element, determined from the analogue signals for the spatial region of the image corresponding to the display element d(m,n), the spatial region of the image being image element i(m,n).
- 10. The method according to claim 9 wherein the display is a mosaic color display with isochromatic diagonals and the display elements, d(m,n), correspond to the n.sub.total elements in each of the m.sub.total isochromatic diagonals of the display, whereby image elements i(m,n) are also referenced diagonally on the image to spatially correspond to display elements d(m,n).
- 11. The method according to claim 10 wherein the image is one of many temporally successive images provided at a constant frame rate, the display is displayed once for each image, whereby the display is a series of temporally successive, possibly identical, images which change at the frame rate.
- 12. The method according to claim 11 wherein E(m,1) are equivalent for all m for each said image.
- 13. The method according to claim 12 wherein E(m,1) for all m change at a frequency equal to that of the frame rate, whereby, some or all of the display array elements D(m,n) have different display intensity values for successive but identical images.
- 14. The method according to claim 13 wherein r=2, A1=0, T1=A2/z and the value of E(m,1l) for all m alternates at the frame rate between 0 and T1, whereby some or all of the display array elements D(m,n) have different display intensity values for successive but identical images.
- 15. The method according to claim 11 wherein the value of E(m,1) for each m is uncorrelated to E(m,1) for all other m for each image provided at the constant frame rate, E(m,1) for all m lying between A1 and Ar.
- 16. The method according to claim 15 wherein E(m,1) for all m change at the constant frame rate, whereby some or all of the display array elements D(m,n) have different display intensity values for successive but identical images.
- 17. The method according to claim 16 wherein r=2, A1=0, T1=A2/Z, and the values of E(m,1) for each m alternate at the frame rate between two values within the range of 0 and A2 separated by A2/Z , whereby some or all of the display array elements D(m,n) have different display intensity values for successive but identical images.
- 18. The method according to claim 1 wherein said image and said display are provided with elements of varying intensities of white light.
- 19. The method according the claim 1 or 18 wherein said image elements i(m,n) correspond to the n.sub.total elements in the m.sub.total horizontal rows of said provided image, and said display elements d(m,n) correspond to the n.sub.total elements in the m.sub.total horizontal rows of said provided display.
- 20. A method of displaying an image comprising the steps of:
- (a) providing an image comprising a plurality of image elements i(m,n), m comprising the integers 1 to m.sub.total, n comprising the integers 1 to n.sub.total, n.sub.total a function of m, each image element i(m,n) having an intensity I(m,n) equal to at least one of q image intensity values, where q is at least equal to three, each image element having a position;
- (b) providing a display comprising a plurality of display elements d(m,n), each having a position corresponding to the position of image element i(m,n), and each display element d(m,n) being capable of emitting light with an intensity equal to one of r amplitude-ordered display intensity values A1, A2 . . . Ar, where r is an integer less than q, and Ax is the xth display intensity value;
- (c) storing r-1 threshold values (T1,T2, . . . T(r-1)), where Tx is the xth threshold value;
- (d) storing defining an error value E(m,n) for each m and n, where ##EQU3## where: (i) m' ranges among the references for the m.sub.total groupings of elements for processing, while j ranges among the references for each element in the m' group of elements;
- (ii) K(m,m',n,j) is a propagation coefficient for the propagation of error from i(m',j) to i(m,n);
- (iii) E(m,l) is a function of time and m only;
- (e) mapping the image onto the display by displaying the plurality or display elements d(m,n) for m=1 to m.sub.total and, for each m, for n=1 to n.sub.total, with an intensity
- (i) D(m,n)=A1, if I(m,n)+E(m,n)<T1,
- (ii) D(m,n)=Ar, if I(m,n)+E(m,n).gtoreq.T(r-1), or,
- (iii) for r>2 and T1.ltoreq.I(m,n)+E(m,n)<T(r-1), D(m,n)=Ax where x is the value between 2 and r-1 which satisfies the condition T(x-1).ltoreq.I(m,n)+E(m,n)<Tx.
- 21. A method according to claim 20, wherein, comprising the additional steps of :
- (a) defining a counter variable C, and a suppression constant, N;
- (b) for each m and n considered,
- (i) if n=1, setting C=N,
- (ii) if C<0 and D(m,n)=A2, displaying the display element intensity value D(m,n) with an intensity value A1,
- (iii)
- (A) I(m,n)+E(m,n).gtoreq.T1, setting C=N
- (B) if I(m,n)+E(m,n)<T, setting C=C-1.
- 22. The method according to claim 20 wherein the image is provided by the input signal to a CRT video screen, the input signal comprises three overlapping analogue signals corresponding to each primary color intensity of the image, and the display is provided by a display with elements of three or more colors arranged in a mosaic color pattern.
- 23. The method according to claim 22 wherein I (m,n) is the discrete image element intensity value of the same color of the corresponding display element, determined from the analogue signals for the spatial region of the image corresponding to the display element d(m,n), the spatial region of the image being image element i(m,n).
- 24. The method according to claim 23 wherein the display is a mosaic color display with isochromatic diagonals and the display elements, d(m,n), correspond to the n.sub.total pixels in each of the m.sub.total isochromatic diagonals of the display, whereby image elements i(m,n) are also referenced diagonally on the image to spatially correspond to display elements d(m,n).
- 25. The method according to claim 24 wherein the image is one of many temporally successive images provided at a constant frame rate, the display is displayed once for each image, whereby the display is a series of temporally successive images which change at the frame rate.
- 26. The method according to claim 25 wherein E(m,1) are equivalent for all m for each said image.
- 27. The method according to claim 26 wherein E(m,1) for all m change at a frequency equal to that of the frame rate, whereby, some or all the display array elements D(m,n) have different display intensity values for successive but identical images.
- 28. The method according to claim 27 wherein r=2, A1=0, T1=A2/Z and the value of E(m,1) for all m alternates at the frame rate between 0 and T1, whereby some or all of the display array elements D(m,n) have different display intensity values for successive but identical images.
- 29. The method according to claim 25 wherein the value of E(m,1) for each m is uncorrelated to E(m,1) for all other m for each image provided at the constant frame rate, E(m,1) for all m lying between A1 and Ar.
- 30. The method according to claim 29 wherein E(m,1) for all m change at the constant frame rate, whereby, some or all of the display array elements D(m,n) have different display intensity values for successive but identical images.
- 31. The method according to claim 30 wherein r=2, A1=0, T1=A2/Z, and the values of E(m,1) for each m alternate at the frame rate between two values within the range of 0 and A2 separated by A2/Z, whereby some or all of the display array elements D(m,N) have different display intensity values for successive but identical images.
- 32. A device for displaying an image comprising:
- (a) an input means for receiving in a standard left to right top to bottom raster sequence a plurality of intensity encoded signals I(l,p) corresponding to a plurality of image elements i(l,p) which each correspond to a position on the image, l comprising the integers 1 to l.sub.total and corresponding top to bottom to the l.sub.total horizontal rows of a raster scan, p comprising the integers 1 to P.sub.total and corresponding left to right to the P.sub.total vertical columns of a raster scan, where each intensity encoded signal I(l,p) corresponds to at least one of q image intensity values, where q is at least equal to three;
- (b) an output means for outputting sequentially a plurality of intensity encoded signals D((l,p) corresponding to a plurality of display elements d(l,p), each display element d(l,p) corresponds to the position of image element i(l,p), and each display intensity encoded signal D(l,p) corresponding to one of r amplitude-ordered display intensity values A1, A2, . . ., Ar, where r is an integer less than q, and Ax is the xth display intensity value;
- (c) An error storage means, for storing an error value E(l,p) corresponding to an intensity encoded signal at the input;
- (d) A preload buffer for maintaining preselected error values E(1,p) and E(l,1) corresponding to a number of intensity encoded signals at the input;
- (e) A processing means for mapping the intensity encoded signal at the input I(l,p) onto the intensity encoded signal at the output D(l,p) by
- (1) retrieving the value I(l,p) from the input means;
- (2) if l=1 or p=1, obtaining the value E(1,p) or E(l,1) from the preload buffer where the obtained value is a function of time and p or time and l, respectively;
- (3) if l.noteq.1 and p.noteq.1, obtaining the value E(l,p) from the error storage means,
- (4) determining the value D(l,p) based on the values of I(l,p) and E(l,p),
- (5) sending the value D(l,p) to said output means,
- (6) calculating the value E(l+1, p+1) based on I(l,p), D(l,p) and E(l,p),
- (7) storing E(l+1, p+1 in said error storage means.
- 33. A device as in claim 32 wherein said image is provided by the input signal to a CRT video screen, the input signal comprising three overlapping analogue signals corresponding to each primary color intensity of the image, and the display is provided by a display with elements of three or more colors arranged in a mosaic color pattern.
- 34. A device as in claim 33 wherein I(l,p) is discrete image element intensity value of the same color of the corresponding display element, determined from the analogue signals for the spatial region of the image corresponding to the display element d(l,p), the spatial region of the image being image element i(m,n).
- 35. A device as in claim 34 wherein the display is a mosaic color display with isochromatic diagonals and the display elements, d(l,p), correspond to the n.sub.total elements in each of l.sub.total isochromatic diagonals of the display, whereby image elements i(l,p) are also referenced diagonally on the image to spatially correspond to display elements d(l,p).
- 36. A device as inclaim 32 wherein the processor further includes a threshold determination means for determining whether an intensity encoded signal corresponds to an intensity which is greater than any or all of r-1 threshold values, T1, T2, . . . , T(r-1), where Tx is the xth threshold value.
- 37. A device as in claim 36 wherein the processor sums the values E(l,p) and I(l,p), accesses the threshold determination means, and determines the value D(l,p) to be
- (i) D(l,p)=A1, if threshold determination means determines I(l,p)+E(l,p)<T1,
- (ii) D(l,p)=Ar, if threshold determination means determines I(l,p).gtoreq.T(r-1), or,
- (iii) for r>2 and T1.ltoreq.I(l,p)+E(l,p)<T(r-1), D(l,p)=Ax, where x is the value between 2 and r-1 which the threshold determination means determines satisfies the condition T(X-1).ltoreq.T(l,p)+E(l,p)<Tx.
- 38. A device as in claims 32 or 37 wherein the processor determines the error value E(l+1, p+1)=I(l,p)+E(l,p)-D(l,p).
- 39. The device as in claim 32 wherein the error storage means is a line buffer with p.sub.total elements.
- 40. The device as in claim 32 wherein the output means is connected to a video display with pixels arranged in a mosaic color pattern, and capable of displaying r intensity values A1, A2, . . . Ar.
- 41. A device used for displaying an image comprising:
- (a) an input means for receiving in a standard left to right top to bottom raster sequence a plurality of intensity encoded signals I(l,p) corresponding to a plurality of image elements i(l,p) which corresponds to a position on the image, l comprising the integers 1 to l.sub.total and corresponding top to bottom to the l.sub.total horizontal rows of a raster scan, p comprising the integers l to p.sub.total and corresponding left to right to the p.sub.total vertical columns of a raster scan, where each intensity encoded signal I(l,p) corresponds to at least one of q image intensity values, where q is at least equal to three;
- (b) an output means for outputting sequentially a plurality of intensity encoded signals D(l,p) corresponding to a plurality of display elements d(l,p), each display element d(l,p) corresponding to the position of image element i(l,p), and each display intensity encoded signal D(l,p) corresponding to one of r amplitude-ordered display intensity values A1, A2, . . . , Ar, where r is an integer less than q, and Ax is the xth display intensity value;
- (c) a partial error storage means for storing partial error values PE(l,l',p,p') corresponding to an intensity encoded signal I(l,p) at the input, from elements (l',p');
- (d) a buffer preload means for maintaining preselected error values E(1,p) and E(l,1) corresponding to a number of intensity encoded signals at the input,
- (e) a processing means for mapping the intensity encoded signal at the input I(l,p) onto the intensity signal at the output D(l,p) by
- (1) retrieving the value I(l,p) from the input means;
- (2) if l.noteq.1 or p.noteq.1, obtaining the value E(1,p) or E(l,1) from the buffer preload means, where the obtained value is a function of time and p or time and l, respectively,
- (3) if l=1 and p=1, obtaining the values PE(l,l',p,p') from the partial error storage means and summing the values of PE(l,l',p,p') to obtain error value E(l,p), (4) determining the value D(l,p) based on the values of I(l,p) and E(l,p),
- (5) sending the value D(l,p) to the output means,
- (6) calculating the partial error values PE(a,l,b,p) where (a,b) are the elements to which error is propagated from (l,p),
- (7) storing said partial error values PE(a,l,b,p) in said partial error storage means for all (a,b).
- 42. The device as in claim 41 wherein the error storage means is one or more line buffers, each with a capacity equal to the number of pixels in a horizontal row.
- 43. A device used for displaying an image comprising:
- (a) an input means for receiving in sequence a plurality of intensity encoded signals I(l,p) corresponding to a position on the image, l comprising the integers 1 to l.sub.total and referencing the l.sub.total groupings of elements for processing, p comprising the integers 1 to p.sub.total and referencing the elements in the lth group according to their sequence of processing, p.sub.total a function of l, where each intensity encoded signal I(l,p) corresponds to at least one of q image intensity values, where q is at least equal to three;
- (b) a matrix sotrage means where the input image intensity values of a complete frame may be stored and accessed;
- (c) an output means for outputting sequentially a plurality of intensity encoded signals D(l,p) corresponding to the position of input image intensity value I(l,p) each display intensity encoded signal D(l,p) corresponding to one of r amplitude-ordered display intensity values A1, A2 . . . Ar where r is an integer less than q, and Ax is the xth display intensity value;
- (d) a partial error storage means for storing partial error values PE(l,l',p,p') corresponding to an intensity encoded signal I(l,p) being processed from elements I(l',p');
- (e) a buffer preload means for maintaining preselected error values E(1,p) and E(1,l) corresponding to a number of intensity encoded signals processed;
- (f) a processing means for mapping the intensity encoded signals I(l,p) onto the intensity signal at the output by
- (1) retrieving a value I(l,p) from the matrix storage means,
- (2) if l=1 or p=1, obtaining the value E(1,p) or E(l,1) from the buffer preload means, where the obtained value is a function of time and p or time and l, respectively,
- (3) if l=1 and p=1, obtaining the values PE(l,l',p,p') from the partial error storage means and summing the values of PE(l,l',p,p') to obtain error value E(l,p),
- (4) determining the value D(l,p) based on the values of I(l,p) and E(l,p),
- (5) sending the value D(l,p) to the output means,
- (6) calculating the partial error values PE(a,l,b,p), where (a,b) are the elements to which error is propagated from (l,p),
- (7) storing said partial error values PE(a,l,b,p) in said partial error storage means for all (a,b).
- 44. The device as in claims 32, 41 or 43 wherein a counter variable C and suppression constant N is defined, and, for each inputted image element intensity value, the processing means further
- (i) sets C=N if p=1,
- (ii) if C<0 and D(l,p)=A2, outputs the intensity value A1 to output means for display element intensity value D(l,p),
- (iii) sets C=N if I(l,p)+E(l,p).gtoreq.T1,
- (iv) set C=C-1 if I(l,p)+E(l,p)<T1.
- 45. The method according to claim 1 or 20, wherein the display is a mosaic color display and the error value E(m,n) propagates to the nearest display element of the same color.
- 46. A method of displaying a fixed analog image comprising: generating a series of temporally successive, non-identical digital representations on a display comprising an array of display elements, particular display array elements having different display intensity values for each digital representation according to a different predetermined halftone function;
- a particular one of said display elements having a display intensity D(m,n) for a particular halftoning function F(x)
- said display element having a display intensity calculated at first time t.sub.1 of:
- D(m,n,t.sub.1)=F[I(m,n,t.sub.1)]
- said display elements having a display intensity, calculated at a second subsequent time t.sub.2, of:
- D(m,n,t.sub.2)=F[2*I(m,n,t.sub.1)-D(m,n,t.sub.1)]
- wherein, said image has an intensity value of:
- I(a,b) all a, all b for image element i(a,b).
- 47. A method of displaying a fixed analog image comprising: generating a series of temporally successive, non-identical digital representations on a display comprising an array of display elements, particular display array elements having different display intensity values for each digital representation according to a different predetermined halftone function;
- one of said particular display elements having a display intensity D(m,n) for a particular halftoning function F(x) wherein:
- said display element has a display intensity calculated at first time t.sub.1, of:
- D(m,n,t.sub.1)=F[I(m,n)]
- said display element having a display intensity, calculated at a second, subsequent time t.sub.2 of:
- D(m,n,t.sub.2)=F(2*I(m,n,t.sub.1)-D(m,n,t.sub.1)]
- wherein, said image has an intensity value of I(m,n).
- 48. A method of displaying a fixed analog image comprising: generating a series of temporally successive, non-identical digital representations on a display comprising an array of display elements, particular display array elements having different display intensity values for each digital representaion according to a different predetermined halftone function;
- a particular one of said display elements having a display intensity D(m,n) for a particular halftoning function F(x) wherein:
- said display element having a display intensity calculated at first time t.sub.1, of:
- D(m,n,t.sub.1)=G[(I(m,b), all b<=n)]
- said display element having a display intensity, calculated at a second time t.sub.2, of:
- D(m,n,t.sub.2)=G[(I(m,b)+P(m,b), all b<=n)]
- wherein G is the single-branch error diffusion method, and
- P(m,b)=0.5*A for =1
- P(m,b)=0 for >1
- where A is the smallest intenstity step for a pixel and said image has a value of:
- I(a,b) all a, all b.
- 49. A method of displaying an image comprising the steps of:
- (a) providing an image comprising a plurality of image elements i(a,b) a comprising the integers 1 to a.sub.totals, b comprising the integers 1 to b.sub.totals, each image element i(a,b) having an intensity I(a,b) equal to at least one of q image intensity values, where q is at least equal to three, each image element having a position;
- (b) providing a display comprising a plurality of display elements d(m,n), each having a position corresponding to the position of image element i(m,n), and each display element d(m,n) being capable of emitting light with an intensity D(m,n) equal to one of r amplitude-ordered display intensity values A1, A2 . . . Ar, where r is an integer less than q, and Ax is the xth display intensity value;
- (c) mapping the image on the display by displaying the plurality of display element d(m,n) at a time t.sub.1 with an intensity:
- D(m,n,t.sub.1)=F[m,n,{I(a,b) all a, all b}],
- and at a time t.sub.2 with an intensity:
- D(m,n,t.sub.2)=F[m,n,{2*I(a,b)-D(a,b,t.sub.1) all a, all b}],
- where F is a halftoning function F(x) where x is a function of {I(a,b) all a, all b}, m and n. --
- 50. A method of displaying a fixed analog image comprising: generating a series of temporally successive, non-identical digital representations on a display comprising an array of display elements, particular display array elements having different display intensity values for each digital representation according to a different predetermined halftone function; one of said particular display elements has a display intensity D(m,n) for a particular halftoning function F(x) at any time t.sub.z of: ##EQU4## where Z is an integer of one or greater; where F is a halftoning function suitable for making a single static rendering, S(m,n) of the analog image, and
- S(m,n)=F(m,n,{I(a,b), all a, all b}).
TECHNICAL FIELD
This application is a continuation in part of co-pending application Ser. No. 07/297,768 filed on Jan. 13, 1990 now abandoned.
The present invention relates to multilevel display systems with display elements of relatively few intensity levels and, in particular, the adaptation of such systems for presentation of grey-scale images.
A flat panel display system, such as a binary liquid crystal display (LCD), albeit having elements capable of displaying relatively few intensity values, does not have many of the disadvantages found in CRT monitor type display systems. Specifically, a binary LCD does not require an electron gun or a vacuum tube, and can therefore be made much thinner than a TV monitor. An LCD has low power and voltage requirements and consequently, gives off relatively little heat during operation, which makes it particularly suited to high density and portable uses. The hardware is relatively durable and can display the same image for a very long time without danger of damage to the elements.
However, a CRT display system can easily display relatively many intensity values between a minimum and maximum intensity value. In fact, the input to a CRT display system is typically an analogue intensity signal which is effectively quantized due to the noise associated with the signal, which limits finer differentiation of the input signal. The advantage of this finely quantized intensity capability is two-fold: First, the display gives a relatively accurate portrayal of the tone of the image. For example, the typical signal to noise ratios in video signals "limits" the elements on an analogue T.V. to be displayed at one of 256 values; nonetheless, this is a relatively finely quantized image, and the displayed value of each element is therefore a relatively close approximation of the part of the image being displayed. In other words, the display has good "grey-toning", or "halftoning". Second, and related to the first feature, the display has relatively good spatial resolution. Since the elements follow the intensity of the image well, changes in the intensity between adjacent pixels are also well represented. Therefore, the spatial resolution of the display is limited primarily by the physical separation of the elements.
The binary LCD and, more generally, displays with elements of relatively few intensity levels of an LCD nature, have certain disadvantages which mirror the advantages of the finely quantized display systems. For example, a binary LCD element represents the corresponding portion of the image by being either on or off. This is a poor representation if the image is grey at the part being represented. In other words, an LCD has inherently poor halftoning capability. Also, again related to the poor halftoning, the LCD display has relatively poor spatial resolution. Since the elements are either on or off, the shading of one image into another must be approximated by adjacent elements being either completely on or off. As a result, the shading will either be too abrupt or too spatially diffuse. In the latter case, the displayed image has resolution worse than the spatial separation of adjacent elements.
The prior art has considered the task of processing techniques for displaying an input signal adapted for systems with display elements of finely quantized intensity levels on a display with elements of relatively coarsely quantized intensity levels. As described below, the fundamental problem addressed by these prior art methods is that the number of intensity values an image element may take is greater than the number a display element may take. Therefore, the processing transforms a relatively finely quantized image element intensity value into one of a fewer number of display element intensity values. By making such a transformation, in most cases, the display element intensity value will differ from the image element intensity value.
For example, in the case of a standard TV image being displayed on a binary LCD screen, each image element intensity may take one of 256 values between a minimum and maximum intensity value, while the corresponding display element is either the minimum or maximum value. For an image element with intensity between the 1st and 256th value, displaying the display element at the maximum or minimum value is to some degree an error. If the image element has intensity corresponding to the 128th value, i.e., is halfway between the minimum and maximum intensity value, displaying the display element with the minimum or maximum intensity is a relatively large error. On the other hand, for an image element with intensity corresponding to the 3rd value, i.e., is very close to the minimum value, displaying the display element with minimum intensity is a very small error.
For many years processing techniques have been developed which attempt to subjectively display a grey image on a display with binary elements, thereby addressing the above problem. These techniques all derive from the premise that the eye will integrate the intensities of a number of closely spaced elements which are either light or dark, and therefore perceive a shade of grey.
U.S. Pat. No. 3,937,878 to Judice describes one method ("dither") applied to black and white imaging in a binary display system; the image to be reproduced is divided into a matrix of picture elements, each element corresponding to a respective cell of the display panel. A predetermined threshold value is assigned to each display cell. The threshold values repeat in a pattern, typically over 16 square (4.times.4) elements, and are evenly spaced between a minimum and maximum image intensity value. If the intensity of any given picture element is greater than the threshold value assigned to the corresponding display cell, that cell is turned on, otherwise, it is maintained off.
In such a system, very dark regions of the image do not exceed even the lowest threshold in the 16 square elements, and therefore the displayed region is dark. Likewise, very light regions exceed even the highest threshold values, and all 16 square elements are therefore lit. For regions of intensity exactly between completely dark and completely light, 8 of the 16 thresholds will be surpassed, and consequently 8 elements will be lit and 8 will remain dark. The eye will integrate over this small region and perceive a grey intensity.
Another method of halftoning by error-propagation is described by Fawcett and Schrack in "Halftoning Techniques Using Error Correction", Proceedings of the Society for Information Display, 27(4), pp. 305-308 (1986).
In the error propagation methods for use with binary display devices, the starting point again is a spatially quantized image. The amount by which the display element exceeds or falls short of the corresponding image intensity value is not simply discarded, as in straight threshold processing, but is added to or subtracted from geometrically nearby image values which are to be quantized into display elements later. In the error propagation methods, therefore, halftoning is achieved by adjusting nearby elements to compensate for the excess or deficit in intensity of a given element.
The present invention takes error propagation one step further, applying the concepts described above to mosaic color displays. In a mosaic color display, the element immediately to the right of a given element is not necessarily the same color as the given element; therefore error cannot always be propagated to the next element processed physically. The closest unprocessed element of the same color is, for a mosaic of isochromatic diagonals, for example, the element beneath the element directly to right of the given element. Thus, in the error propagation method applied to such mosaic color, error is diffused diagonally among elements. The method is more complex to implement on a hardware level when the elements are processed horizontally corresponding to the standard raster order of video data. For such a case, the error of one element must be stored and retrieved when the diagonally adjacent element is processed.
A main problem with the prior art error propagation halftoning methods is poor performance in dark areas, especially when the display elements have only binary capacity. When the image gets dark, the "on" elements get sparse and become very noticeable individually. In the methods where error is propagated along a single path, linear or herring-bone-shaped artifacts can also be seen. Isolated "on" pixels in dark areas detract far more from image quality than isolated "off" pixels in light areas.
Furthermore, as described above, when faced with the complication presented by mosaic color displays, the techniques developed for black and white images must be specially adapted to succeed.
The present invention provides a processing method and system whereby color images with elemental regions of relatively finely quantized intensity values are displayed on an LCD-type mosaic color display with display elements of relatively few intensity values. The inventive method of displaying an image includes the basic error propagation method for mosaic color displays, described above. As described, that method propagates error between elements diagonally for the case where the mosaic color display is patterned such that diagonal rows consist of monochromatic elements. However, the basic method assumes the "error" propagated to the first element in the diagonal to be zero, or, more generally, a temporally stationary, position-independent constant. By an additional feature of the method of the present invention, called "pel interleaving", an "error" is propagated into the first element in the diagonal row that changes with each new image or frame processed. The "error" propagated into the first element in the diagonal row is also called the "preload value". More specifically, the "error" propagated into the first element of each diagonal increases incrementally with each frame processed until the "error" exceeds the maximum element intensity value. At that point, the error propagation starts over by subtracting the maximum value.
The incremental increasing of the preload error value associated with each diagonal, in the binary display case, leads to the spatial drift of "on" elements along the diagonals. This spatial drift of the "on" elements along the diagonals is "pel interleaving"; the result is the perception of a halftoned display since, if all preload values are equally likely, the time integrated ensemble of the displays approaches the exact contone image as the number of displayed images increases. Thus, if the processing is fast, so that the eye integrates a number of displayed images for the same input image, the display perceived using the present image approaches the actual contone of the input image.
The present invention also achieves color halftoning in the displayed image which is subjectively a high quality representation of the image. In addition, the present invention also uses the rapid succession of displayed images to achieve subjective high quality color halftoning in the display.
Further to the present invention, artifacts are eliminated in the method of error propagation by pel interleaving. For the binary case, rather than giving an element an "on" display intensity unconditionally when its image intensity value plus error value exceeds a threshold, the display image is turned "on" only if there are less than a certain number of "off" elements since the last "on" element. However, even if the element is kept "off" because the number of prior diagonal elements were "off", it is considered "on" for purposes of the determination for later elements in the diagonal.
US Referenced Citations (21)
Foreign Referenced Citations (2)
Number |
Date |
Country |
0264302 |
Apr 1988 |
EPX |
8807306 |
Sep 1988 |
WOX |
Non-Patent Literature Citations (11)
Entry |
Digital Halftoning, The MIT Press, pp. 242-243, 268-269 and 340-343 prior to Jan. 13, 1989. |
Multiple Error Diffusion Half-Toning, The IAX Image Processing Ssytem: Reference Manual, p. 104 1985. |
Test Mode Color Mapping to Gray Scales, CHIPS, pp. 1 and 37 1988. |
A Perceptual Basis For Comparing Pixel Selection Algorithms For Binary Color Matrix Displays, SID 88 Digest, pp. 435-438, Gomer et al. 1988. |
An Adaptive Algorithm For Spatial Greyscale, Proceedings of the S.I.D. vol. 17/2 Second Quarter 1976, pp. 75-77 Floyd and Steinberg. |
Halftoning Techniques Using Error Correction, Proceedings of the S.I.D., vol. 27/4, 1986, pp. 305-308, Fawcett and Schrack. |
D. Anastassiou and S. Kollias, "Digital Image Halftoning Using Neural Networks", pp. 1062-1069, in Visual Communications and Image Processing '88, SPIE vol. 1001, 1988. |
K. G. Glenn and W. E. Glenn, "From vision science to HDTV-bridging the gap", p. 22ff., Information Display, Feb. 1987. |
M. Rabbani, "Digital Image Compression and Restoration", course notes, SPSE/SPIE Conference on Electric Imaging, Los Angeles, 1988. |
R. I. Feigenblatt, "Full-Color Imaging on Amplitude-Quantized Color Mosaic Displays", (RC 14345), SPSE/SPIE Conference on Electronic Imaging, Los Angeles, 1989. |
Manual From Chips and Technologies, Inc. Publication No. CPI 32/8-88 pp. 1 and 37. |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
297768 |
Jan 1989 |
|