Cached color conversion method and apparatus

Computer graphics processing and selective visual display system – Display peripheral interface input device – Light pen for fluid matrix display panel

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S156000, C345S156000, C345S519000, C358S523000, C358S524000, C358S525000

Reexamination Certificate

active

06246396

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to a method and apparatus for color conversion of color images from an input color space to an output color space.
BACKGROUND OF THE INVENTION
Images are normally displayed by a CRT type display using an additive format such as the red, green, blue (RGB) format. In this format, separate color information is provided for each of the red, green and blue primary colors and when displayed together, they form any desired color to be displayed.
However, when it is desired to print out a color representation of the image displayed by a color display, a subtractive color format is generally used. One such subtractive format is the cyan, magenta, yellow and black (CMYK) format. Such a subtractive format is commonly used in color printing devices and in particular is used in the Canon CLC500 color laser copier/printer manufactured by Canon Inc.
In theory the relationship between additive colors and subtractive colors is simple, as cyan, magenta and yellow are simply the complimentary colors to red, green and blue respectively. They can be expressed by:
C
=
1
-
R

:
(EQ1)
M
=
1
-
G

:
(EQ2)
Y
=
1
-
B

:
(EQ3)
Black (K) is a function of all three additive primaries as follows:
K
=
rR
+
gG
+
bB
(EQ4)
where r, g and b are co-efficients determined by relative human perception of red, green and blue.
In practice the above equations are inadequate and the amount of cyan for example is a complex non-linear function on the amount of red, green and blue. Similar relationships exist, for the other primary colors. Non-linear transfer functions in the printing mechanism require a non-linear transfer function during conversion between the two color formats.
One method for performing color conversion is to use a large look-up table storing a corresponding output color value for each possible input color value. However such a method requires a large amount of storage space. For example, in a color conversion from a 24 bit RGB input color space to a 32 bit CYMK output color space, the total storage for each color pass of the output requires 2
8
×2
8
×2
8
(16 Mbytes). Where all primary color components of the 32 bit CYMK color space are simultaneously mapped from the 24 bit RGB input color space, the look-up table requires 64 Mbytes which is obviously excessive.
Functional interpolation has particular application in color conversion where it is designed to convert from one color space, for example RGB color space to a second color space, for example CYMK color space. Examples of such color conversion are illustrated in U.S. Pat. Nos. 4,837,722, 3,893,166, and 4,511,989. The operation of the color conversion process being normally facilitated by providing for a sparsely array of output color values between which interpolation is to be carried out.
Normally, even though a sparsely array of values is utilised, a large memory is still required. Unfortunately, in a modern microprocessor architecture, there is often limited space on board a chip for the storage of memory arrays. This problem is accentuated when it is desired to produce multiple output color space values simultaneously, for example to interpolate each pixel in RGB space directly into corresponding values in CYMK space. In such a case, the amount of storage space required can be multiplied by a factor of four.
SUMMARY OF THE INVENTION
It is an object of the present invention to substantially ameliorate one or more of the aforementioned disadvantages of the prior art.
According to one aspect of the present invention there is provided a method for converting an input image in an input color space to an output image in an output color space, wherein said input image comprises a plurality of input pixels; said method comprises the steps of: storing, in a first memory, sparsely located output color values of said output color space; supplying a stream of neighbouring pixels of the input image; and performing the following steps on each pixel of the stream; storing, in a cache memory from said first memory, sparsely located output color values corresponding to the input pixels closest to the current input pixel of the stream, if not already present in the cache memory; retrieving, from said cache memory, sparsely located output color values corresponding to the input pixels closest to the current input pixel of the stream; interpolating the retrieved output color values to derive an output color value in said output color space.
According to another aspect of the present invention there is provided an apparatus for converting an input image in an input color space to an output image in an output color space, wherein said input image comprises a plurality of pixels; said apparatus comprising: a first memory for storing sparsely located output color values of said output color space; means for supplying a stream of neighbouring pixels of the image; a cache memory for storing from said first memory, sparsely located output color values corresponding to the input pixels closest to the current input pixel of the stream, if not already present in the cache memory; retrieval means for retrieving, from said cache memory, sparsely located output color values corresponding to the input pixels closest to the current input pixel of the stream; interpolation means for interpolating the retrieved output color values to derive an output color value in said output color space.
In the following detailed description, the reader's attention is directed, in particular, to
FIGS. 56
to
63
and their associated description without intending to detract from the disclosure of the remainder of the description.
TABLE OF CONTENTS
1.0 Brief Description of the Drawings
2.0 List of Tables
3.0 Description of the Preferred and Other Embodiments
3.1 General Arrangement of Plural Stream Architecture
3.2 Host/Co-processor Queuing
3.3 Register Description of Co-processor
3.4 Format of Plural Streams
3.5 Determine Current Active Stream
3.6 Fetch Instruction of Current Active Stream
3.7 Decode and Execute Instruction
3.8 Update Registers of Instruction Controller
3.9 Semantics of the Register Access Semaphore
3.10 Instruction Controller
3.11 Description of a Modules Local Register File
3.12 Register Read/Write Handling
3.13 Memory Area Read/Write Handling
3.14 CBus Structure
3.15 Co-processor Data Types and Data Manipulation
3.16 Data Normalization Circuit
3.17 Image Processing Operations of Accelator Card
3.17.1 Compositing
3.17.2 Color Space Conversion Instructions
a. Single Output General Color Space (SOGCS) Conversion Mode
b. Multiple Output General Color Space Mode
3.17.3 JPEG Coding/Decoding
a. Encoding
b. Decoding
3.17.4 Table Indexing
3.17.5 Data Coding Instructions
3.17.6 A Fast DCT Apparatus
3.17.7 Huffman Decoder
3.17.8 Image Transformation Instructions
3.17.9 Convolution Instructions
3.17.10 Matrix Multiplication
3.17.11 Halftoning
3.17.12 Hierarchial Image Format Decompression
3.17.13 Memory Copy Instructions
a. General purpose data movement instructions
b. Local DMA instructions
3.17.14 Flow Control Instructions
3.18 Modules of the Accelerator Card
3.18.1 Pixel Organizer
3.18.2 MUV Buffer
3.18.3 Result Organizer
3.18.4 Operand Organizers B and C
3.18.5 Main Data Path Unit
3.18.6 Data Cache Controller and Cache
a. Normal Cache Mode
b. The Single Output General Color Space Conversion Mode
c. Multiple Output General Color Space Conversion Mode
d. JPEG Encoding Mode
e. Slow JPEG Decoding Mode
f. Matrix Multiplication Mode
g. Disabled Mode
h. Invalidate Mode
3.18.7 Input Interface Switch
3.18.8 Local Memory Controller
3.18.9 Miscellaneous Module
3.18.10 External Interface Controller
3.18.11 Peripheral Interface Controller
APPENDIX A—Microprogramming
APPENDIX B—Register tables


REFERENCES:
patent: Re. 31736 (1984-11-01), Mueller et al.
patent: Re. 32493 (1987-09-01), Matsumoto et al.
patent: Re. 34850 (1995-02-01), Murakami et al.
patent: 3883847 (1975-05-01), Frank
patent: 3971927 (1976-07-01), Speiser et al.
patent: 4296476 (1981-10-01), Mayer et al.
patent: 4330833 (1982-05-01), Pratt et al

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Cached color conversion method and apparatus does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Cached color conversion method and apparatus, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Cached color conversion method and apparatus will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2528886

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.