EP0789891A1 - Procede et appareil pour convertir en un espace a composantes chromatiques des signaux d'image numeriques issus d'un espace chromatique a difference de luminance et de couleur - Google Patents
Procede et appareil pour convertir en un espace a composantes chromatiques des signaux d'image numeriques issus d'un espace chromatique a difference de luminance et de couleurInfo
- Publication number
- EP0789891A1 EP0789891A1 EP95936269A EP95936269A EP0789891A1 EP 0789891 A1 EP0789891 A1 EP 0789891A1 EP 95936269 A EP95936269 A EP 95936269A EP 95936269 A EP95936269 A EP 95936269A EP 0789891 A1 EP0789891 A1 EP 0789891A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- signal
- signals
- output
- color
- color index
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Definitions
- the present invention relates generally to the conversion of video information represented by one three-dimensional color space to another three-dimensional color space. More specifically, the present invention relates to the conversion of digitally encoded video information between a representation using one luminance signal and two color difference signals (e.g. YC R C B ) and a representation using three color component signals (e.g. RGB).
- a representation using one luminance signal and two color difference signals e.g. YC R C B
- three color component signals e.g. RGB
- a video signal generally comprises a representation of a sequence of frames which when displayed at a sufficiently high rate can create in a human observer the illusion of motion.
- Suitable frame rates used in the television arts and the personal computer arts are generally in a range of 15 to 30 frames per second.
- Video signals may be either analog or digital representations of the sequence of frames.
- analog video signals are first converted to digital form by an analog-to-digital (A/D) conversion process.
- A/D analog-to-digital
- each frame includes a matrix of picture elements or pixels, which are each assigned a luminance value for a monochrome frame and which are each assigned a color value for a color frame.
- each pixel may be represented by up to three numbers, because color information is a three-dimensional physical attribute. That is, to represent any perceivable color in digital form requires three different numerical quantities.
- High quality color images are typically represented by three color component signals, denoted R, G and B, corresponding to the intensities of each of the red, green and blue components of a scene.
- the red, green and blue component signals fully represent the visual information contained in the scene, because the intensities of red, green and blue form a coordinate system by which any point in three-dimensional color space may be identified.
- each pixel is represented by an RGB triplet of bytes (RGB24), wherein each byte is eight bits in length and wherein each of the red, green and blue components of a pixel is represented by one of the bytes of the triplet.
- RGB24 RGB triplet of bytes
- each pixel is represented by an RGB triplet of five bits, each.
- RGB 16 This format (RGB 16) occupies only two bytes, but does so at the expense of poorer quantization of the intensities of the red, green and blue component signals. Regardless of the signal format, the overall luminance of a pixel is mathematically related to the individual red, green and blue intensities by the equation:
- Encoding Parameters of Digital Television for Studios, CCIR XVth Plenary Assembly, Document 11/1041-E, Dubrovni , December 11, 1985, pp. 1-10 calls for a representation of color images (YC R C B ) using digital signals representative of luminance, Y, and two chrominance or color difference components, C R and C B , representative of the color signal differences R - Y and B - Y, for each pixel respectively.
- Recommendation 601 also calls for subsampling the color difference signals by a factor of two-to-one with respect to the luminance signal. That is, each two pixels is represented by two luminance signal values, respectively, and by one pair of color difference signal values.
- each frame is divided into two-by-two pixel regions, each two-by-two pixel region represented by four luminance signal values and two color difference signal values.
- Each pixel is associated with its own luminance signal value, but each group of four pixels is associated with only one color difference signal value for each of the two color difference signals, C R and C B .
- R Y + 1.402(C ⁇ - 128)
- G Y - 0J74(C ⁇ - 128) - 03AA(C B - 128), and ( 2 )
- Y, C R and C B are assumed to lie within a range of [0..255], a color difference value of 128 being neutral.
- the resulting R, G and B signals are clipped to lie within a range of [0..255] after performing the operations specified by the system of equations (2).
- the specified ranges correspond to the range of unsigned integers representable by a single, eight-bit byte.
- the mathematical operations and clipping specified by the system of equations (2) may be carried out in a personal computer or other general purpose or special purpose computer. These operations include six comparisons, four multiplications and six addition operations for each pixel. All of these operations are typical of those core operations performed by a central processing unit (CPU) in a typical personal computer or other general purpose or special purpose computer.
- CPU central processing unit
- the LUTs are addressable by combinations of the luminance and color difference signals.
- the red and blue tables are each addressed by two of the YC R C B signals, while the green table is addressed by all three YC R C B signals.
- a total of over 16 Mbytes of RAM is required, just to hold these LUTs. This requirement is in excess of what is found in many personal computers in general use, which typically have 8 Mbytes or less of RAM.
- a method for converting in a computer an input image signal in which color information is represented as input pixels, each input pixel including a first signal sampled at a first rate and a plurality of second signals sampled at a lower rate than the first rate to an output image signal in which color information is represented as output pixels, each output pixel including a plurality of third signals, the third signals sampled at one rate includes the following steps: precomputing and storing in a memory in the computer a first lookup table containing index values representing possible combinations of the plurality of second signals, each index value stored at an address corresponding to the possible combinations of the plurality of second signals; precomputing and storing in a memory in the computer a secon lookup table containing output pixels including the plurality of third signals, each output pixel stored at an address corresponding to a possible combination of the first
- the method may further include before the step of addressing the second lookup table, the steps of: adding noise or a dither pattern in a controlled manner to the first signal; and uniformly quantizing the first signal.
- Uniform quantization means that the steps size between quantization values is constant.
- the step of precomputing and storing the first lookup table of the first aspect of the invention may include steps of: generating a first sub-table corresponding to one of the second signals; and generating a second sub-table corresponding to another of the second signals.
- the lookup tables are described as being held in random access memory of a computer. However, holding the lookup tables in random access memory is but one example of this feature of the invention. In embodiments of the invention implemented using special purpose hardware, the lookup tables may be held in a read only memory, a non-volatile random access memory, or any other suitable type of memory.
- Fig. 1 is a general block diagram of a personal computer suitable for use in connection with embodiments of the present invention
- Fig. 2 is a signal flow diagram of fast color space conversion according to one aspect of the present invention
- Fig. 3 is a signal flow diagram of fast color space conversion according to a second aspect of the present invention.
- Fig. 4 is a signal flow diagram of fast color space conversion according to a third aspect of the present invention.
- Fig. 1 Some embodiments and variations disclosed herein are intended to be implemented in the form of software running on a personal computer (PC), configured substantially as shown in Fig. 1.
- PC personal computer
- the specific hardware configuration is not a limitation of the present invention. Indeed, the invention could be embodied in a sequence of instructions executed by other types of general-purpose computers, parallel processing computers or embodied in special-purpose integrated circuits.
- the PC configuration of Fig. 1 illustrates general hardware parameters suitable for practicing the invention, without unduly complicating the detailed explanation thereof.
- the PC 101 includes a processing unit, generally a central processing unit (CPU) 103, memory 105, input/output (I/O) system 107 and mass storage 109.
- CPU central processing unit
- I/O input/output
- the CPU 103 should preferably be of a type having an internal precision and register size of at least sixteen bits, such as the Intel X86 family or Motorola 680X0 devices.
- the minimum processing speed is not a critical parameter, but may be chosen by the skilled designer. Naturally, differences in processing speed will have a direct effect on the performance of different systems.
- the processing unit could be an ALU, a digital signal processor or other suitable device.
- a suitable device is a processing unit capable of performing the functions described below, under software program control. Having sufficient quantities of memory 105 available in the PC 101 will also have a direct impact on system performance.
- I/O system 107 may include a modem 108a for sending digital signals or receiving digital signals or data from remote devices and computers. Such digital signals could include digital image signals.
- I/O device is a frame grabber 108b, which could be used to introduce into PC 101 television or video images which have been converted to digital form.
- I/O system 107 may include such conventional I O devices as a monitor 108c, keyboard 108d and printer (not shown), which may be desirable.
- Programs, data and digital signals which need to be stored on a more permanent basis than permitted by the RAM portion of memory 105 are stored in a mass storage device 109.
- the mass storage device 109 may be a hard disk, an optical disk, a CD-ROM or any permanent storage device having similar characteristics to the devices mentioned.
- Image signals are received into the PC 101 through one of the devices of I/O system 107.
- the image signals will have been converted to digital form. That is, they are digital image signals.
- the digital image signals are to be either stored in a mass storage device 109 or transmitted to another location via one of the I/O devices of the I/O system 107.
- the PC 101 is part of a conferencing network in which images are to be exchanged, stored and displayed on a plurality of such machines.
- the above-described architecture of PC 101 is generic and need not be limited to personal computer embodiments.
- the architecture, illustrated in Fig. 1 is intended to represent all similar architectures including a processing unit, memory, I/O system, etc.
- a first aspect of the present invention is now described in connection with Fig. 2. This aspect of the invention is fairly general, the second and third aspects of the invention including additional features which may be useful in some applications.
- the signal flow diagram of Fig. 2 includes two LUTs, a color index LUT 201 and an RGB LUT 203.
- the LUTs are cascaded as follows.
- the color difference signals C R and C B are applied by the processing unit as addresses to the color index LUT 201 , which produces a color index, I.
- the color index I and the luminance Y are then applied by the processing unit to the RGB LUT 203, to produce three color component signals R, G and B.
- the operation of this method is now examined in further detail.
- the color index I represents each input combination of C R and C B , but using fewer bits.
- C R and C B are each defined to be eight-bit bytes.
- the color index, I could also be an eight-bit byte, representing 256 different combinations of C R and C B .
- a LUT such as the color index LUT 201 may be characterized as a vector quantizer.
- Vector quantizers are well- known in the art, and may be designed by a variety of known methods. For example, a statistical design method suitable for this application is the Generalized Lloyd Algorithm, or LBG algorithm, described in Y. Linde, et al.. An algorithm for vector quantizer design, IEEE Transactions on Communications, V. COM-28(l), pp. 84-95, January 1980.
- the RGB LUT 203 may combine several normally-distinct operations into one, simple table lookup. For example, the values stored in the RGB LUT 203 may already be clipped. Thus that step need not be separately performed. In another example, the values stored in the RGB LUT 203 may correspond to addresses into a color palette or other color display format. Thus, although red, green and blue signals may not be directly produced, signals representative of appropriate mixtures of red, green and blue intensities in a format understood to an underlying display system may be produced.
- the tables 201 and 203 according to this aspect of the present invention are of very limited size, relative to the prior art. If the color index I is an eight-bit byte, and the color difference signals C R and C B are eight-bit bytes, then the color index LUT 201 has 64 K entries of one byte each, requiring 64 Kbytes of RAM. If RGB24 signals and an eight-bit Y signal are assumed, as above, then the RGB LUT 203 has 64 K entries of three bytes each, requiring 192 Kbytes of RAM. The total storage required by this aspect of the present invention is therefore 256 Kbytes of RAM.
- the size of RGB LUT 203 is a function of the number of bits by which it is addressed.
- the RGB LUT 203 may be made smaller.
- this size advantage comes at a price of undesirable contouring effects in the resulting picture. These appear as steps in the picture brightness where smooth brightness transitions should appear.
- the luminance signal Y may have noise or a dither pattern D added to it before passing it through quantization block 301. Dithering will also break up luminance contouring which occurs in some display formats, such as RGB 16, in which each color component signal is represented by only five bits. In one embodiment, a four- pixel dither pattern D was used, as follows:
- Each number in the dither pattern D represents a value to be added to the luminance signal Y representing the pixel at the corresponding location in each two-by-two pixel region.
- This dither pattern D assumes that uniform quantization of the luminance is performed, for example by simply lopping off some low-order bits from the numeric representation. Such a crude quantization method causes a predictable shift in the mean of the luminance signal, which is compensated for by an equal and opposite mean shift in the dither pattern.
- the above dither pattern is optimized for quantization which reduces the luminance signal Y from an eight bit signal to a six bit signal.
- the size of the color index LUT 201 may be even further reduced, in accordance with the third aspect of the present invention, described now in connection with Fig. 4.
- the reduction is achieved by dividing the color index LUT into a C u LUT 401 and a C B LUT 403.
- the result of the table look up is a non-uniform scalar quantization to a five bit representation of the corresponding color difference signal.
- the design of scalar quantizer LUTs is well-known in the art.
- the LBG algorithm referred to above may be used to design the LUTs 401 and 403.
- Each component of the color index may be represented by five bits, resulting in a ten bit color index.
- the RGB table 203 contains 256 K entries, each of which may be two bytes for RGB 16 format image signals.
- the total size of the RGB table 203 is 512 Kbytes. If the five bit color index components each occupy one byte, then each color index component LUT contains 256 bytes, or a total of 0.5 Kbytes for both. The total space occupied by all three LUTs is thus only 512.5 Kbytes for embodiments according to this aspect of the invention.
- the color index according to this aspect of the invention has ten bits of resolution as compared to only eight bits of resolution in the earlier described embodiments.
- the output signals are represented in RGB 16 format.
- the input signals are a six bit wide luminance signal, Y, and two eight bit wide color difference signals, C R and C B .
- the color difference signals are quantized to two five bit wide component color index signals.
- the combined size of the color index LUT is 0.5 Kbytes, as above.
- the RGB LUT 203 contains only 64 K entries, each of which is two bytes for RGB 16 format output.
- the total size of the RGB LUT 203 is 128 Kbytes.
- the combined total size of the three LUTs is 128.5 Kbytes.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
L'invention concerne des procédés pour convertir des signaux d'image polychrome issus d'une représentation comprenant un signal de luminance et une paire de signaux de différence chromatique sous-échantillonnés, en une représentation comportant des signaux à composantes trichromes. Ces procédés font appel à des tables de consultation pour améliorer la vitesse et le taux d'utilisation de la mémoire RAM par rapport aux procédés de la technique antérieure. Généralement, les signaux de différence chromatique sous-échantillonnés sont appliqués à une ou plusieurs tables de consultation pour obtenir un index chromatique. Ce dernier et le signal de luminance sont ensuite appliqués à une table de consultation pour obtenir des signaux à composantes chromatiques correspondant à l'association du signal de luminance et des signaux de différence chromatique.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33191194A | 1994-10-31 | 1994-10-31 | |
US331911 | 1994-10-31 | ||
PCT/US1995/012899 WO1996013807A1 (fr) | 1994-10-31 | 1995-09-28 | Procede et appareil pour convertir en un espace a composantes chromatiques des signaux d'image numeriques issus d'un espace chromatique a difference de luminance et de couleur |
Publications (1)
Publication Number | Publication Date |
---|---|
EP0789891A1 true EP0789891A1 (fr) | 1997-08-20 |
Family
ID=23295885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP95936269A Ceased EP0789891A1 (fr) | 1994-10-31 | 1995-09-28 | Procede et appareil pour convertir en un espace a composantes chromatiques des signaux d'image numeriques issus d'un espace chromatique a difference de luminance et de couleur |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0789891A1 (fr) |
WO (1) | WO1996013807A1 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6075886A (en) * | 1998-03-09 | 2000-06-13 | Xerox Corporation | Method and apparatus for reducing the complexity of color correction using subsampling |
US6417891B1 (en) * | 1999-04-16 | 2002-07-09 | Avid Technology, Inc. | Color modification on a digital nonlinear editing system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4829455A (en) * | 1986-04-11 | 1989-05-09 | Quantel Limited | Graphics system for video and printed images |
CA2044558C (fr) * | 1990-07-09 | 1995-06-13 | David M. Smith | Methode et dispositif de conversion de signaux video couleur |
US5343311A (en) * | 1992-04-14 | 1994-08-30 | Electronics For Imaging, Inc. | Indexed processing of color image data |
US5262847A (en) * | 1992-10-20 | 1993-11-16 | International Business Machines Corporation | Method of converting luminance-color difference video signal to a three color component video signal |
-
1995
- 1995-09-28 WO PCT/US1995/012899 patent/WO1996013807A1/fr not_active Application Discontinuation
- 1995-09-28 EP EP95936269A patent/EP0789891A1/fr not_active Ceased
Non-Patent Citations (1)
Title |
---|
See references of WO9613807A1 * |
Also Published As
Publication number | Publication date |
---|---|
WO1996013807A1 (fr) | 1996-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4710806A (en) | Digital display system with color lookup table | |
US6034667A (en) | Method and apparatus for displaying YUV color information on a pseudo-color RGB display | |
US5544284A (en) | Sequential product code quantization of digital color image | |
US6147772A (en) | System and method for color space conversion using an extended color space | |
US5287420A (en) | Method for image compression on a personal computer | |
EP0651563A1 (fr) | Appareil pour la transformation d'un signal numérique d'image en couleurs | |
US5917954A (en) | Image signal coder operating at reduced spatial resolution | |
US7659911B2 (en) | Method and apparatus for lossless and minimal-loss color conversion | |
US5172237A (en) | High quality color image compression system | |
US5111286A (en) | Image processing | |
US5450098A (en) | Tri-dimensional visual model | |
US5936683A (en) | YUV-to-RGB conversion without multiplies using look-up tables and pre-clipping | |
US6778187B1 (en) | Methods and devices to process graphics and/or video data | |
US4866514A (en) | Image processing having a second set of look-up-tables (LUTS) for generating error value signals | |
US6384838B1 (en) | Optimized lookup table method for converting Yuv pixel values to RGB pixel values | |
US5381180A (en) | Method and apparatus for generating CLUT-format video images | |
JPH06105337A (ja) | カラー・イメージ伝送のためのデジタル・イメージ・プロセッサ | |
Bala et al. | Efficient color transformation implementation | |
Dixit | Quantization of color images for display/printing on limited color output devices | |
US5732205A (en) | Color conversion using 4.5 bit palette | |
US5307088A (en) | Method and apparatus of encoding color image information | |
JP3155768B2 (ja) | 画像処理方法及び装置 | |
WO1996013807A1 (fr) | Procede et appareil pour convertir en un espace a composantes chromatiques des signaux d'image numeriques issus d'un espace chromatique a difference de luminance et de couleur | |
US5448296A (en) | Variable parameter block coding and data compression system | |
US5953457A (en) | Method and apparatus for improved video decompression by prescaling of pixel and error terms to merging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19970527 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LI LU MC NL PT SE |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
17Q | First examination report despatched |
Effective date: 19980529 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 19990121 |