Data processing method and apparatus for converting color image data to non-linear palette
First Claim
1. The method of operating a personal computer system having a main memory for storing data and programs including a multitasking operating system, a microprocessor for executing programs stored in said main memory, a source of frames of video data with each frame comprising a series of digitized pixel color values, and a video display device for displaying video data comprising a series of palette colors, wherein said method comprises the steps of:
- (a) storing in said main memory a conversion table having a plurality of created error diffusion arrays covering the color range of said pixel color values, each array in said table being for a different corresponding color value, each array being accessed using said corresponding color value as an index into said table, each array in said table having "n" fields respectively containing palette color values ordered in accordance with an order matrix by sorted luminance values, said palette color values being from a non-linear palette of quantized colors;
(b) storing in said main memory a series of input pixel color values from said source;
(c) processing said input pixel color values in blocks wherein each block has "n" values corresponding to "n" laterally and vertically adjacent pixels on a screen, said processing being done by(c1) converting each block of input pixel color values into a corresponding converted block containing palette colors, by looking up in said conversion table for each input pixel color value in said each block the array indexed by such color value, and by setting a corresponding value in said corresponding converted block to a preordered palette color from such array;
and (c2) transmitting to said video display device said palette colors from said converted block.
2 Assignments
0 Petitions
Accused Products
Abstract
A personal computer system has source of input video data containing digitized pixel color values, and a display operated with palette quantized colors including non-linear palette quantized colors. A conversion table is stored in the system for converting blocks of pixel color values into palette colors, the conversion table comprising a plurality of error diffusion arrays covering the color range of pixel color values. Each array in the conversion table corresponds to a different color value, each array being accessed using said corresponding color value as an index into said table. Each array in the table has "n" fields respectively containing palette color values ordered in accordance with an order matrix by sorted luminance values.
29 Citations
31 Claims
-
1. The method of operating a personal computer system having a main memory for storing data and programs including a multitasking operating system, a microprocessor for executing programs stored in said main memory, a source of frames of video data with each frame comprising a series of digitized pixel color values, and a video display device for displaying video data comprising a series of palette colors, wherein said method comprises the steps of:
-
(a) storing in said main memory a conversion table having a plurality of created error diffusion arrays covering the color range of said pixel color values, each array in said table being for a different corresponding color value, each array being accessed using said corresponding color value as an index into said table, each array in said table having "n" fields respectively containing palette color values ordered in accordance with an order matrix by sorted luminance values, said palette color values being from a non-linear palette of quantized colors; (b) storing in said main memory a series of input pixel color values from said source; (c) processing said input pixel color values in blocks wherein each block has "n" values corresponding to "n" laterally and vertically adjacent pixels on a screen, said processing being done by (c1) converting each block of input pixel color values into a corresponding converted block containing palette colors, by looking up in said conversion table for each input pixel color value in said each block the array indexed by such color value, and by setting a corresponding value in said corresponding converted block to a preordered palette color from such array; and (c2) transmitting to said video display device said palette colors from said converted block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A personal computer system including a main memory for storing data and programs including a multitasking operating system, a microprocessor for executing programs stored in said main memory, a source of video data inputting a succession of frames of digitized pixel color values, and display means for displaying images colored in accordance with a non-linear palette of quantized colors, further comprising:
-
first means for receiving and storing in said main memory a succession of said digitized pixel color values; a conversion table stored in said main memory, said conversion table containing a plurality of error diffusion arrays covering the color range of said pixel color values, each array in said table being for a different corresponding color value, each array being accessed using said corresponding color value as an index into said table, each array in said table having "n" fields respectively containing palette color values ordered in accordance with an order matrix by sorted luminance values, said palette color values being from a non-linear palette of quantized colors; second means for processing said input pixel color values in blocks wherein each block has "n" values corresponding to "n" laterally and vertically adjacent pixels on a screen, said processing being done by converting each block of input pixel color values into a corresponding converted block containing palette colors, by looking up in said conversion table for each input pixel color value in said each block the array indexed by such color value, and by setting a corresponding value in said corresponding converted block to a preordered palette color from such array; and third means for transmitting to said display said palette colors from said converted block. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. The method of operating a personal computer system having a main memory for storing data and programs including a multitasking operating system, a microprocessor for executing programs stored in said main memory, a source of frames of video data with each frame comprising a series of digitized pixel color values, and a video display device for displaying video data comprising a series of palette colors, wherein said method comprises the steps of:
-
(a) storing in said main memory a conversion table having a plurality of created error diffusion arrays covering the color range of said pixel color values, each array in said table being for a different corresponding color value, each array being accessed using said corresponding color value as an index into said table, each array in said table having "n" fields respectively containing palette color values ordered in accordance with an order matrix by sorted luminance values, said palette color values being from a palette of quantized colors; (b) storing in said main memory a series of input pixel color values from said source; (c) processing said input pixel color values in blocks wherein each block has "n" values corresponding to "n" laterally and vertically adjacent pixels on a screen, said processing being done by (c1) converting each block of input pixel color values into a corresponding converted block containing palette colors, by looking up in said conversion table for each input pixel color value in said each block the array indexed by such color value, and by setting a corresponding value in said corresponding converted block to a preordered palette color from such array; and (c2) transmitting to said video display device said palette colors from said converted block; and wherein said conversion table is created by; (d) storing in said main memory a palette of quantized palette colors; (e) for each different pixel color value, creating a corresponding error diffusion array in said conversion table by (e1) calculating, for each palette color in said palette, a Euclidean distance between such palette color and a first pixel color value from said series of input pixel color values, (e2) selecting a first palette color corresponding to which palette color has a minimum Euclidean distance from the first pixel color value, (e3) selecting (n-1) additional palette colors by adding color error differences between said first pixel color value and a palette color last selected to form a search color, by calculating Euclidean distances between said search color and each palette color in said palette, and by selecting another palette color having a minimum Euclidean distance, (e4) sorting said first palette color and (n-1) additional palette colors selected by said preceding steps in accordance with luminance thereof, (e5) reordering said palette colors as sorted by said preceding step in accordance with an order matrix, and (e6) storing said palette colors as reordered by said preceding step in consecutive fields of said corresponding array in said conversion table as a plurality of error diffusion arrays. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A personal computer system including a main memory for storing data and programs including a multitasking operating system, a microprocessor for executing programs stored in said main memory, a source of video data inputting a succession of frames of digitized pixel color values, and display means for displaying images colored in accordance with a palette of quantized colors, further comprising:
-
first means for receiving and storing in said main memory a succession of said digitized pixel color values; a conversion table stored in said main memory, said conversion table containing a plurality of error diffusion arrays covering the color range of said pixel color values, each array in said table being for a different corresponding color value, each array being accessed using said corresponding color value as an index into said table, each array in said table having "n" fields respectively containing palette color values ordered in accordance with an order matrix by sorted luminance values, said palette color values being from a palette of quantized colors; second means for processing said input pixel color values in blocks wherein each block has "n" values corresponding to "n" laterally and vertically adjacent pixels on a screen, said processing being done by converting each block of input pixel color values into a corresponding converted block containing palette colors, by looking up in said conversion table for each input pixel color value in said each block the array indexed by such color value, and by setting a corresponding value in said corresponding converted block to a preordered palette color from such array; and third means for transmitting to said display means said palette colors from said converted block. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
Specification