Patent ID: 8170335

Claim:
A system for processing an image, the system comprising an image data input port, a compressed image data output port or a compressed image data storage node, a compressed image data input port, a decompressed image data output port or a decompressed image data storage node, a non-transitory memory component, and a scalable tile processing device, wherein: the non-transitory memory component stores a set of executable instructions that causes the system to: receive image data at the image data input port; partition the image data into a plurality of tiles, each tile comprising tile image data; transmit a tile of the plurality of tiles to the scalable tile processing device; receive an encoded bit stream corresponding to the tile from the scalable tile processing device; output compressed image data comprising the encoded bit stream to the compressed image data output port or the compressed image data storage node; receive the compressed image data at the compressed image data input port; decode the compressed image data to generate a plurality of decoded code blocks, wherein decoding the compressed image data comprises receiving a context value, generating a probability estimate, and directly generating an output bit from the context value and the probability estimate in one clock cycle; and output decompressed image data comprising the plurality of decoded code blocks to the decompressed image data output port or the decompressed image data storage node; and the scalable tile processing device comprises a plurality of logic blocks that cause the scalable tile processing device to: receive the tile comprising tile image data from the system; wavelet transform the tile image data to generate a plurality of sub-band coefficients; quantize the plurality of sub-band coefficients; segment the plurality of quantized sub-band coefficients into a plurality of code blocks; encode each code block of the plurality of code blocks to generate a plurality of encoded code blocks, wherein encoding each code block comprises calculating an individual bit distortion, associated with truncating a bit, by performing a binary logic operation, at least one bit shift, and at least one subtraction; and transmit the encoded bit stream comprising the plurality of encoded code blocks to the system.