Method and apparatus for image compression
AssigneeKakadu R & D Pty Ltd
InventorsDavid Scott Taubman, Reji Kuruvilla Mathew, Aous Thabit Naman
Life of this patent
Estimating the term…
Abstract
The invention relates to a method and apparatus for image compression, particularly to an improved block-coding apparatus and method for image compression. Image compression systems such as JPEG and JPEG2000 are known and popular standards for image compression. Many of the advantageous features of JPEG2000 derive from the use of the EBCOT algorithm (Embedded Block-Coding with Optimized Truncation). One drawback of the JPEG2000 standards is computational complexity. This application discloses a relatively fast block-coding algorithm, particularly as compared with the standard JPEG2000 EBCOT algorithm. Computational complexity is reduced.
Claims15
A method of image compression, involving wavelet transformation of an image, where subband image samples are formed into code-blocks, with a block coding process that comprises:
- determining for each of the subband image samples whether the subband image sample is significant or insignificant, wherein a subband image sample is determined to be significant if the subband image is non-zero and wherein a subband image sample is determined to be insignificant otherwise;
- for each subband image sample determined to be significant, computing a magnitude-minus-one value for the subband image sample;
- for each subband image sample, computing a magnitude exponent for the subband image sample, the magnitude exponent being a smallest non-negative integer e, such that 2 raised to the power of e is greater than twice the magnitude-minus-one;
- collecting the subband image sample of the code-block into groups of n consecutive subband image samples in a scanning order in accordance with a scanning pattern;
- assigning a coding context to each of the groups, the coding context depending only on the significance of subband image samples associated with previous groups in scanning order, wherein groups are identified as all zero content (AZC) groups, wherein all of the subband image samples used to from the coding context for the group are insignificant;
- encoding significance information on a group by group basis with at least two separate bit-streams, the two separate bit-streams consisting of:
- a first bit-stream that encodes a group significance symbol for all groups identified as AZC groups, wherein the group significance symbol indicates whether or not any subband image sample in the group is significant, and
- a second bit-stream that jointly encodes the significance of all subband image samples in a group, for non-AZC groups and significant AZC groups, wherein at least one subband image sample in the group is significant, and wherein the at least two separate bit-streams being able to be concurrently decoded;
- and
- coding the magnitude-minus one value and sign information for significant subband image samples, using codes that depend only on the significance and magnitude-exponent of previous subband image samples in the scanning order;
- arranging the significance and magnitude code bits for the code blocks into the at least two separate bit streams that are able to be decoded concurrently.
An encoding apparatus, comprising:
- a memory;
- and
- a processor that is in communication with the memory and has a structure to perform instructions from a program stored in the memory so that the following image compression process involving wavelet transformation of an image, wherein subband image samples are formed into code-block, is performed:
- determining for each of the subband image samples whether the subband image sample is significant or insignificant, wherein a subband image sample is determined to be significant if the subband image is non-zero and wherein a subband image sample is determined to be insignificant otherwise;
- for each subband image sample determined to be significant, computing a magnitude-minus-one value for the subband image sample;
- for each subband image sample, computing a magnitude exponent for the subband image sample, the magnitude exponent being a smallest non-negative integer e, such that 2 raised to the power of e is greater than twice the magnitude-minus-one;
- collecting the subband image sample of the code-block into groups of n consecutive subband image samples in a scanning order in accordance with a scanning pattern;
- assigning a coding context to each of the groups, the coding context depending only on the significance of subband image samples associated with previous groups in scanning order, wherein groups are identified as all zero content (AZC) groups, wherein all of the subband image samples used to from the coding context for the group are insignificant;
- encoding significance information on a group by group basis with at least two separate bit-streams, the two separate bit-streams consisting of:
- a first bit-stream that encodes a group significance symbol for all groups identified as AZC groups, wherein the group significance symbol indicates whether or not any subband image sample in the group is significant, and
- a second bit-stream that jointly encodes the significance of all subband image samples in a group, for non-AZC groups and significant AZC groups, wherein at least one subband image sample in the group is significant, and wherein the at least two separate bit-streams being able to be concurrently decoded;
- and
- coding the magnitude-minus one value and sign information for significant subband image samples, using codes that depend only on the significance and magnitude-exponent of previous subband image samples in the scanning order;
- arranging the significance and magnitude code bits for the code blocks into the at least two separate bit streams that are able to be decoded concurrently.
Dependencies are inferred from the claim text.