EMBEDDED GRAPHICS CODING FOR IMAGES WITH SPARSE HISTOGRAMS
First Claim
1. A method of processing an image, comprising:
- a. dividing the image into blocks using a first processor;
b. setting a bit budget for each block;
c. converting pixels of each block into binary representations;
d. scanning and encoding the pixels from the most significant bit-plane to the least significant bit-plane; and
e. generating a compressed image file of the encoded pixels and saving the compressed image file to memory coupled to the first processor.
1 Assignment
0 Petitions
Accused Products
Abstract
Processes for compressing images with sparse histograms are disclosed. The image is divided into blocks, and a bit budget is assigned for each block. The pixels of a block are converted and coded bit-plane by bit-plane, starting from the Most Significant Bit (MSB) and going towards the Least Significant Bit (LSB). The pixels of the block are partitioned into groups. Each group contains pixels that have same value. Moving from the MSB to the LSB, the groups in each bit-plane are processed. When processing a group, the encoder sends a “0” if all group members have same bit value at the current bit-plane being processed, followed by the bit value; otherwise, the encoder sends a “1”, followed by refinement bits for each pixel of the group, and the encoder splits the group.
59 Citations
34 Claims
-
1. A method of processing an image, comprising:
-
a. dividing the image into blocks using a first processor; b. setting a bit budget for each block; c. converting pixels of each block into binary representations; d. scanning and encoding the pixels from the most significant bit-plane to the least significant bit-plane; and e. generating a compressed image file of the encoded pixels and saving the compressed image file to memory coupled to the first processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for processing an image, comprising:
-
a. a first processor configured for processing pixels of an image; and b. programming executable on the first processor for, i. dividing the image into blocks; ii. setting a bit budget for each block; iii. converting pixels of each block into binary representations; iv. scanning and encoding the pixels from the most significant bit-plane to the least significant bit-plane; and v. generating a compressed image file of the encoded pixels. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for processing an image with a sparse histogram, comprising:
-
a. first processing means configured for processing pixels of the image; b. encoding means executable on the first processing means for; i. dividing the image into blocks; ii. setting a bit budget for each block; iii. converting pixels of each block into binary representations; iv. scanning and encoding the pixels from the most significant bit-plane to the least significant bit-plane; and v. generating a compressed image file of the encoded pixels; and c. storage means coupled to the first processing means, wherein the compressed image file is stored within the storage means. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for processing an image with a sparse histogram, comprising:
-
a. a first processor for processing pixels of the image; b. an encoder executable on the first processor for; i. dividing the image into blocks; ii. setting a bit budget for each block; iii. converting pixels of each block into binary representations; iv. scanning and encoding the pixels from the most significant bit-plane to the least significant bit-plane; and v. generating a compressed image file of the encoded pixels; and c. a storage device coupled to the first processing device, wherein the compressed image file is stored within the storage device. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
31. A network of devices comprising:
-
a. an encoder device for encoding an image comprising; i. dividing the image into blocks; ii. setting a bit budget for each block; iii. converting pixels of each block into binary representations; iv. scanning and encoding the pixels from the most significant bit-plane to the least significant bit-plane; and v. generating a compressed image file of the encoded pixels; and b. a decoder device for decoding the compressed image file comprising scanning and decoding the pixels from the most significant bit-plane to the least significant bit-plane, and for each bit-plane; i. obtaining a number of existing groups; ii. setting a current group to be a first group; iii. reading a bit from a bitstream; iv. if the bit has a “
0”
value, then reading a second bit from the bitstream and setting the value to be the bit value for all pixels in the group in a current bit-plane;v. if the bit has a “
1”
value, then for each pixel in the group, one bit is read from the bitstream and set to be the bit value of that pixel in the current bit-plane, a new group is generated and the new group is split into the first group and the second group so that the pixels with the “
0”
value are in the first group and the pixels with the “
1”
value are in the second group; andvi. repeating iii-v until the end of the current bit-plane is reached. - View Dependent Claims (32, 33, 34)
-
Specification