← Back to Patent Explorer
US5184124A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for compressing and storing pixels

Assignee: Next Inc
•
Filing: 1991-01-02
•
Granted: 1993-02-02
•
Expires: 2011-01-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for a processor or other system device to map processor words to an associated random access memory. In one case, processor words are mapped directly to RAM with no modification. In another case, 32-bit pixels (eight bits each of red, green, blue and alpha) are converted to or from 16-bit pixels (four bits each of red, green, blue and alpha) using an ordered dithering technique. The ordered dithering technique spatially distributes the information that would otherwise be lost by truncation. This is accomplished by replacing exact pixel values with their pseudo-random average. This reduces the required pixel storage requirements by half, while maintaining a higher image quality than would be achieved by truncation alone.

Inventors

  • 👤 J. Lane Molpus
  • 👤 Adam Levinthal
  • 👤 Ross Werner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 05:51
CPC Classifications
H; H04; H04N; H04N9/00; H04N9/79; H04N9/80; H04N9/804; H04N9/8042; G; G09; G09G; G09G5/00; G09G5/36; G09G5/363; G09G5/39; G09G5/395; H04N19/00; H04N19/90; H04N5/00; H04N5/76; H04N5/91; H04N5/92; H04N5/926; H04N5/9261; G09G2340/00; G09G2340/02; G09G3/00; G09G3/20; G09G3/2007; G09G3/2044; G09G3/2051

Claims Analysis

