Arithmetic coding compressor for encoding multiple bit values
AssigneeHewlett-Packard Company
InventorRobert A. Rust
Life of this patent
Estimating the term…
Abstract
The present invention looks for large regions of white or black pixels. In those regions, it is very likely the next few pixels will continue to be the same all white/black value. The present invention replaces the actual encoding of those pixels with whether or not the multi-bit jump was a success. If the jump was unsuccessful then each of the bits unsuccessfully jumped over is encoded using a predefined location in the probability table.
Claims13
A method for compressing an image data, said method comprising the steps of:
- checking if a first context window is homogenous;
- if said first context window is homogenous, then:
- attempting to jump over a plurality of bits of said image data;
- first arithmetic encoding whether said jump was successful or failed;
- if said jump was unsuccessful then second arithmetic encoding each of said plurality of bits;
- first shifting data in said first context window by a number of said plurality of bits;
- if said first context window is non-homogenous, then:
- third arithmetic encoding a bit of said image data;
- and
- second shifting data in said first context window by one.
A method for decompressing an image data, said method comprising the steps of:
- checking if a first context window is homogenous;
- if said first context window is homogenous, then:
- first arithmetic decoding if a jump over a plurality of bits of said image was successful;
- if said jump was unsuccessful then second arithmetic decoding each of said plurality of bits;
- if said jump was successful then replicating a bit with a value equal to said first context window into said plurality of bits;
- first shifting data in said first context window by a number said plurality of bits;
- if said first context window is non-homogenous, then:
- third arithmetic decoding a bit of said image data;
- and
- second shifting data in said first context window by one.
An apparatus for compressing data, said apparatus comprising:
- a shift register, said data being shifted into said shift register;
- a first context window over said shift register;
- a second context window over said shift register;
- a probability table connected to said first context window and said second context window;
- an arithmetic encoder connected to said probability table;
- and
- a controller means connected to said encoder, said probability table, said first context window and said shift register, if said first context window is homogenous said controller means detects if a jump over a plurality of bits is successful and sends to said probability table a jump location, said controller means then instructs said arithmetic encoder to encode whether said jump was successful or failed if said jump is unsuccessful, then said controller means for each bit in said plurality of bits sends to said probability table a bit location and sends each bit to said arithmetic encoder, said controller means shifts said shift register by a number of said plurality of bits if said first context window is non-homogenous then said controller means enabling said probability table to use said second context window and sending a single bit to said arithmetic encoder said controller means shifts said shift register by one.
Dependencies are inferred from the claim text.