Patent ID: 7831103
Filing Date: 2010-11-09
Classification: H04N

Abstract:
1. A system of rate allocation in a standard JPEG2000 processing apparatus, the said apparatus consisting of: (i) a preprocessing block, receiving uncompressed RAW image in a tile format, having an encoder which transforms the range of the input sample data into a nominal dynamic range so that it is approximately centered about zero, if the input sample data is positive or negative, it is assumed they are centered at zero, otherwise, the absolute sample values in each component are level shifted (DC offset) by subtracting a fixed value from each sample to make its value symmetric around zero; (ii) a forward wavelet transforming block decomposing each tile into a number of wavelet sub-bands at different levels and resolutions and producing a set of transformed coefficients; (iii) a quantization block calculating quantization step size based on the dynamic range of the sub band values and constants defined in the standard and reducing precision of sub band coefficients in order to have fewer bits to encode the transformed coefficients; (iv) a tier-1 coder block compressing the coefficient data into a byte stream; (v) a tier-2 coder means for trimming and organizing this byte stream into a JPEG2000 compliant File format, the said tier-2 coder means comprising:: (i) means for receiving a resolution level number, a sub band number, a bit plane number, a coding pass number and a byte count signal from the tier-1 coder via a memory interface for every code block; (ii) means for calculating R-D slope, wherein, the resolution level number providing information about which resolution level the current code block belongs, the sub band number providing information about which band the current code block belongs, the bit plane number providing information on current bit plane, the byte count providing the differential number of compressed bytes for the current code pass and the coding pass number providing information on current coding pass; which is to be performed at the end of each coding pass of a code block; (iii) means for composing a bucket element, which consist of the R-D slope, the resolution level number, the sub band number, the code block number, the code pass number, the differential byte count, an absolute byte count; for each coding pass of the code block; (iv) means for comparing the RD slope of each bucket element with the threshold slope of each bucket, and selecting the bucket into which the current element is to be added; (v) means for accepting the selected bucket number and generating an address for storing the current bucket element to a location in the local bucket memory; (vi) means for keeping a count of, number of elements in each bucket and the sum of the differential byte count of each element in that bucket; for all buckets; (vii) means for including the bucket elements, based on the value of their RD slope, while ensuring that the sum of the bytes so included do not exceed the specified size limit; comprising of