Total Claims: 67
Claim 1
Independent Claim 106 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word, said storage means having at least first and second address spaces; address decoding means coupled to said processing means to determine if said memory address provided by said processing means is found in said first or second address space; compression means coupled to said address decoding means, said processing means and to said storage means, said compression means for compressing said data word when said data word is written to said first address space.
Claim 2
Dependent Claim 106 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word, said storage means having at least first and second address spaces; address decoding means coupled to said processing means to determine if said memory address provided by said processing means is found in said first or second address space; compression means coupled to said address decoding means, said processing means and to said storage means, said compression means for compressing said data word when said data word is written to said first address space.
Claim 3
Dependent Claim 75 words
The circuit of claim 1 wherein said compression means comprises: a matrix coupled to said processing means for receiving said memory address and for generating a threshold value based on said memory address; a compression block coupled to said processing means and said matrix, said compression block for receiving said threshold value and said data word and for providing an output value having a second number of bits less than said first number of bits.
Claim 4
Dependent Claim 141 words
The circuit of claim 2 wherein said compression block comprises: first converting means for receiving said data word and for generating a BASE value based on said data word; second converting means coupled to said first converting means for receiving said BASE value and said data word and for generating a DELTA value based on said BASE value and said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 5
Dependent Claim 15 words
The circuit of claim 1 wherein said data word comprises first, second, and third components.
Claim 6
Dependent Claim 21 words
The circuit of claim 4 wherein BASE and DELTA values are generated for each of said first, second, and third components.
Claim 7
Dependent Claim 28 words
The circuit of claim 4 wherein said first component is a red component, said second component is a green component and said third component is a blue component.
Claim 8
Dependent Claim 47 words
The circuit of claim 6 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 9
Dependent Claim 16 words
The circuit of claim 1 wherein said data word comprises first, second, third, and fourth components.
Claim 10
Dependent Claim 22 words
The circuit of claim 8 wherein BASE and DELTA values are generated for each of said first, second, third, and fourth components.
Claim 11
Dependent Claim 35 words
The circuit of claim 8 wherein said first component is a red component, said second component is a green component, said third component is a blue component, and said fourth component is an alpha component.
Claim 12
Dependent Claim 47 words
The circuit of claim 10 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 13
Dependent Claim 31 words
The circuit of claim 3 wherein said first converting means generates said BASE value as follows: BASE=(source data -(source data/16))/16), where source data represents an intensity level of said data word.
Claim 14
Dependent Claim 29 words
The circuit of claim 3 wherein said second converting means generates said DELTA value as follows: DELTA=(source data -(BASE×16) where source data represents an intensity level of said word.
Claim 15
Dependent Claim 111 words
The circuit of claim 2 wherein said compression block comprises: converting means for receiving said data word and for generating a BASE value and a DELTA value based on said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 16
Dependent Claim 30 words
The circuit of claim 14 wherein said first converting means generates said BASE value as follows: BASE=(source data-(source data/16))/16, where source data represents an intensity level of said data word.
Claim 17
Dependent Claim 32 words
The circuit of claim 14 wherein said second converting means generates said DELTA value as follows: DELTA=(source data-(source data/16)) modulo 16, where source data represents an intensity level of said data word.
Claim 18
Dependent Claim 121 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word; compression means coupled to said processing means and to said storage means, said compression means for compressing said data word; said compression means comprising a matrix coupled to said processing means for receiving said memory address and for generating a threshold value based on said memory address, a compression block coupled to said processing means and said matrix, said compression block for receiving said threshold value and said data word and for providing an output value having a second number of bits less than said first number of bits.
Claim 19
Dependent Claim 121 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word; compression means coupled to said processing means and to said storage means, said compression means for compressing said data word; said compression means comprising a matrix coupled to said processing means for receiving said memory address and for generating a threshold value based on said memory address, a compression block coupled to said processing means and said matrix, said compression block for receiving said threshold value and said data word and for providing an output value having a second number of bits less than said first number of bits.
Claim 20
Dependent Claim 141 words
The circuit of claim 17 wherein said compression block comprises: first converting means for receiving said data word and for generating a BASE value based on said data word; second converting means coupled to said first converting means for receiving said BASE value and said data word and for generating a DELTA value based on said BASE value and said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 21
Dependent Claim 15 words
The circuit of claim 17 wherein said data word comprises first, second, and third components.
Claim 22
Dependent Claim 21 words
The circuit of claim 19 wherein BASE and DELTA values are generated for each of said first, second, and third components.
Claim 23
Dependent Claim 28 words
The circuit of claim 19 wherein said first component is a red component, said second component is a green component and said third component is a blue component.
Claim 24
Dependent Claim 47 words
The circuit of claim 21 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 25
Dependent Claim 16 words
The circuit of claim 17 wherein said data word comprises first, second, third, and fourth components.
Claim 26
Dependent Claim 22 words
The circuit of claim 23 wherein BASE and DELTA values are generated for each of said first, second, third, and fourth components.
Claim 27
Dependent Claim 35 words
The circuit of claim 23 wherein said first component is a red component, said second component is a green component, said third component is a blue component, and said fourth component is an alpha component.
Claim 28
Dependent Claim 47 words
The circuit of claim 25 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 29
Dependent Claim 30 words
The circuit of claim 18 wherein said first converting means generates said BASE value as follows: BASE=(source data-(source data/16))/16), where source data represents an intensity level of said data word.
Claim 30
Dependent Claim 29 words
The circuit of claim 18 wherein said second converting means generates said DELTA value as follows: DELTA=(source data-(BASE×16)), where source data represents an intensity level of said data word.
Claim 31
Dependent Claim 111 words
The circuit of claim 17 wherein said compression block comprises: converting means for receiving said data word and for generating a BASE value and a DELTA value based on said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 32
Dependent Claim 31 words
The circuit of claim 29 wherein said first converting means generates said BASE value as follows: BASE=(source data-(source data/16))/16, where the source data represents an intensity level of said data word.
Claim 33
Dependent Claim 33 words
The circuit of claim 29 wherein said second converting means generates said DELTA value as follows: DELTA=(source data-(source data/16)) modulo 16, where the source data represents an intensity level of said data word.
Claim 34
Dependent Claim 19 words
The circuit of claim 17 wherein said storage means has a first address space and a second address space.
Claim 35
Dependent Claim 55 words
The circuit of claim 32 further including address decoding means coupled to said processing means to determine if said memory address provided by said processing means is found in said first or second address space; said compression means for compressing said data word only when said data word is written to said first address space.
Claim 36
Dependent Claim 310 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word, said storage means having at least first and second address spaces; address decoding means coupled to said processing means to determine if said memory address provided by said processing means is found in said first or second address space; compression means coupled to said address decoding means, said processing means and to said storage means, said compression means for compressing said data word when said data word is written to said first address space, said compression means comprising: a matrix coupled to said processing means for receiving said memory address and for generating a threshold value based on said memory address; a compression block coupled to said processing means and said matrix, said compression block for receiving said threshold value and said data word and for providing an output value having a second number of bits less than said first number of bits, said compression block comprising: first converting means for receiving said data word and for generating a BASE value based on said data word; second converting means coupled to said first converting means for receiving said BASE value and said data word and for generating a DELTA value based on said BASE value and said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 37
Dependent Claim 310 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word, said storage means having at least first and second address spaces; address decoding means coupled to said processing means to determine if said memory address provided by said processing means is found in said first or second address space; compression means coupled to said address decoding means, said processing means and to said storage means, said compression means for compressing said data word when said data word is written to said first address space, said compression means comprising: a matrix coupled to said processing means for receiving said memory address and for generating a threshold value based on said memory address; a compression block coupled to said processing means and said matrix, said compression block for receiving said threshold value and said data word and for providing an output value having a second number of bits less than said first number of bits, said compression block comprising: first converting means for receiving said data word and for generating a BASE value based on said data word; second converting means coupled to said first converting means for receiving said BASE value and said data word and for generating a DELTA value based on said BASE value and said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 38
Dependent Claim 15 words
The circuit of claim 34 wherein said data word comprises first, second, and third components.
Claim 39
Dependent Claim 22 words
The circuit of claim 35 wherein said BASE and DELTA values are generated for each of said first, second, and third components.
Claim 40
Dependent Claim 28 words
The circuit of claim 35 wherein said first component is a red component, said second component is a green component and said third component is a blue component.
Claim 41
Dependent Claim 47 words
The circuit of claim 37 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 42
Dependent Claim 16 words
The circuit of claim 34 wherein said data word comprises first, second, third, and fourth components.
Claim 43
Dependent Claim 23 words
The circuit of claim 39 wherein said BASE and DELTA values are generated for each of said first, second, third, and fourth components.
Claim 44
Dependent Claim 35 words
The circuit of claim 39 wherein said first component is a red component, said second component is a green component, said third component is a blue component, and said fourth component is an alpha component.
Claim 45
Dependent Claim 47 words
The circuit of claim 41 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 46
Dependent Claim 30 words
The circuit of claim 34 wherein said first converting means generates said BASE value as follows: BASE=(source data-(source data/16))/16, where source data represents an intensity level of said data word.
Claim 47
Dependent Claim 30 words
The circuit of claim 34 wherein said second converting means generates said DELTA value as follows: DELTA=(source data-(BASE X16)), where source data represents an intensity level of said data word.
Claim 48
Dependent Claim 111 words
The circuit of claim 34 wherein said compression block comprises: converting means for receiving said data word and for generating a BASE value and a DELTA value based on said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 49
Dependent Claim 30 words
The circuit of claim 45 wherein said first converting means generates said BASE value as follows: BASE=(source data-(source data/16))/16, where source data represents an intensity level of said data word.
Claim 50
Dependent Claim 32 words
The circuit of claim 45 wherein said second converting means generates said DELTA value as follows: DELTA=(source data-(source data/16)) modulo 16, where source data represents an intensity level of said data word.
Claim 51
Dependent Claim 256 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word; compression means coupled to said processing means and to said storage means, said compression means for compressing said data word; said compression means comprising a matrix coupled to said processing means for receiving said memory address and for generating a threshold value based on said memory address, a compression block coupled to said processing means and said matrix, said compression block for receiving said threshold value and said data word and for providing an output value having a second number of bits less than said first number of bits, said compression block comprising: first converting means for receiving said data word and for generating a BASE value based on said data word; second converting means coupled to said first converting means for receiving said BASE value and said data word and for generating a DELTA value based on said BASE value and said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 52
Dependent Claim 256 words
A circuit comprising: processing means for providing a memory address and a data word of a first number of bits; storage means coupled to said processing means for storing said data word; compression means coupled to said processing means and to said storage means, said compression means for compressing said data word; said compression means comprising a matrix coupled to said processing means for receiving said memory address and for generating a threshold value based on said memory address, a compression block coupled to said processing means and said matrix, said compression block for receiving said threshold value and said data word and for providing an output value having a second number of bits less than said first number of bits, said compression block comprising: first converting means for receiving said data word and for generating a BASE value based on said data word; second converting means coupled to said first converting means for receiving said BASE value and said data word and for generating a DELTA value based on said BASE value and said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 53
Dependent Claim 15 words
The circuit of claim 48 wherein said data word comprises first, second, and third components.
Claim 54
Dependent Claim 22 words
The circuit of claim 49 wherein said BASE and DELTA values are generated for each of said first, second, and third components.
Claim 55
Dependent Claim 28 words
The circuit of claim 49 wherein said first component is a red component, said second component is a green component and said third component is a blue component.
Claim 56
Dependent Claim 47 words
The circuit of claim 51 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 57
Dependent Claim 16 words
The circuit of claim 48 wherein said data word comprises first, second, third, and fourth components.
Claim 58
Dependent Claim 23 words
The circuit of claim 53 wherein said BASE and DELTA values are generated for each of said first, second, third, and fourth components.
Claim 59
Dependent Claim 35 words
The circuit of claim 53 wherein said first component is a red component, said second component is a green component, said third component is a blue component, and said fourth component is an alpha component.
Claim 60
Dependent Claim 47 words
The circuit of claim 55 wherein further including means for comparing said red, green, and blue components of said data word and for generating said output value with equal red, green, and blue components when said red, green, and blue components of said data word are equal.
Claim 61
Dependent Claim 30 words
The circuit of claim 48 wherein said first converting means generates said BASE value as follows: BASE=(source data-(source data/16))/16, where source data represents an intensity level of said data word.
Claim 62
Dependent Claim 30 words
The circuit of claim 48 wherein said second converting means generates said DELTA value as follows: DELTA=(source data-(BASE X16)), where source data represents an intensity level of said data word.
Claim 63
Dependent Claim 111 words
The circuit of claim 48 wherein said compression block comprises: converting means for receiving said data word and for generating a BASE value and a DELTA value based on said data word; first summing means for combining said DELTA value with said threshold value and providing a first output; comparing means coupled to said first output and for generating a second output having a first value if said first output exceeds a reference value and a second value when said first output does not exceed said reference value; second summing means for combining said BASE value and said second output and providing said output value having said second number of bits.
Claim 64
Dependent Claim 30 words
The circuit of claim 59 wherein said first converting means generates said BASE value as follows: BASE=(source data-(source data/16))/16, where source data represents an intensity level of said data word.
Claim 65
Dependent Claim 32 words
The circuit of claim 59 wherein said second converting means generates said DELTA value as follows: DELTA=(source data-(source data/16)) modulo 16, where source data represents an intensity level of said data word.
Claim 66
Dependent Claim 19 words
The circuit of claim 48 wherein said storage means has a first address space and a second address space.
Claim 67
Dependent Claim 55 words
The circuit of claim 62 further including address decoding means coupled to said processing means to determine if said memory address provided by said processing means is found in said first or second address space; said compression means for compressing said data word only when said data word is written to said first address space.

References Cited (Backward Citations)

US4605952A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-02-02 1996-08-03 1997-02-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-02-02 2000-08-03 2001-02-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-02-02 2004-08-03 2005-02-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag