AU674037B2 - Colour gamut clipping - Google Patents
Colour gamut clipping Download PDFInfo
- Publication number
- AU674037B2 AU674037B2 AU53109/94A AU5310994A AU674037B2 AU 674037 B2 AU674037 B2 AU 674037B2 AU 53109/94 A AU53109/94 A AU 53109/94A AU 5310994 A AU5310994 A AU 5310994A AU 674037 B2 AU674037 B2 AU 674037B2
- Authority
- AU
- Australia
- Prior art keywords
- colour
- input
- colours
- mapping
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Landscapes
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Description
-1oloifamutCipping Field of Tnvention The present invention relates to colour display apparatus such as television displays, colour computer displays and colour printers, and, in particular, the display of colour images on a raster colour display apparatus.
SDescriptionof the RelatedArt Colours are often displayed on a computer display according to a particular model.
The red, green, blue (RGB) colour model is one that is in common use with Cathode Ray Tubes (CRT) and colour raster display devices. Other colour display models include cyan, magenta, yellow (CMY) often used in colour-printing devices. An example of the use of the RGB model is in the NTSC picture display standard which is commonly used with computer displays. In this standard, each pixel element of the screen is divided into three separate sub groupings. These separate subgroupings or pixel elements are used to show the portions of Red, Green and Blue of a given pixel colour respectively.
The prior art shall now be described with reference to the following drawings in which: Fig. 1 is a schematic view of a pixel of a CRT type device; Fig. 2 is a schematic view of a pixel having Red, Green, Blue and White pixel elements; and 201 Fig. 3 is a schematic view of the colour gimut of the CRT type device as shown in Fig. 1.
As shown in Fig. 1, the viewing surface of a colour CRT consists of a large number of closely spaced pixels 1. Each pixel 1 is made up of a red green(G) and blue (B) phosphor dot or pixel element. These dots are generally sized such that light emanating 25 from the individual dots is perceived by the viewer as a mixture of the corresponding S three colours. A wide range of different colours can thus be produced from a pixel by pixel variation dihe strength with which each phosphor dot is excited. A conversion arrangement (not shown) is normally provided so that the excitation of each phosphor dot has some proportionality to the value of each of the above mentioned pixel element subgrouping. By way of example, a 24 bit per pixel colour display system divided into 8 bits for each of the three colours red, green and blue is often used. This corresponds to 28 or 256 separate intensity levels of each of red, green and blue respectively giving a total of 224 different colour values. A colour display capable of displaying this many colours can approximate a continuous tone image to such a degree that for all practical purposes tl.e display can he considered to be a continuous tone display.
(FLCD3)(257059) II -2- In order to conceptualize the range of colours that can be displayed by this method it is helpful to map these colours into a unit cube 3 as shown in Fig. 3. The individual contributions of each of the three separate subgroups at any one particular point are added together to yield the final colour. The directions of increased intensity of a given primary I colour is shown by the axis 4 with green increasing to the right, blue increasing vertically, and red increasing into the plane of the page. The chroma or saturation of a particular colour is represented by the shortest distance of a colour from the main diagonal of the cube. The main diagonal of the cube, running from to with equal amounts of each primary, represents the different grey levels or grey scale, from black to white The actual colours that can be displayed by a device will then form points within and on the surface of the cube's volume. For example, in the 24 bit per pixel display model, the 256 different intensity levels of displaying the colour blue will form 256 separate horizontal planes through the cube. Similarly for the red and green intensity levels. The intersection of these planes will form 224 separate points within, and on the surface of, the cube.
S .Many display devices are unable to actually display the full range of colours :provided by, for example, a 24 bit input pixel. For example, a black and white raster image display can only display two colours, black and white. Other colour display devices can only display a finite number of discrete intensity levels for each pixel element.
Recently, methods have been developed to increase the number of colours displayable on an discrete colour display device. The methods used are known generally as halftoning. For an explanation of the different aspects of halftoning the reader is referred to the book 'Digital Halfioning' by Robert Ulichney, published in 1991 by MIT Press.
For an example of a colour halftoning method, reference is made to an error diffusion method disclosed in 'Color Image Quantization for Frame Buffer Display' by Paul I-Ieckbert, published in Computer Graphics, Volume 16, Number 3, July 1982, pages 297-304, herein after referred to as the Heckbert process.
In the Heckbert process, the different possible output values of the display arc chosen as the representative colours of the colour gamut of displayable images. A vector measure in a 3-dimensional colour space representing the distance between the nearest displayable colour value and a current input colour value is computed and this value is then preferably added to neighbouring pixels using a Floyd and Steinberg process (known per se).
(FLCD3)(257059)
I
-3- However, not all display devices display the same range of colours, hence consideration must be given to what colour should actually be displayed when an input pixel's colour lies outside the range or gamut of the displayable colours of a particular device.
The use of the above mentioned RGB colour model is helpful when each pixel of the display device comprises red, green and blue elements. However, it can sometimes be the case that the display device being used is not a RGB type device. For example, Fig. 2 shows a representation of a display device where each pixel is made up of a Red, Green, Blue and White (RGBW) element.
Summary of the Invention In accordance with one aspect of the present invention there is disclosed a method for displaying a colour image on a display device, said colour image being provided as input colours in an input colour format, said method comprising the steps of: mapping the input colours into output colours such that the output colours are within a gamut with at least one concave surface of said display device; and halftoning the output colours to produce a. image that can be displayed on the display device.
In accordance with another aspect of the invention there is provided a colour image processing apparatus comprising: input means for inputting colour image data as an input 0 colour format; colour processing means for colour-processing the input colour image data; 20 output means for outputting said colour-processed colour image data to a colour image reproducing apparatus for reproducing a colour image; wherein said colour image reproducing apparatus reproduces a colour image based on a plurality of primary colours including white and has a concave gamut, and said colour processing means includes mapping means for mapping said input colour image data. concave gamut.
25 In accordance with another aspect of the invention there is provided an image processing method for a colour output device, wherein said method comprises the steps of: inputting a colour image signal; mapping the input colour image signal into a restricted colour space that is defined by displayable colour of said colour output device; and processing the mapped colour image signal by using an error diffusion method.
In accordance with another aspect of the invention there is provided a method or apparatus for displaying a colour image on a display device in which input colours are mapped into a first 3-dimensional colour space greater than a second 3-dimensional; space corresponding to the output capabilities of the display device, and for binarizing said mapped input colours for transferring input colours outside said second 3-dimensional y S5 space so that they at least lie on the surface of said second 3-dimensional spaces.
FLCD3 157059 CFP0198AU -4- BriefDescription o ftheDiawings A preferred embodiment of the present invention will now be described with reference to the accompanying drawings in which: Fig. 4 illustrates the colour gamut of a display device having red, green, blue and white pixel elements; Fig. 5 illustrates the mapping of the colour gamut of the display device as illustrated in Fig. 4 into the colour gamut of the normal display device of Fig. 3; Fig. 6 illustrates the convex hull volume of the display device of Fig. 4; Fig. 7 illustrates the volume of Fig. 6 inside the colour gamut of Fig. 3; Fig. 13 illustrates displaying colour values that do not form part of the output colour gamut; Fig. 13 is an enlarged portion of Fig. 13, illustrating different methods of displaying colours outside the output colour gamut; Fig. 10 illustrates another example of the drop clip method used in the preferred embodiment; Fig. 11 is a schematic view of an apparatus implementing the drop clip method; Fig. 12 is a more detailed schematic view the first channel processing unit of Fig.
11; ~Fig. 13 is a schematic view of a colour display system for use with the preferred 20 embodiment; Fig. 14 is a schematic view of the different parts of a colour display system of Fig.
13; Fig. 15 is a schematic view of the rendering unit of the colour display system of Fig.
14; Fig. 16 is a schematic view of the colour mapping unit of Fig. Fig. 17 illustrates the contrast enhancement process; and Fig. 18 is a schematic view of a second embodiment of the colour mapping unit of Fig. Fig. 19 is a graphical view of the pixel intensity level versus pixels on a line, for a region of constant intensity.
Fig. 20 is a graphical view of the pixel intensity level in Fig. 19 with noise added to the pixel intensity level.
Fig. 21 is a graphical view of an input pixel intensity level of zero with noise which has been rectified.
(FLCD3)(257059) 0"1~9 Fig. 22 is a schematic block diagram of an noise quenching apparatus for use in the preferred embodiment.
Description of the Preferred Embodinent The preferred embodiment relates to a means for displaying an image encoded according to an RBG format on a Red, Green, Blue and White (RGBW) Display. As the dominant form of display available is a RGB type display, it is desirable to be able to display an image intended for a a RGB display on a RGBW type display. Preferably the RGBW display device has a bi-level white element.
One option for displaying an RGB image on such a RGBW display is to use only the Red, Green and Blue elements. This corresponds to the white pixel element, as shown in Fig. 2, being unused. A white pixel element is made up of equal amounts of red, green and blue colour primaries. The discarding of the white pixel element corresponds to, or results in, a loss of luminosity in the possible range of displayable output colours. Another option is to have the white element of the display constantly illuminated. This corresponds to or results in, an increase in luminosity of all the colour elements that can be displayed, but gives a loss of saturation relative to the colours which could have been displayed if the white element had not been used.
Both these methods fail to use the full potential of the display device to display colours of a wide range of intensities.
20 Normally the colour white or grey is formed by equal intensities of red, green and blue pixel elements with different grey levels corresponding to different intensities. Hence the use of an extra white pixel corresponds to a translation of the relevant colour cube I along the grey axis of the RGB space. Fig. 4 shows the overlapping RGB colour cubes for a display device having a bi-level white pixel element. The lower cube 5, represents the 25 colour space mapped out by the red, green and blue pixel elements of the colour display .:ooo) device when the white pixel element is not illuminated. The upper cube 6, represents the colour space when the white pixel is illuminated. The upper cube has been translated along the diagonal greyscale axis by a distance which is proportional to the intensity of the white element. Hence the actual degree of overlap of the two different cubes is dependant upon this translation factor and in turn on the intensity of the white pixel. A volume 7 (as represented by the darker lines of Fig. 4) swept out by the combination, or summation, of the cubes 5 and 6 therefore represents the totality of different colours that can, by means of halftoning methods, be displayed by the display device.
As will be appreciated from Fig. 4, the overall colour space is no longer in the form of a cube. The colours of the input pixels are able to span the range of values as depicted (FLCD3)(257059) I- -6by the original colour cube in Fig. 3. Greater advantage can be taken of the granularity of all the colours that can be displayed by the display device if the relationships between the colour spaces depicted in Fig. 3 and Fig. 4 are transformed as depicted in Fig. 5 which shows the RGBW colour space 7 of Fig. 4 which fits inside that of the RGB cube 3 of Fig.
3.
Although, by using the full colour space of the RGBW device as shown in Fig. 4, it has been possible to increase the range of intensities of colours that can now be displayed, a further problem has been created. The problem is the inability to display those colours that lie inside the RGB colour space 3 as shown in Fig. 5, but outside the RGBW space 7.
A first example of such a colour 9 is depicted by the letter Y in Fig. Referring now to Fig. 6, in a first example, the colour Y lies within the volume swept out by a convex hull volume encompassing all the points displayable by the RGBW display. A convex hull is the equivalent volume that would be formed by stretching a rubber sheet around all the points. Hence, any line between two points inside a convex hull is also inside the same convex hull. More formally, if we choose one of the points to be the origin and denote the set of vectors r 1 r 2 r n to be the vectors from the origin to the other points, then the convex hull is a set of points (represented by the vector rh) formed by using weights w i 0 that satisfy the following conditions: 17 20 r1 h Zw i .r i and i=l f- w i 1.
.1i=l An example of the convex hull swept out by the RGBW display gamut is shown in I Fig. 6. Although it is not possible to directly display the colour represented by the position Y, the principles of halftoning, such as the Heckbert process, referred to previously, can be used to display a close approximation of that colour.
Hence, by means of halftoning, it is possible to simulate the display of all those values swept out by the convex hull of the RGBW colour values as shown in Fig. 6.
Fig. 7 depicts the resulting colour space in addition to the desired colour space.
Referring now to Fig. 8, there is shown a second example of a colour 10 represented by the letter X. Here, the corresponding colour value represented by X is outside the representable space and must be changed to display a representable colour. A number of (FLCD3)(257059) I- -7different methods can be used to minimize the loss of reproduction quality in the displayed image.
Turning now to Fig. 9, there is shown an enlarged view of the circled region shown in Fig. 8, with X being the value to be displayed.
In a first method, a decision is made to firstly move the colour value X to the closest point i. 1 of the convex hull volume 8 of the display, and to thereby display the value of the print 11 by means of halftoning methods instead. In practice, owing to the nature of the volume swept out by the RGBW colour space, this will be near equivalent to a reduction in the saturation or chromaticity of the colour in question as a result of the new colour 101 value 11 lying closer to the overall cube diagonal, which is assumed to represent the grey scale of the cube.
The resulting colour which is halfloned is closest, in RGB space, with euclidean distance measurement, to that which representation is desired, thereby introducing the minimum RGB mean-squared error in the displayed pixel.
151 In a second method, an intersection point 12 of the surface of the volume 8 and a line 13 drawn from the point X to the origin of the colour space 14 (as seen in Fig. 8) is calculated. It is assumed that the origin of the colour space is in the vicinity of the point representing black in the original colour cube. The pixel position corresponding to the ,I point 12 is then used as the value to be displayed via halfioning.
201 As the line 13 is in the form of a vector from the origin 14 to the point X, the effect of this method is to preserve the proportions of the three primary colours in the output value, at the expense of the luminosity of the displayed colour.
•A third method, is to change only one of the three values representing the colour to be displayed, until an intersection with the volume is achieved. In this example, the blue 251 component value of the colour X is reduced along a line 15 until it intersects at a point 16 the convex hull volume 8. The blue channel is chosen because of the eyes relative insensitivity to blue in comparison with green and red, This method is called the 'dropclip' method. Although this technique has the effect of changing the hue of a particular colour, the advantage of this process is that there is an alteration to only one of the 30 primary colours. Accordingly, this method is significantly simpler to implement in a hardware type device.
S Referring now to Fig. 10 there is shown an example of the drop method where the gamut of the two dimensional cube has been projected to a two dimensional cube showing only the Red and Green dimensions only. In order to transform the point A to A' in accordance with the drop clip method, the following method should be used: (FLCD3)(257059) -I
I
Assuming a RGB pixel data format with R, G and B in the range 0 to 255: If R minimum(G,B)+GLT, then set Rout=minimum(G,B)+GLT; If G minimum(R,B)+GLT, then set Gout=minimum(R,B)+GLT; If B minimum(R,G)+GLT, then set Bout=minimum(R,G)+GLT; where GLT is the Gamut Limit Threshold, representing the intensity value of an illuminated Red, Green or Blue portion of a particular pixel relative to the illumination of the same portion and a white portion of a pixel. For the purpose of the present example, it is assumed that GLT is constant for each of the Red, Green and Blue channels.
Referring now to Fig. 11, there is shown a gamut clipping apparatus 18 implementing the drop clip method of Fig. 10 for input comprising an 8-bit per pixel Red Green 21 and Blue 22 colour pixel input. This input is processed by a corresponding channel processing unit 23, 24, 25 to produce a corresponding red output channel 26, green output channel 27 and a blue output channel 28. Additional clocking information 29 and the cor.stant gamut limit threshold (GLT) 30 are also provided as inputs to the gamut clipping apparatus 18.
Referring now to Fig. 12 there is shown is a more detailed schematic view of the first channel processing unit of Fig. 11 Each channel processing unit is the same except 0. the inputs are permuted. This channel processing unit 23 is designed to implement the first conditional statement of the above mentioned method.
20 An initial comparator 31 and multiplexer 32 are used to determine the minimum value of the Green input channel 21 and the Blue input channel 22. The resultant minimum is then added with the GLT 30 by adder 33. This new value is then used to determine if the output value should be altered by comparator 35 and multiplexer 34 as outlined by the above algorithm.
In Fig. 13 there is shown the colour display system that utilizes the above apparatus and methods. The display system includes a simplified discrete level display in the form of a bi-level Ferro-Electric Liquid Crystal (FLCD) Display 44, and its controller 43 and a computer device 40 which produces output in an analogue format as mentioned previously, and this information is sent to the display 44 along a cable 41. Interposed S 30 between the computer device 40 and the FLCD display 44 is a display system 42 for conversion of the analogue output from computer device 40 into a form suitable for display on the bi-level FLCD display 44. For the purposes of use with the preferred embodiment it can be assumed that display system 42 includes an analogue to digital converter for each input channel in cable 41, whereby the input in an analogue format is converted to a corresponding digital format for processing by the display system 42.
(FLCD3)(257059) L. hi I -9- Referring now to Fig. 14, there is shown the display system 42 of the above mentioned application in more detail. The display system 42 includes an analogue to digital conversion unit 49 which converts analogue input into an 8 bit digital representation of pixel values in addition to pixel clocking and associated control in formation. A demultiplexer 59 groups together pixels, two at a time, so as to reduce processing speed requirements, and forwards them to a rendering unit Turning now to Fig. 15, the rendering unit 55 consists of a colour mapping unit and a halftoning unit 66. A demultiplexer output bus 60 connects to the colour mapping unit 26 to supply RGB pixel information. Synchronization information comprising the pixel clock, vertical sync and horizontal sync signals, are supplied with the pixel input.
The colour mapping unit 65 performs a series of transforms on the input RGB pixel data before sending the transformed pixels to the halftoning unit 66, via a colour mapping to halftoning pixel bus 67, to halftone the pixels to produce 4-bit pixel output. This output appears on rendering unit output bus 62.
15 Referring now to Fig. 16, there is shown in more detail a first embodiment of the colour mapping unit 65. The colour mapping unit 65 performs a series of transformations on RGB digital video data, mapping each pixel of the input data to a new position in RGB space. The purpose of these transformations is to modify video data intended for display on a CRT so that it is suitable for display within the gamut of the FLCD display 201 The colour mapping unit 65 has a pipelined structure, with identical input and output interfaces. Each of the colour transformations can be switched in or out by appropriate configuration.
The colour mapping unit 65 performs a series of transformations on the input RGB data prior to halftoning. These transformations are applied one after the other, re-mapping data within the RGB space to achieve the following effects: 1. Gamma Correction (also called DeGamma) 2. Contrast Enhancement 3. Colour Masking 4. Gamut Clipping 5. Noise Quench The pixel input data is taken from demultiplexer output bus 60, two pixels as a time.
The pixel input data is further demultiplexed by colour mapping demultiplexer 69 so that the rest of the colour mapping unit 65 works in parallel on four pixels at a time.
A colour mapping table lookup unit 70 implements the processes of gamnma correction and contrast enhancement by replacing each pixel by a predetermined value (FLCD3)(257059) IL Ip stored in a lookup table whose values can be written through a configuration interface at system start-up.
Gamma correction is a monotonic, non-linear transformation applied to the Red, Green and Blue components of a pixel independently. Its purpose is to correct the intensity of the incoming colour components, which are originally intended for display on a CRT, to match a FLCD panel's characteristics. Given that the primary colour component values of each pixel is in the range of 0 to 255, the following formulae must be applied to each of the input colour components: Rou t 255*(Rin/255)Y Gout= 255*(Gin/255)Y Bout= 255*(Bin/255) The value of y is a measurement of the colour response characteristics of a given j panel and is determined by measurement. The colour mapping unit 65 can implement this degamma function using a lookup table.
S 15 Contrast Enhancement is a linear transformation, also applied to Red, Green and Blue components independently. Contrast enhancements moves all colours towards the corners of the input gamut, increasing the contrast between near-black and near-white areas. Preferably contrast enhancement is implemented by changing the values loaded into the lookup table of colour mapping table lookup unit 70 as this avoids the colour 20 mapping unit 65 having any hardware dedicated specifically to contrast enhancement.
Contrast enhancement applies a linear multiplication factor to each of the R, G and B values of each sample, according to the formula: SRout= ((Rin-128)*(256/h))+128 Gout ((Gin-128)*(256/h))+128 Bout= ((Bin-128)*(256/h))+128 where h is an integer in the range 1 to 256.
Fig. 17 shows the corresponding effect of contrast enhancement on input pixels for different values of h being one of 1, 64, 128, 256.
I As seen in Fig. 16, a colour mapping matrix multiply unit 71 implements Colour Masking by applying a programmable matrix multiplication to the incoming RGB data.
Colour Masking is a matrix transformation of the input data where each output (Red, Green and Blue) depends on each of the Red, Green and Blue inputs. It is designed to compensate for any non-orthogonal colour characteristics of the FLCD display 44. A possible additional function of the colour mask circuit is to perform RGB to luminance conversions employing the Green matrix multiply circuit only.
(FLCD3)(257059) I ~q C I -11 The colour mapping matrix multiply unit 71 includes nine programmable registers which hold matrix coefficients arr through to abb which are loaded at start-up time and are I determined from measurement of the colour characteristics of the FLCD display 44. The colour mapping matrix multiply unit 71 produces output colours according to the following formula.
Rout arrRin argGin arbBin Gout agrRin aggGin agbBin B.,ut abrRin abgGin 11bbBin A gamut clipping unit 72 constituting an apparatus embodying the invention, compensates for the fact that the RGBW display of the FLCD panel cannot represent all of the possible values in the RGB space. Values that cannot be represented, which are generally near-saturated colours, are remapped to within the panel's colour gamut.
A noise quenching unit 73 attempts to compensate for rectified noise in the nearsaturated regions of the input. It works by mapping near-saturated pixels to their saturated values if some number of the adjacent pixels are also saturated.
Turning now to Fig. 19, an example is shown of the process of error diffusion which is normally used where the number of levels of an output device is less than the number of levels assumed by the input mevs to that device. Fig. 19 shows the granularity of the possible output levels, 81, 82, 83 is much less then the granularity of the input levels 84, 20 85. In the present example, the granularity of the output is 10 times less than the S: granularity of the input. As a consequence, processes such as error diffusion or halftoning are used to attempt to approximate the display of the desired input image as close as possible using the limited number of output levels available. Fig. 19 shows a region of a line at a constant intensity, with portions 87, 88 representing adjacent pixels on a line.
The preferred embodiment is most effective in regions of near constant intensity level. In Fig. 19 it is assumed that such a region exists whereby the input 86 is of near constant intensity level for the portion of a line. In this example, the input intensity level 86 happens to also coincide with an output intensity level 82. Hence the error in the possible value that the output display can use to displ'v this value is zero.
However, when using an input which is derived from an analogue source, it is inevitable that some form of 'noise' will be associated with the input signal. It is assumed for the purposes of discussion of the preferred embodiment that the form of noise is Gaussian and random in nature. The effect of this noise is to produce fluctuations in the input signal and this in turn can cause fluctuations in the output of the analogue to digital converters that convert the analogue input to a corresponding digital output level. For the (FLCD3)(257059) -12purposes of discussion of the preferred embodiment it can be assumed that each analogue to digital converter produces an 8-bit output format and hence are capable of producing one 256 different levels in the range of 0 to 255.
Referring now to Fig. 20, there is shown a noise input signal 89 which consists of the input signal 86 of Fig. 19 with the addition of random Gaussian noise, The nature of this noise is substantially symmetric about an actual intensity value and causes the output of the analogue to digital converter to deviate from the true value of input signal 86 (Fig.
19).
If an error diffusion process such as the Floyd-Steinberg process is now used on the input signal 89, it is found that the output produced by the process is substantially anaffected by the effects of symmetrical forms of noise (provided they are r,,Jt too large) as the effect of the error diffusion process is to spread the error associated with the display of a current pixel to adjacent pixels.
This has been found to have the affect of cancelling out low levels of symmetrical noise as the process acts somewhat like a low pass filter on an input signal. Hence the noise is not a significant problem.
Referring now to Fig. 21, there is shown the effect of noise near the cxtremity of the outputs of the analogue to digital converter. Noise at this (lower) extremity (and at the other (higher) extremity of the analogue to digital converter) can lead to problems 20 occurring. The lowest value that the analogue to digital converter can output is set to be at S"a zero level, corresponding to the lowest analogue value expected from the computer device 40. Hence those values of the input signal that are below zero are rectified to zer;o S" by the analogue to digital converter and the output from the analogue to digital convertel is in the form of rectified signal 91 with values less than output level signal 0 (90) being removed.
As mentioned previously, in error diffusing the rectified signal 91, the normal process of error diffusion takes the rectified signal 91 and determines which level is the closest level to the rectified signal 91 level (in this case output level signal 0 and takes the difference between these two levels and distributes it to adjacent pixels according to the particular error diffusion schema, with Floyd-Steinberg coefficients being the preferred schema. However, as the input is now in a rectified form and all the resultant differences are also in a positive form, it has been found that by diffusing these positive errors to adjacent pixels, the value of adjacent pixels (which includes that pixels actual value as well as the summation of error values from its adjacent pixels) can be built (FLCD3)(257059) I I I _-M 13up to such a point that the output level 1 (92) becomes the closest pixel and consequently output level 1 (92) will be displayed on the output display device 44.
This has been found to give a unsightly distraction on the output display.
Particularly in large areas of constant intensity of one colour as, when displaying the consequential error diffused representation of this area it is found that the area is 'sprinkled' with pixels of a different colour. This has been found to be particularly distracting and noticeable to an observer of the display. The problem does not appear to be as prominent in displaying areas of constant illuminated colour where the output level is other than at the extremity as the noise in the input signal will not be rectified by the analogue to digital converters and the error differences will be more likely to be smoothed out by adjacent pixels.
The preferred embodiment is directed to a noise quench method designed to remove rectified noise in colours in which one component is saturated or near the extremity of an analogue to digital conversion device. Although the preferred embodiment will be described in relation to a single primary colour, by using the method described in the preferred embodiment on each primary colour, the method can be applied to a display having multiple primary colours.
o. In the preferred embodiment, an attempt is made to determine if an input signal at the extremity of the analogue to digital converter is in essence only noise and hence the noise can be removed from the input signal before the input signal is used for halftoning.
For each pixel value that is less than a predetermined distance from zero, the three horizontally adjacent pixels on each side are examined. If two or more of these pixels are exactly zero, then the original pixel is assumed to really also represent a zero value and its .value is set to zero. Similarly if a pixel's value is near 255(the saturation level), and two 25 adjacent pixels of the three horizontally adjacent pixels on each side are exactly 255, then the pixel is set to 255. The predetermined distance value for deciding to force the pixel to a saturated value can be varied for each primary colour used in the display.
For an input line having M pixels on each line and primary colour input values being red, green and blue, the preferred method can be stated as: Fori=OtoM-l: If R(i) RLT, and two or more of are equal to 0, then Rout(i) 0; If R(i) RUT, and two or more of are equal to 255, then Rout(i) 255; Otherwise, Rout(i)=R(i).
(FLCD3)(257059)
L~
-14- If G(i) GLT, and two or more of G(i+3)} are equal to 0, then Gout(i) 0; If G(i) GUT, and two or more of G(i+3)} are equal to 255, then Gout(i) 255; Otherwise, Gout(i)=G(i).
IfB(i) BLT, and two or more of are equal to 0, then Bout(i) 0; IfB(i) BUT, and two or more of are equal to 255, then Bout(i) 255; Otherwise, Bout(i)=B(i).
Where B(i) represent the red, green and blue values respectively for the pixel at position i of a line.
RLT and RUT are the predetermined upper and lower thresholds of the red value of a pixel.
Rout(i), Gout(i), Bo, iepresent the values to be output to a halftoning arrangement for the red green and blue portions of a pixel i respectively.
Pixels at start and end of a line are treated as special cases and there values are not changed.
In order to better understand the preferred embodiment, there is provided in 20 Appendix 1, a C-code simulation of the process of the preferred embodiment operating on a image having Red, Green and Blue components as outlined above. In this simulation, there is assumed to be provided an input colour image having a noise for each primary colour in an array The main subroutine 'suppress_noise_image' uses another subroutine 'suppressnoise_planeO' to suppress the extremity noise of each individual S: 25 primary colour separately.
Referring now to Fig. 22, there is shown an apparatus 101 incorporating a simplified version of the methods of the preferred embodiment. For the sake of clarity, only the Red data channel is shown, with the green and blue channels being equivalent.
In the apparatus 101, data is input 102 at a rate of four pixels at a time. If the sum of the four pixels is greater than an upper threshold, then all four pixel samples are set to 255. Similarly, if the sum of four pixels is less than a lower threshold, then all four samples are set to 0. Otherwise, the pixels are passed to the output unaltered. An adder and latch 103 adds together the input values while a latch 104 stores the input values.
Once added together each pixel is compared against an upper threshold 105 and a lower (FLCD3)(257059) I threshold 106 to determine 107 whether each output pixel value 108 should be the highest possible value, the lowest possible value or the input value A colour mapping multiplexer 74, multiplexes the pixels so that the output format of the pixels is the same as that of the input to colour mapping demultiplexer 69. Referring now to Fig. 15, the pixel and control information is subsequently forwarded on colour mapping to halftoning pixel bus 67 and to colour mapping to halftoning control bus 68 to the halftoning unit 66.
Referring now to Fig. 18, there is shown a second embodiment of the colour mapping unit 65 containing only the colour mapping demultiplexer 69, gamut clipping unit 72, noise quenching unit 73 and colour mapping multiplexer 74. The second embodiment has the advantage of a substantial reduction in complexity in comparison to the first embodiment with the disadvantage of a loss in versatility in being unable to preform gamma correction, contrast enhancement or colour masking.
Returning to Fig. 14 and Fig. 15, the halftoning unit 66 transforms continuous tone RGB data input on colour mapping to halftoning control bus 68, to 4-bit per pixel RGBW pixel data, suitable for display on the FLCD display 44. Output pixel data is forwarded to the frame store controller 46 for storage in the frame store It is envisaged that different gamut clipping methods can be used for different areas of the RGB cube structure, additionally a combination of methods can be employed in 20 areas where this is found to give superior results. Appendix 1 shows a C-code simulation of the simultaneous use of two different methods, being the shortest distance method and the drop clip method.
The particular values used in the C-code simulation are dependant on the position of various pixels including the white pixel in the input RGB colour space. In the Appendix, it 25 is assumed that the white pixel has co-ordinates R=G=B=102 and that the value of each primary colour ranges from 0 to 255. In an actual implementation, the various pixels values can be loaded as a configuration variable.
In this simulation the drop-clip method is preferred in the used, blue-red (magenta) and red saturated corners of the RGB cube and the shortest distance method is used near the green, blue-green (cyan) and red-green (yellow) corners.
As a consequence of the description in the foregoing embodiment, it can be seen that input data presented in, for example, an RGB format can be displayed on a device having a different output format than the input format, while simultaneously attempting to use the full potential of the output display in its use of colours and their respective (FLCD3)(257059) 9 II '-d -16intensities. YMC format, Lab format, or YCrCbformat can also be displayed as alternatives to the RGB format.
The foregoing description describes only some of the embodiments of the present invention, and makes a number of assumptions which can vary in practice. One of these assumptions is that the colour space of both devices is in the form of a cube. Deviations from a cubic structure can occur in practice and modifications of the present embodiment, obvious to those skilled in the art, can be made thereto without the departing from the scope of the invention.
For example, the present invention can be applied to any colour model, without 101 significant change, as would be understood by those skilled in the art. The present invention is applicable for halftone processing where each colour component converts colour image data of 8 bits into data of multi-level below 256 levels (8 bits), instead of binarizing.
o* o* 9 (FLCD3)(257059) LI_ -17- AppendixlI is_corner determine if we are in a particular corner of the cube local bool is_corner(cl,c2) int cl,c2; return((cl-c2)> 153); clipfrom vals determine the new value for red, green and blue, based upon the present location value in the cube stored in the array from vals[3].*/ void clipfromvals(fromvals) int from vals[3]; int red,green,blue,diff; bool lotsof redlittlegreencorner, lotsof greenlittlered corner, lotsofred_little_blue_corner, lotsof bluelittlered_corner, lotsof green littlebluecorner, lotsofblue_littlegreencorner; red fromvals[RED]; green from_ vals[GREEN]; blue= from vals[BLUE]; determine which possible corners of the present location are valid lotsofredlittle green corner is corner(red,green); lotsof green littleredcorner is corner(green,red); 25 lots_ofred_little_blue corner is_corner(red,blue); lots-of blue little_red_corner is_corner(blue,red); lotsof greenlittle_blueconer iscorner(green,blue); lotsofbluelittle green_corner iscorner(blue,green); S 30 if(lotsofblue littlered corner) if(lotsof blue little_green corner) perform a drop clip if(red green) (FLCD3)(257059) 18 blue (blue-red-l53); else 1* red green blue (blue-green- 15 3); else if(lots of green-little-red-corner) I P~ At the corner, move to nearest plane and then drop clip diff green-red- 15 3; green diff/2; red diff/2; blue (blue-red- 153); else drop clip on blue*/ blue (blue-red-153); 20 else if(lots of blue-little green corner) not(lots of blue-little-red-corner) if(lots -of red little green-corner) drop clip on red and blue 25 blue (blue-green-153); red (red-green- 15 3); else {/*drop-clp on blue blue (blue-green- 153); else if (lots-of red-little-green-corner) P* not(lots of blue-little green-corner) (FLCD3)(257059) 19if(lots of red-little-blue corner) if(blue green) drop-clip on red red (red-blue- 153); else blue green drop-clip on red red (red-green- 15 3); else drop-clip on red red (red-green- 15 3); else if(lots of red little blue corner) not(lots-of red little green corner) 20 if(lots of green little blue corner) find shortest distance to plane intersection and then drop-clip on red diff =green-blue- 153; green diff/2; 25 blue diff/2; red (red-blue- 153); else drop on red 30 red (red-blue-153); else ifflots-of green little-blue-corner) not(lots of red-little-blue-corner) (FLCD3)(257059)
L
if(lotsofgreen_littleredcorner) if(red blue) find shortest distance to plane intersection and then drop-clip on blue diff green-red-153; green diff/2; red diff/2; blue green-153; else red blue find shortest distance to plane intersection and then drop-clip on red diff green-blue-1 53; green diff/2; blue diff/2; red green-153; else find shortest distance. diff= green-blue-153; green diff/2; 25 blue diff/2; else if(lots_ofgreenlittlered_corner) not(lotsof_green_littleblue_corner) not(lotsofblue_littlered corner) find shortest distance diff= green-red-153; green diff/2; red diff/2; (FLCD3)(257059) -21- 0 0.0.
(.FLCD3)(257059)
Claims (18)
1. A method for displaying a colour image on a display device, said colour image being provided as input colours in an input colour format, said method comprising the steps of: mapping the input colours into output colours such that the output colours are within a gamut with at least one concave surface of said display device; and halftoning the output colours to produce an image that can be displayed on the display device.
2. A method as claimed in claim 1, wherein the input colours are in a format of separate colour information for the red, green and blue colours (RGB) respectively.
3. A method as claimed in claim 2, wherein the mapping step further includes maintaining the relative components of the red, green and blue components respectively.
4. A method as claimed in claim 2, wherein the mapping step further comprises changing only one of the colour channels while maintaining the others substantially constant. A method as claimed in any one of the preceding claims, wherein the image data after said halftoning is in the form of separate colour information for red, green, blue and white (RGBW) colour information respectively. A method as claimed in claim 5, wherein the white colour is limited to a two levels.
7. A method as claimed in any one of the preceding claims wherein said mapping process is for mapping the input colours to a surface of said gamut on which the colour difference is substantially minimum.
8. A method as claimed in claim 1, wherein the mapping step further comprises a 25 combination of at least two of the following; moving said input colour by the shortest vector distance to a position within said o volume; maintaining the relative components of the red, green and blue components -respectively; changing only one of the colour channels while maintaining the others substantially constant.
9. A colour image processing apparatus comprising: input means for inputting colour image data as an input colour format; /colour processing means for colour-processing the input colour image data; FLCD3 257059 CFP0198AU I I O -23- output means for outputting said colour-processed colour image data to a colour image reproducing apparatus for reproducing a colour image; wherein said colour image reproducing apparatus reproduces a colour image based on a plurality of primary colours including white and has a concave gamut, and said colour processing means includes mapping means for mapping said input colour image data to the concave gamut. An apparatus as claimed in claim 9 wherein said input colour format comprises multiple colour channel values, and said remapping means alters said undisplayable colours by altering one of said colour channel values
11. An apparatus as claimed in claim 10 wherein said input colour format comprises a first colour channel value, said apparatus further comprises undisplayable colour determination means including minimization determination means adapted to determine the minimum value of said ancillary colour channel values, addition means adapted to add a predetermined gamut limit threshold value to said minimum value to produce an intermediate gamut extent value, and comparison means adapted to determine if said intermediate gamut extent value is less than said first colour channel value and thereby determine that a corresponding colour is a said undisplayable colour, and said remapping means is connected to said comparison means and alters said undisplayable colour when said comparison means determines that the value of said first 20 colour channel corresponds to a non-displayable colour.
12. An apparatus as claimed in clam 11 wherein said alteration by said remapping means replaces said first colour channel value by said intermediate gamut extent value.
13. Image processing method for a colour output device, wherein said method 25 comprises the steps of: inputting a colour image signal; Se mapping the input colour image signal into a restricted colour space that is defined by displayable colour of said colour output device; and processing the mapped colour image signal by using an error diffusion method.
14. A method as claimed in claim 13 wherein said colour image signal comprises multi-value data for each colour component and said processing is halftoning. A method as claimed in claim 13 wherein said mapping includes moving any SV ^R4i of the input colour images outside the restricted colour space to corresponding points S2S 0 .3fl inside or on a surface of the restricted colour space. FLCD3 257059 CFP0198AU yl L- -L L ~1 -24-
16. A method as claimed in claim 13 wherein the colour output device is a colour display device.
17. A method as claimed in claim 13 wherein the colour output device is a colour printer.
18. A method as claimed in claim 16 wherein the colour display device is a FLCD display device.
19. Apparatus for displaying a colour image on a display device, said apparatus comprising means for mapping input colours into a first 3-dimensional colour space greater than a second 3-dimensional colour space corresponding to the output capabilities of the display device, and means for binarizing said mapped input colours for transferring input colours outside said second 3-dimensional colour space so that they at least lie on the surface of said second 3-dimensional colour space. A method for displaying a colour image on a display device, said mthod comprising the steps of mapping input colours into a first 3-dimensional colour space 15 greater than a second 3-dimensional colour space corresponding to the output capabilities S"'of the display device, and binarizing said mapped input colours for transferring input colours outside said second 3-dimensional colour space so that they at least lie on the surface of said second 3-dimensional colour space.
21. A method for displaying colour images, said method being substantially as i 20 described with reference to the accompanying drawings.
22. An apparatus for the processing of colour images, said apparatus being substantially as described with reference to the accompanying drawings.
23. A colour image processing method comprising the steps of: 25 inputting colour image data; mapping the inputted colour image data within a colour gamut of an output device; and quantizing the mapped colour image data by a colour proportion preserving method in order to output the quantized data to said output device. 23. A colour image processing apparatus comprising: input measn for inputting colour image data; mapping means for mapping the inputted colour image data within a colour gamut of an output device; and FLCD3 257059 CFP0198AU I LL L I quantization means for quantizing the mapped colour image data by a colour proportion preserving method in order to output the quantized data to said output device. Dated the Fourth day of October 1996 CANON KABUSHIKI KAISHA Patent Attorneys for the Applicant Spruson Ferguson ee f ~~LU Q<( "LCD3 257059 CFPO!98AU Abstract COLOUR GAMUT CLIPPING A process of displaying images on output displays incompatible with the input format is disclosed. In particular, a process of displaying RGB input on a screen (44) having Red, Green, Blue and White bi-level pixel elements by means of defining a convex hull Fig.6) of the outpat points and attempting to map the input data into the convex hull, moving those values outside the convex hull so that they lie on the surface (11,12,16) of the convex huh and halftoning the mapped values to produce output pixel elements corresponding to an approximation of the input pixels Fig. 9 Fig. 12 as a (FLCD3)(257059)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU53109/94A AU674037B2 (en) | 1993-01-11 | 1994-01-10 | Colour gamut clipping |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPL6764 | 1993-01-11 | ||
AUPL676493 | 1993-01-11 | ||
AU53109/94A AU674037B2 (en) | 1993-01-11 | 1994-01-10 | Colour gamut clipping |
Publications (2)
Publication Number | Publication Date |
---|---|
AU5310994A AU5310994A (en) | 1994-07-14 |
AU674037B2 true AU674037B2 (en) | 1996-12-05 |
Family
ID=25629981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU53109/94A Ceased AU674037B2 (en) | 1993-01-11 | 1994-01-10 | Colour gamut clipping |
Country Status (1)
Country | Link |
---|---|
AU (1) | AU674037B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007004194A3 (en) * | 2005-07-05 | 2007-05-03 | Koninkl Philips Electronics Nv | Method and apparatus for converting colour signals for driving an rgbw display and a display using the same |
EP1678949A4 (en) * | 2003-10-28 | 2008-05-07 | Clairvoyante Inc | Display system having improved multiple modes for displaying image data from multiple input source formats |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0330361A2 (en) * | 1988-02-16 | 1989-08-30 | General Electric Company | Color display device |
EP0421772A2 (en) * | 1989-10-06 | 1991-04-10 | Canon Kabushiki Kaisha | Display apparatus |
EP0501023A2 (en) * | 1991-02-25 | 1992-09-02 | International Business Machines Corporation | Coupled-color error diffusion |
-
1994
- 1994-01-10 AU AU53109/94A patent/AU674037B2/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0330361A2 (en) * | 1988-02-16 | 1989-08-30 | General Electric Company | Color display device |
EP0421772A2 (en) * | 1989-10-06 | 1991-04-10 | Canon Kabushiki Kaisha | Display apparatus |
EP0501023A2 (en) * | 1991-02-25 | 1992-09-02 | International Business Machines Corporation | Coupled-color error diffusion |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1678949A4 (en) * | 2003-10-28 | 2008-05-07 | Clairvoyante Inc | Display system having improved multiple modes for displaying image data from multiple input source formats |
WO2007004194A3 (en) * | 2005-07-05 | 2007-05-03 | Koninkl Philips Electronics Nv | Method and apparatus for converting colour signals for driving an rgbw display and a display using the same |
CN101218619B (en) * | 2005-07-05 | 2010-10-20 | 皇家飞利浦电子股份有限公司 | Method and apparatus for converting colour signals for driving an rgbw display and a display using the same |
Also Published As
Publication number | Publication date |
---|---|
AU5310994A (en) | 1994-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6384836B1 (en) | Color gamut clipping | |
JP3737149B2 (en) | Color image generation system and method | |
US5377041A (en) | Method and apparatus employing mean preserving spatial modulation for transforming a digital color image signal | |
US5553200A (en) | Method and apparatus for providing bit-rate reduction and reconstruction of image data using dither arrays | |
US5455600A (en) | Method and apparatus for mapping colors in an image through dithering and diffusion | |
US5375002A (en) | Color error diffusion | |
US5565931A (en) | Method and apparatus for applying gamma predistortion to a color image signal | |
US4994901A (en) | Method and apparatus for increasing the gamut of an additive display driven from a digital source | |
EP0338457A1 (en) | Color conversion display apparatus and method | |
US4843379A (en) | Color displays | |
US5742405A (en) | Method and system for forming multi-level halftone images from an input digital image | |
US6147671A (en) | Temporally dissolved dithering | |
US6853468B2 (en) | Reducing quantization errors in imaging systems | |
US5666436A (en) | Method and apparatus for transforming a source image to an output image | |
US5754309A (en) | Tone correction for multi-level halftoned images | |
US5732151A (en) | Computerized memory mapping method for transforming color data | |
JP2003116018A (en) | Apparatus and method for processing image | |
US6002795A (en) | Method and apparatus for transforming a source image to an output image | |
KR100354742B1 (en) | Image data processing device | |
US5757516A (en) | Noise quenching method and apparatus for a colour display system | |
AU674037B2 (en) | Colour gamut clipping | |
AU674551B2 (en) | Block parallel error diffusion method and apparatus | |
US20040085553A1 (en) | Multitoning a digital image having at least one group of similar colors channels | |
AU672647B2 (en) | Noise quenching method and apparatus for a colour display system | |
AU676419B2 (en) | Reduction of luminance noise in colour dithering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK14 | Patent ceased section 143(a) (annual fees not paid) or expired |