Patent ID: 8170333

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 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; and output compressed image data comprising the encoded bit stream to the compressed image data output port or the compressed 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, wherein wavelet transforming the tile image data comprises amplifying an input image data signal, splitting the amplified input image data signal into odd samples and even samples, processing the odd samples with a filter that at least multiplies the odd samples by a first integer lifting coefficient, processing the even samples with a filter that at least multiplies the even samples by a second integer lifting coefficient, scaling the processed odd samples, scaling the processed even samples, adding the even samples to the processed and scaled odd samples to generate a plurality of low frequency coefficients, and adding the odd samples to the processed and scaled even samples to generate a plurality of high frequency coefficients; quantize the plurality of sub-band coefficients, wherein quantizing the plurality of sub-band coefficients comprises multiplying each sub-band coefficient of the plurality of sub-band coefficients by an integer sub-band quantization weight and dividing each sub-band coefficient of the plurality of sub-band coefficients by an integer base quantization parameter; 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.