[go: up one dir, main page]

AU724222B2 - A method for digital data compression - Google Patents

A method for digital data compression Download PDF

Info

Publication number
AU724222B2
AU724222B2 AU87097/98A AU8709798A AU724222B2 AU 724222 B2 AU724222 B2 AU 724222B2 AU 87097/98 A AU87097/98 A AU 87097/98A AU 8709798 A AU8709798 A AU 8709798A AU 724222 B2 AU724222 B2 AU 724222B2
Authority
AU
Australia
Prior art keywords
transform coefficients
entropy
current
transform
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
AU87097/98A
Other versions
AU8709798A (en
Inventor
James Philip Andrew
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AUPO9510A external-priority patent/AUPO951097A0/en
Priority claimed from AUPP0776A external-priority patent/AUPP077697A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU87097/98A priority Critical patent/AU724222B2/en
Publication of AU8709798A publication Critical patent/AU8709798A/en
Application granted granted Critical
Publication of AU724222B2 publication Critical patent/AU724222B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

S F Ref: 433354
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIRiCATION FOR A STANDARD PATENT en.
C
Cv..
I.
S 6
C.
S C C. 9 C C 0@ 0 900S
CC
S C
C.
C. C C C
ORIGINAL
Name and Address of Applicant: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku) Tokyo 146-2,ic-J
JAPAN
IG&mN4-.Wermatie svtems IResearIh Australia Pt-v Ltd, 1 TIhzmas Helt Driye North R-yde New: South Wales 211-3 AY&R4.-.
Actual Inventor(s): Address for Service: Invention Title: ASSOCIATED PROVISIONAL [31) Application No(s) P09513 P P0776 James Philip Andrew Spruson Ferguson, Patent Attorneys Level 33 St Martins Tower, 31 Market Street Sydney, New South Wales, 2000, Australia A Method for Digital Data Compression APPLICATION DETAILS [33] Country
AU
AU
[32] Application Date 29 September 1997 8 December 1997 The following statement is a full description of this invention, including the best method of performing it known to me/us:- .5815 A Method for Digital Data Compression Field of Invention The present invention relates to the field of data compression with particular application to digital image compression. More particularly, the present invention discloses a digital image compression method using spatial magnitude context entropy coding of discrete wavelet transform coefficients.
Background The field of digital data compression and in particular digital image compression has attracted great interest for some time.
In the field of digital image compression, many different techniques have been utilised. In particular, one popular technique is the JPEG standard which utilises the 15 discrete cosine transform to transform standard size blocks of an image into *9 corresponding cosine components. In this respect, the higher frequency cosine components are heavily quantised so as to assist in obtaining substantial compression factors. The heavy quantisation is an example of a "lossy" technique of image 9 9 compression. The JPEG standard also provides for the subsequent lossless compression 20 of the transformed coefficients.
Recently, the field of wavelet transforms has gained great attention as an alternative form of data compression. The wavelet transform has been found to be highly suitable in representing data having discontinuities such as sharp edges. Such 9 discontinuities are often present in image data or the like.
For examples of the many different applications of Wavelet analysis to signals, reference is made to a survey article entitled "Wavelet Analysis" by Bruce et. al.
appearing in IEEE Spectrum, October 1996 page 26 35. For a discussion of the different 4 applications of wavelets in computer graphics, reference is made to "Wavelets for 433354_response.DOC Computer Graphics", I. Stollinitz et. al. published 1996 by Morgan Kaufmann Publishers, Inc.
Summary of Invention It is an object of the present invention to ameliorate one or more disadvantages of the prior art.
According to one aspect of the present invention there is provided, a method of compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of symbols, and the method comprises the steps of: entropy encoding one or more of said symbols, not previously entropy coded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and encoding any remaining symbols, not previously coded, of said current transform coefficient, wherein the entropy encoding step and the encoding step are performnned on each transform coefficient in a depth first manner.
oa. According to another aspect of the present invention there is provided, a method of compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of 20 binary symbols, and the method comprising the steps of: dividing said plurality of
B*O•
transfoi-m coefficients into a plurality of groups of a plurality of said transform ".*°•coefficients; entropy encoding one or more said binary symbols, not previously entropy .•..coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded; and encoding any remaining binary symbols, not previously coded, of said current group of the plurality of said transform coefficients, wherein the entropy 433354_response.DOC encoding step and the encoding step are performed upon on each said group of said plurality of transform coefficients in a depth first manner.
According to still another aspect of the present invention there is provided, a method of compressing data, wherein said data comprises a plurality-of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the method comprising the steps of: dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the entropy encoding step is performed upon each said group of said plurality of transform coefficients in a depth first manner.
According to still another aspect of the present invention there is provided, a 15 method of representing a digital image as a coded representation, the method comprising *the steps of: applying a discrete wavelet transform to said digital image to provide a plurality of transform coefficients; dividing said plurality of transform coefficients into a a..
t plurality of blocks of said transform coefficients, wherein each said block is of a predeter-nined fixed size; entropy encoding one or more said binary symbols, not 20 previously entropy coded, of a same bitplane of a current said block of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be °.entropy encoded, wherein the entropy encoding step is performed upon each said block of a ak transform coefficients in a depth first manner.
According to still another aspect of the present invention there is provided, a method of decompressing data, wherein said data comprises a plurality of encoded symbols representative of a plurality of transform coefficients, and the method R/ A Ltj comprising the steps of: entropy decoding one or more of said encoded symbols, not 433354_response.DOC previously entropy decoded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and decoding any remaining encoded symbols, not previously decoded, of said current transform coefficient wherein the entropy decoding step and the decoding step are performed upon said one or more encoded symbols of each said transform coefficient in a depth first manner.
According to still another aspect of the present invention there is provided, a method of decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the method comprising the steps of: entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded; decoding any S 15 remaining encoded binary symbols, not previously decoded, of said current group of said plurality of transfonn coefficients, wherein the entropy decoding step and the decoding step are performed upon said one or more encoded binary symbols of each said group of o: said plurality of transform coefficients in a depth first manner; and grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
According to still another aspect of the present invention there is provided, a to 9method of decompressing data, wherein said data comprises a plurality of encoded binary symnbols representative of a plurality of groups of a plurality of transform coefficients, 9 and the method comprising the steps of: entropy decoding one or more said encoded binary symnbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients RA surrounding the current encoded binary symbol to be entropy decoded, wherein the 433354response.DOC entropy decoding step is performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
According to still another aspect of the present invention there is provided, a method of decompressing a coded representation of a digital image, wherein said coded representation comprises a plurality of encoded binary symbols representative of a plurality of blocks of a plurality of transform coefficients, and the method comprising the steps of: entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current block of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the entropy decoding step is performed upon said one or more encoded binary symbols of each said block of said plurality of transform coefficients in a depth first manner; grouping said blocks of said plurality of said transform coefficients together to produce a plurality of transform coefficients, wherein each said block is of a predetermined fixed size; and applying an inverse discrete wavelet transform to said grouped plurality of transform coefficients to produce said digital image.
According to still another aspect of the present invention there is provided, apparatus for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of symbols, and the apparatus comprising: means for entropy encoding one or more of said symbols, not previously entropy coded, of a current said transform 25 coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and means for encoding any remaining symbols, not previously coded, of said S current transform coefficient, wherein the operations of the means for entropy encoding a a a -0 &NT O
C,
433354_response.DOC and the means for encoding are performed on each transform coefficient in a depth first manner.
According to still another aspect of the present invention there is provided, apparatus for compressing data, wherein said data comprises a plurality- of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the apparatus comprising: means for dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; means for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded; and means for encoding any remaining binary symbols, not previously coded, of said current group of the plurality of said transform coefficients, wherein the operations of the means for entropy encoding and the means for encoding are performed 15 upon on each said group of said plurality of transform coefficients in a depth first manner.
~According to still another aspect of the present invention there is provided, *00 0 apparatus for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a 20 plurality of binary symbols, and the apparatus comprising: means for dividing said 0o o plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; means for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the operation of the means for entropy encoding 433354_response.DOC is performed upon each said group of said plurality of transform coefficients in a depth first manner.
According to still another aspect of the present invention there is provided, apparatus for representing a digital image as a coded representation; the apparatus comprising: means for applying a discrete wavelet transform to said digital image to provide a plurality of transform coefficients; means for dividing said plurality of transform coefficients into a plurality of blocks of said transform coefficients, wherein each said block is of a predetermined fixed size; means for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said block of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the operation of the means for entropy encoding is performed upon each said block of transform coefficients in a depth first manner.
15 According to still another aspect of the present invention there is provided, apparatus for decompressing data, wherein said data comprises a plurality of encoded 9 symbols representative of a plurality of transform coefficients, and the apparatus comprising: means for entropy decoding one or more of said encoded symbols, not previously entropy decoded, of a current said transform coefficient based on one or more 9999 20 corresponding contexts, wherein each said context is determined from at least said oo• o• transfonn coefficients surrounding said current transform coefficient; and means for 9. decoding any remaining encoded symbols, not previously decoded, of said current transform coefficient wherein the operations of the means for entropy decoding and the •9 means for decoding are performed upon said one or more encoded symbols of each said transform coefficient in a depth first manner.
According to still another aspect of the present invention there is provided, apparatus for decompressing data, wherein said data comprises a plurality of encoded n inary symbols representative of a plurality of groups of a plurality of transform 433354_response.DOC coefficients, and the apparatus comprising: means for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is detennrmined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded; means for decoding any remaining encoded binary symbols, not previously decoded, of said current group of said plurality of transform coefficients, wherein the operations of the means for entropy decoding and the means for decoding are performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and means for grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
According to still another aspect of the present invention there is provided, apparatus for decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform S 15 coefficients, and the apparatus comprising: means for entropy decoding one or more said 9.9.
oO°9° encoded binary symbols, not previously entropy decoded, of a same bitplane of a current .996 9 group of said plurality of transform coefficients based on one or more corresponding S° °ocontexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the 20 operation of the means for entropy decoding is performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth 4.
first manner; and means for grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
According to still another aspect of the present invention there is provided, apparatus for decompressing a coded representation of a digital image, wherein said coded representation comprises a plurality of encoded binary symbols representative of a plurality of blocks of a plurality of transform coefficients, and the apparatus comprising: p7RA means for entropy decoding one or more said encoded binary symbols, not previously LI 433354_response.DOC -6Centropy decoded, of a same bitplane of a current block of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the operation of the means for entropy decoding is performed upon said one or more encoded binary symbols of each said block of said plurality of transform coefficients in a depth first manner; means for grouping said blocks of said plurality of said transform coefficients together to produce a plurality of transform coefficients, wherein each said block is of a predetermined fixed size; and means for applying an inverse discrete wavelet transform to said grouped plurality of transform coefficients to produce said digital image.
According to still another aspect of the present invention there is provided, a computer readable medium comprising a computer program for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of symbols, and S 15 the computer program comprising: code for entropy encoding one or more of said o°0o Ssymbols, not previously entropy coded, of a current said transform coefficient based on eve.
oooo one or more corresponding contexts, wherein each said context is determined from at least *se 0,X said transform coefficients surrounding said current transform coefficient; and code for encoding any remaining symbols, not previously coded, of said current transform 20 coefficient, wherein the operations of the code for entropy encoding and the code for encoding are performed on each transform coefficient in a depth first manner.
09:*6According to still another aspect of the present invention there is provided, a :*00 computer readable medium comprising a computer program for compressing data, &:0000 wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the computer program comprising: code for dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; code for RA tropy encoding one or more said binary symbols, not previously entropy coded, of a o 433354_response.DOC same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded; and code for encoding any remaining binary symbols, not previously coded,-of said current group of the plurality of said transform coefficients, wherein the operations of the code for entropy encoding and the code for encoding are performed upon on each said group of said plurality of transform coefficients in a depth first manner.
According to still another aspect of the present invention there is provided, a computer readable medium comprising a computer program for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the computer program comprising: code for dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; code for entropy encoding one or more said binary symbols, not previously entropy coded, of a 15 same bitplane of a current said group of the plurality of said transform coefficients based ®eQO on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the operation of the code for entropy encoding is performed upon each said group of said plurality of transform coefficients in a depth first manner.
20 According to still another aspect of the present invention there is provided, a computer readable medium comprising a computer program for representing a digital image as a coded representation, the computer program comprising: code for applying a discrete wavelet transform to said digital image to provide a plurality of transform *e *coefficients; code for dividing said plurality of transform coefficients into a plurality of blocks of said transform coefficients, wherein each said block is of a predetermined fixed size; code for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said block of said transform coefficients based on RYone or more corresponding contexts, wherein each said context is determined from at least 433354_response.DOC -6Esaid transform coefficients surrounding a current symbol to be entropy encoded, wherein the operation of the code for entropy encoding is performed upon each said block of transform coefficients in a depth first manner.
According to still another aspect of the present invention there-is provided, a computer readable medium comprising a computer program for decompressing data, wherein said data comprises a plurality of encoded symbols representative of a plurality of transform coefficients, and the computer program comprising: code for entropy decoding one or more of said encoded symbols, not previously entropy decoded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and code for decoding any remaining encoded symbols, not previously decoded, of said current transform coefficient wherein the operations of the code for entropy decoding and the code for decoding are performed upon said one or more encoded symbols of each said transform coefficient in a depth first manner.
'o 15 According to still another aspect of the present invention there is provided, a computer readable medium comprising a computer program for decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the computer program comprising: code for entropy decoding one or more said encoded binary symbols, not 20 previously entropy decoded, of a same bitplane of a current group of said plurality of oooo transfonrm coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transfonn coefficients surrounding the current ''*encoded binary symbol to be entropy decoded; code for decoding any remaining encoded binary symbols, not previously decoded, of said current group of said plurality of transform coefficients, wherein the operations of the code for entropy decoding and the code for decoding are performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and code 433354_response.DOC for grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
According to still another aspect of the present invention there is provided, a computer readable medium comprising a computer program for decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the computer program comprising: code for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the operation of the code for entropy decoding is performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and code for grouping said groups of said plurality of said transform coefficients together to produce a 15 plurality of transform coefficients.
According to still another aspect of the present invention there is provided, a computer readable medium comprising a computer program for decompressing a coded 4: representation of a digital image, wherein said coded representation comprises a plurality of encoded binary symbols representative of a plurality of blocks of a plurality of 20 transform coefficients, and the computer program comprising: code for entropy decoding *oe4 one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current block of said plurality of transform coefficients based on one or c' ".more corresponding contexts, wherein each said context is determined from at least said Stransform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the operation of the code for entropy decoding is performed upon said one or more encoded binary symbols of each said block of said plurality of transform coefficients in a depth first manner; code for grouping said blocks of said plurality of said transform coefficients together to produce a plurality of transform coefficients, wherein 433354_response.DOC -6Geach said block is of a predetermined fixed size; and code for applying an inverse discrete wavelet transform to said grouped plurality of transform coefficients to produce said digital image.
Although the preferred embodiments of the present invention will be described with reference to the compression of image data, it will be readily evident that the preferred embodiment is not limited thereto.
4 a a 433354_response.DOC -7- Brief Description of the Drawings Embodiments of the invention are described, by way of example only, with reference to the drawings, in which: Figs. 1-3 illustrate the process of wavelet transforming image data; Fig. 4 illustrates the steps involved in the encoder of the first preferred embodiment; Fig. 5 illustrates the steps in the decoder as constructed in accordance with the first preferred embodiment; Fig. 6 illustrates a data structure utilised by the first preferred embodiment; Fig. 7 illustrates the process of utilising a surrounding context for a current coefficient in accordance with the first preferred embodiment; Fig. 8 illustrates the process of histogram calculation for each subband; Fig. 9 illustrates the steps involved in the encoder of the second preferred embodiment; Fig. 10 illustrates the steps in the decoder as constructed in accordance with the second preferred embodiment; Fig. 11 illustrates a data structure utilised by the second preferred embodiment; Fig. 12 illustrates a window for determining a context for a current coefficient in accordance with the second preferred embodiment; ~Fig. 13 illustrates the process of utilising surrounding context for a current coefficient at bitplane n; Fig. 14 illustrates the process of block based encoding in accordance with a further embodiment of the invention; and ~Fig. 15 is a block diagram of a general purpose computer; Detailed Description The preferred embodiments proceed initially by means of a wavelet transform of image data. A description of the wavelet transform process is given in many standard texts and in particular the aforementioned book by Stollnitz et. al. Before proceeding with a description of the preferred embodiments, a brief overview of the wavelet process will now be described with reference to the accompanying drawings.
Referring initially to Fig. 1, an original image 1 is transformed utilising a Discrete Wavelet Transform (DWT) into four subimages 3-6. The subimages or subbands are normally denoted LL1, HL1, LH1 and HH1. The one suffix on the subband names indicates level 1. The LL1 subband is a low pass decimated version of the original image.
CFPO642AU IPR02 433354 IO:\CISRA\IPR\IPRO21433354:BFD The wavelet transform utilised can vary and can include, for example, Haar basis functions, Daubechies basis functions etc. The LL1 subband is then in turn utilised and a second Discrete Wavelet Transform is applied as shown in Fig. 2 giving subbands LL2 HL2 LH2 HH2 This process is continued for example as illustrated in Fig. 3 wherein the LL4 subband is illustrated, the LL4 band decomposition process being referred to as an octave band filter bank with the LL4 subband being referred to as the DC subband. Obviously, further levels of decomposition can be provided depending on the size of the input image.
Each single level DWT can in turn be inverted to obtain the original image.
Thus a J-level DWT can be inverted as a series of J-single level inverse DWT's.
To code an image hierarchically the DC subband is coded first. Then, the remaining subbands are coded in order of decreasing level. That is for a 4 level DWT, the subbands at level 4 are coded after the DC subband (LL4). That is the HL4, LH4 and HH4 subbands. The subbands at level 3 (HL3, LH3, and HH3) are then coded, followed by those at level 2 (HL2, LH2 and HH2) and then level 1 (HL1, LH1 and HH1).
With standard images, the encoded subbands normally contain the "detail" information in an image. Hence, they often include a sparse array of values and substantial compression can be achieved by quantisation of the subbands and efficient 20 encoding of their sparse matrix form.
First Preferred Embodiment In the first preferred embodiment, an effective compression of the subbands is provided through the utilisation of the correlation between the energy of adjacent 25 coefficients in the DWT subband.
The encoding proceeds via two stages. The first stage encodes the leading zeros, or magnitude category of each DWT coefficient, based on the context of the number of surrounding coefficients that are not quantised to zero. By using a limited window this number takes on a relatively small range of values, and hence there are a limited number of contexts. For efficient entropy coding such a small number of contexts is desired. After the number of leading zero is transmitted or encoded the remaining bits for coefficients that are not quantised to zero are transmitted or encoded as is. Entropy coding could also be used at this stage. However, experiments suggest that this may not substantially increase the compression, while introducing more complexity.
An overview of the coding process is illustrated 20 in Fig. 4, while the decoding process is illustrated 30 in Fig. CFPO642AU IPRO2 433354 [O:\CISRA\IPR\IPR021433354:BFD Turning initially to Fig. 4, a digital image is transformed 21 using a Discrete Wavelet Transform into several subband components as previously described. Each subband is preferably coded in a hierarchical order. As illustrated in Fig. 6, each coefficient in a subband is quantised to an integer value 25 having a predetermined number of bits L, and conceptually represented in a binary format with a sign bit s.
This integer is represented using the number of leading zeros Z from a predetermined maximum bit number and the remaining bits r with a sign bit. This number of leading zeros Z is entropy coded based on the number of surrounding coefficients within a certain window that are not quantised to zero. For non zero integer coefficients the remaining bits r and sign bit s are coded as is.
As illustrated in Fig. 5, at the decoder the operation of the encoder is reversed (in as much as this is possible with quantisation). The quantised coefficients are inverse quantised 31. Finally an inverse Discrete Wavelet Transform is performed 32 on the resulting subbands to give the output image.
As noted previously, in the encoding process the discrete wavelet transform coefficients are quantised 22 to integer values. Let c represent a coefficient value and d its quantised values. Then the quantisation is performed as, d fix where q is a predetermined quantisation factor and fix is defined by, fLxJ 2xl 0 20 JxJ x_ O were L I is the round down to nearest integer operator and is the round up to nearest integer operator. At the encoder each coefficient in a subband is quantised to an integer value using this equation.
The inverse quantisation is given by, c q x d sign(d) x 2 where, -ld<0 sign(d) 0 d=0 1 d 0 At the decoder each coefficient is inverse quantised using this inverse quantisation equation. The quantisation factor q can vary from subband to subband, or it can be fixed for the whole image. It can be coded in the header of the compressed image.
CFP0642AU IPR02 433354 IOCISRA\1PR\1PR02433354:BFD 1.1 Coefficient Coding and Decoding As shown in Fig. 6, each quantised coefficient is an integer value represented in a binary format with a sign bit. For the purpose of the description of the preferred embodiment, it is assumed with 15 bits and an extra sign bit (ie. L= Thus sign(d) b,3...bo where bn is binary bit n. If the coefficient is non zero and the most significant bit number 26 is m, then: b4= b 13 1, and the number of leading zeros Z is, Z= 14-m, If the coefficient is zero we set Z =15. The coefficient d is coded in two parts.
First Z is entropy coded based on the context of the number of surrounding coefficients that are non-zero. A concise definition of surrounding coefficients is given below.
Then for non-zero coefficients bits b, and the sign bit are coded into the bit stream.
1.2 Surrounding Coefficient Context Turning to Fig. 7, a subband eg. 35 is coded in raster scan order from top to bottom and left to right. If the current coefficient to be coded is marked with a cross 36, the surrounding coefficients are considered to be the four surrounding coefficients indicated by the four empty squares 37-40. The surrounding coefficients are selected by a window with a shape as indicated in Fig. 7. If the cross in the window is aligned .".with the current coefficient the surrounding coefficients 37-30 are defined to be the coefficients that fall within the window.
25 The window illustrated follows a raster scan order. Hence, when the current coefficient is being decoded the surrounding coefficients have already been decoded, and thus the decoder knows whether or not they are non zero. The context for the current pixel is determined by the number of surrounding coefficients 37-70 that are non-zero. In this case there are 5 contexts corresponding to 0, 1, 2, 3 or 4 surrounding pixels that are non-zero. For the coefficients in the first row or column a modified window is used that includes only coefficients in the current subband.
Obviously different windows can be used. Ideally, the surrounding coefficients must come before the current coefficient in the raster scan order. This is so the decoder knows their value before decoding the current pixel. The four coefficient window of Fig. 7 has been selected for a good compromise between complexity, which grows with the number of contexts, and compression efficiency, which increases with the number of contexts, at least up to a certain point.
CFP0642AU IPR02 433354 IO:\CISRA\IPR\IPR021433354:BFD -11- 1.3 Context Entropy Coding As noted previously, the number of leading zeros Z of each coefficient is coded with a context based entropy coder. Preferably, this is a standard arithmetic coder. Arithmetic coding is described in Witten et. al., "Arithmetic coding for data compression", Communications of the ACM, Volume 30, No. 6, June 1987.
Preferably fixed histograms are utilised. The histograms are then coded into the compressed image header and are used by the decoder.
In the preferable implementation the arithmetic coder is initialised with different histograms for each subband. For a given subband a histogram with 16 bins is 1o generated for each context as illustrated in Fig. 8. For a given context the ith bin of the histogram is the count of the number of coefficients with i leading zeros and whose context of surrounding coefficients is the given context. For example, for a context of 2 surrounding non-zero coefficients, bin 7 of the histogram is the count of the number of coefficients with 7 leading zeros and who have 2 surrounding non-zero pixels.
These histograms are made prior to the coding process. As an alternative an adaptive arithmetic coder could be utilised.
At the decoder these histograms are used to decode the leading zero information for the subband coefficients, which is contained in the coded bit stream.
For the non-zero coefficients, the remaining bits and sign bit are read from the coded 20 bit stream and hence the quantised coefficients can be constructed.
2.0 Second Preferred Embodiment *0*0 In the second preferred embodiment, an effective compression of the subbands is also provided through the utilisation of relationship between the energy of adjacent coefficients in the DWT subband.
The encoding proceeds via a depth first approach. That is, each bit of a current coefficient is encoded, based on the context of bits, of previously coded surrounding coefficients, on a current bit-plane (bit-plane number n) and on whether or not a most significant bit (msb)of the current coefficient has been coded (ie. the msb number is greater than bit-plane By using a limited window a number contexts used 0.in the encoding takes on a relatively small range of values, and hence there are a limited number of contexts. For efficient entropy coding such a small number of contexts is desired. After substantially all the bits of the current coefficient are encoded, a sign (positive or negative of the current coefficient, if the current coefficient is not zero, is transmitted or encoded as is. Optionally entropy coding of a sign of the coefficient could also be used at this stage.
An overview of the coding process is illustrated 120 in Fig. 9, while the decoding process is illustrated 130 in Fig. 10, in the form of structure diagrams.
CFP0642AU 1PR02 433354[ [O0AC1SRA\PR\PR02 143 33 54:BFD -12- Typically structure diagrams a read with a left operation item begin performed before a right operation item.
Turning initially to Fig. 9, a digital image is transformed 121 using a Discrete Wavelet Transform into several subband components as previously described. Each subband is preferably coded in a hierarchical order. An encoding coding of the transform coefficients is performed 143 by a binary arithmetic coder. Each coefficient 144 in each subband 145 is iteratively processed by a quantisation 122 then an entropy coding by a binary arithmetic coder 143. As illustrated in Fig. 11, each coefficient in a subband is quantised to an integer value 125 having a predetermined number of bits L, and conceptually represented in a binary format with a sign bit s. Each bit 161 is preferably coded in order from a most significant bit-plane to a least significant bitplane. A bit 161 of the integer value 125 is entropy coded using a context formed from a consideration of surrounding bits, and whether or not a msb of the integer value 125 has been entropy coded.
As illustrated in Fig. 10, at the decoder the operation of the encoder is reversed (in as much as this is possible with quantisation). A predetermined portion of an encoded bit-stream (the result of the coder) is decoded 150 by a binary arithmetic decoder to provide a quantised coefficient. The quantised coefficient is inverse quantised 131. This process is looped through 151,152 in an, iterative manner, to 20 produce each coefficient of each subband. Finally an inverse Discrete Wavelet Transform is performed 132 on the resulting subbands to give the output image. This process need not be iterative. For example, the entire bitstream can be encoded by the binary arithmetic decoder 133 to provide substantially all the quantised coefficients and then these coefficients can be inverse quantised 31 before applying the inverse Discrete 25 Wavelet Transform 132.
As noted previously, in the encoding process the discrete wavelet transform coefficients are quantised 122 to integer values. Let c represent a coefficient value and d its quantised values. Then the quantisation is performed as, d fix 30 where q is a predetermined quantisation factor and fix is defined by, l[x x _xx 0 *jix(x)= fx x 0 were J is the round down to nearest integer operator and 1 is the round up to nearest integer operator. At the encoder each coefficient in a subband is quantised to an integer value using this equation.
The inverse quantisation is given by, CFPO642AU IPR02 433354 [O:\CISRA\IPR\IPR02433354:BFD 13c q x d sign(d) x q 2 where, -ld<O sign(d)= 0 d=O 1 d>0 At the decoder each coefficient is inverse quantised using this inverse quantisation equation. The quantisation factor q can vary from subband to subband, or it can be fixed for the whole image. It can be coded in the header of the compressed image.
2.1 Coefficient Coding and Decoding As shown in Fig. 11, each quantised coefficient is an integer value represented in a binary format with a sign bit. For the purpose of the description of the preferred embodiment, it is assumed with 15 bits and an extra sign bit (ie. L= Thus d sign(d)x bx 4 b,...bo where bn is binary bit n.
The coefficient d is coded by entropy coding the bits b 14 bo in order, and a sign bit for non-zero coefficients. Bit bn of a coefficient is coded with a binary entropy coder (eg. binary arithmetic coder) based on the context determined by a bit pattern formed from: bit n of each of the surrounding coefficients; whether the most significant bit of a 20 current coefficient has been coded (ie whether the msb number is greater than and on whether the msb of any of the surrounding coefficients have been coded. A description of surrounding coefficients and context thus formed is given below. A sign of each coefficient not quantised to zero can be coded as is or entropy coded based on surrounding coefficient signs.
At the decoder the quantised coefficient d is reconstructed by simply entropy (eg. binary arithmetic) decoding bits b 14 bO and a sign bit for non-zero coefficients.
2.2 Surrounding Coefficient Context .Turning to Fig. 12, a subband eg. 135 is coded in raster scan order from top to 30 bottom and left to right. If the current coefficient to be coded is marked with a cross 136, the surrounding coefficients are considered to be the four surrounding coefficients indicated by the four empty squares 137-140. Preferably the surrounding coefficients are selected by a window with a shape as indicated in Fig. 12. If the cross in the window is aligned with the current coefficient the surrounding coefficients 137-140 are defined to be the coefficients that fall within the window.
CFPO642AU IPR02 433354 10:\C1SRA\1PRVPR021433354:BFD 14- The window illustrated follows a raster scan order. Hence, when the current coefficient is being decoded the surrounding coefficients have already been decoded, and thus the decoder knows whether or not they are non zero.
Referring to Fig. 13, there is shown a single bit-plane 150, bit-plane n, of the DWT coefficients. The window, described with reference to Fig. 12, includes four bits at bit-plane n labelled c 2 c 5 of surrounding coefficients 142-145. Preferably additional flags other than the surrounding bits c2 c 5 are used to determine a context. The additional flags can include a flag, co, that indicates whether or not a current coefficient 141 has a msb that has been previously entropy coded, and/or a flag, C1, indicating whether or not any the surrounding coefficients have a msb which has been previously entropy coded. That is, if encoding the coefficient is performed from a highest value bit-plane to a lowest value bit-plane than co represent whether or not there is a set bit of a current coefficient in bit-planes above the current bit-plane, and c 1 represent whether or not there is a set bit on any of the surrounding coefficient 142-145 in bit-planes above or in the current bit-plane.
A context for bit n of the current coefficient 141 is determined, in the second preferred embodiment, by 6 bit binary number co, cl, c 5 Bit co of the context is set (ie has value 1) if the most significant bit (msb) of the current coefficient has already been coded. That is the msb of the current coefficient is in bit plane n 1 or 20 greater. Bit ci is set if any one of the four surrounding coefficients 142-145 has a msb Cin bit plane n or greater. Finally bits c2, c3, c4 and c 5 are determined by a bit pattern of the four surrounding coefficients 142-145. In this case, for example, there are 26 64 contexts, since there are 64 different permutations of binary bits co, c 5 The context formation described above is causal in that the context can be formed from previously coded information. In this manner the decoder can form the same context as the encoder. For the window in Fig. 13, following the raster scan order 146, when bit n of the current coefficient is being decoded the surrounding coefficients 142-145 have already been decoded, and thus the decoder knows bit n for each of these coefficients, 142-145, and whether or not the msb of these coefficients is in a bit-plane greater than or equal to bit-plane n. The decoder also knows whether the A. msb of the current coefficient is in a bit-plane greater than or equal to bit-plane n+ 1.
Thus the decoder can form the same context as used at the encoder.
Optionally different windows and different information about previously coded bits in coefficients can be used to form a variety of different sets of contexts without departing from the scope and spirit of the invention. For example another window configuration can be used to determine a context. Typically information used to determine a context is causal. That is, surrounding coefficients (or bits) used in the determination of the context are to be processed before a current coefficient.
CFPO642AU IPR02 433354 10:\CISRA\1PR\PR021433354:BFD Preferably in a raster scan (or coding) order. A small local window is also desired because it minimises the local memory buffering requirements. In addition, a small number of contexts is preferred to minimise the amount of memory required for the entropy coding, and to prevent context dilution. The four coefficient window, and whether or not the msb has been coded, is used, herein, as a good compromise between complexity, which grows with the number of contexts, and compression efficiency, which increases with the number of contexts, at least up to a predetermined number of such contexts.
Typically, once the most significant bit of a coefficient has been coded, a different context entropy coder could be used: one that is based more on the current coefficient to be coded than on the surrounding coefficients. Optionally, it is possible to simple code these bits without entropy coding.
2.3 Context Entrovpy Coding As noted previously, each bit of a current coefficient is coded with a context based entropy coder. Preferably, this is a standard arithmetic coder. Arithmetic coding is described in Witten et. al., "Arithmetic coding for data compression", Communications of the ACM, Volume 30, No. 6, June 1987.
•••.Typically Arithmetic coding relies on assigning a probability of occurrence of 9 20 a symbol, in a plurality of symbols to be encoded. Hence one option of the preferred ~embodiment is to assign a predetermined probability to each of the 64 different contexts, preferably so that each context has a probability value indicative of a likelihood that a current symbol has a resulting value. The contexts and their corresponding probabilities form a look up table that is duplicated for a decoder, so the decoder can mimic the encoder. Naturally, a fixed probability approach works well on stationary images but in reality not all images are stationary and while a performance of the encoder/decoder is adequate, using a fixed probability approach, both for stationary and non-stationary sources an adaptive arithmetic coder is preferred. For nonstationary sources (images) an adaptive arithmetic (de)coder will overcome changes in the probability distribution of each symbol.
o.o Another embodiment of the present invention can be described as a variation on the second preferred embodiment in which a combination of a breadth first and a depth first approach is adopted. In the present embodiment an image is, transformed, quantised and divided into a plurality of blocks. Preferably each block including a fixed number of quantised transformed coefficients. A predetermined block of transformed coefficients is processed in a breadth first manner. That is, each coefficient in the block and each symbol of each coefficient is processed in a sequential manner. For example a first symbol of a first coefficient is encoded substantially as CFPo642AU IPRO2 433354 [o0AC1SRA1PR\1P21433354:BFD -16described in the preferred embodiment, then a first symbol of a second coefficient is encoded, then a first symbol of a third coefficient is encoded etc. Until all first symbols of the coefficients in the block have been encoded. Next all the second symbols of each coefficient in the block are encoded. This is continued across (breadth first) each coefficient in the block until substantially all coefficients and their corresponding symbols have been encoded. Another 'block of coefficients is then processed in a substantially similar manner until substantially all the blocks and hence substantially all coefficients of the transformed image are encoded.
Essentially, the depth first approach upon each transform coefficient described, above, with reference to the second preferred embodiment is adopted on a block by block basis. However, the coefficients within each block are encoded in a breadth first approach.
Referring to Fig. 14, there is shown an array 160 of transform coefficients 161, representing a set of quantised transform coefficients 161 of an image. The array 160 of coefficients 161 are divided into a plurality of blocks and an example of one such block 162 is also shown in Fig. 14. The block 162 is a 2x2 block including four coefficients 163-166 which are typically encoded on a symbol by symbol basis in a zigzag fashion 167. That is, a first symbol of the first coefficient 163 of the block 162 is encoded based on a context determined for the first symbol substantially as described 20 in the second preferred embodiment. Next a first symbol of the second coefficient 164 of the block 162 is encoded. Followed by an encoding of a first symbol of the third coefficient 165 of the block 162 and similarly a first symbol of the fourth coefficient o 166 is encoded. Next a second symbol of all the coefficients 163-166, of the block ""162, are encoded in substantially the same manner. This is repeated until substantially 25 all symbols of the coefficient of the block 162 are encoded before another block is encoded.
go A determination of an ideal block size (ie. the number of coefficients per block) may vary from application to application and/or an amount of available high speed cache memory, however a preferred block size is one than exploits both see 30 advantages of a depth first approach and a breadth first approach. Advantages of the breadth first approach include having knowledge of previously encoded symbols of an entire block. For example, as noted previously, once all the first symbols of each Sgo coefficients of a block is encoded a context of second symbols of each coefficient can benefit from a knowledge of the first symbols encoded across the entire block.
Advantages of a depth first approach include on each block is that an array of coefficients can be read on a block by block basis rather than a symbol by symbol basis required in a purely breadth first approach, thus reduce the number of accesses to the array.
CFPO642AU IPR02 433354 IO:\CISRA\IPR\IPRO21433354:BFD -17- Typically, the array 160 of coefficients is stored in memory such as RAM or on external memory such as a hard disk drive for example. Access time for such memory read and/or writes is typically long when compared to on processor cache memory. Consequently, increased performance can be had by caching the block 162 in local cache (high speed) memory rather than access coefficients from the array 160 stored in a hard disk drive or lower performance memory. Images are generally large with respect to the number of bytes per file when compared to, for instance, a text file and hence it is not unreasonable to store a library of images on a hard disk drive. The method of the present embodiment therefore reduces the number of accesses to the array 160 stored in external memory than the number of accesses of a purely breadth first approach. Thus improving performance without the need to cache substantially the entire array 160.
A context of a current symbol in the block based coding technique of the present embodiment is determined substantially as hereinbefore described with reference to the preferred embodiment. Thus in addition to caching the block 162, surrounding coefficients 168 are also cached. Naturally, the number of coefficients 168 and which coefficients are to be cached, in addition to the block 162, depends upon a choice of window and/or flag bits for determining a context.
preferred embodiments also have application to other image formats. For example, full colour images can be encoded via separate colour channels or the usual chrominance compression techniques as utilised in the JPEG standard can be applied so as to produce reduced chrominance data. Further, the preferred embodiments are described with reference to binary symbols (ie 1 or 0) and bitplanes, however the embodiments, ie the depth first approach, can also be implemented with a n-ary S• 25 representation of coefficients. That is, each coefficient can be represented by a plurality .of different symbols ie. N symbols for an n-ary representation). Still further, not all symbols of a current coefficient need be encoded before encoding a next coefficient.
For example, in an eight bit representation of coefficients, four bits of each coefficient can be encoded on each pass (raster scan). Hence in two passes of memory each coefficient will be encoded.
*-*Additionally, the principles of the preferred embodiments can be equally extended to other forms of data such as sound data etc. and the preferred embodiments have application wherever wavelet transforms are suitable. Additionally, the preferred embodiments can be applied to other forms of transformed data for example, the discrete cosine transform process in addition to the wavelet packet and cosine packet transform techniques as described in the aforementioned survey article.
CFPO642AU IPR02 433354 [O:\CISRA\IPR\IPR021433354:BFD -18- 3.1 Preferred Embodiment of Apparatus(s) The encoding and/or decoding process are preferably practiced using a conventional general-purpose computer, such as the one shown in Fig. 15, wherein the processes of Fig. 4 to 14 may be implemented as software executing on the computer.
In particular, the steps of the encoding and/or decoding methods are effected by instructions in the software that are carried out by the computer. The software may'be divided into two separate parts; one part for carrying out the encoding and/or decoding methods; and another part to manage the user interface between the latter and the user.
The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer preferably effects an advantageous apparatus for encoding and/or decoding representations of digital images in accordance with the embodiments of the invention.
The computer system 1500 includes of the computer 1502, a video display 1516, and input devices 1518, 1520. In addition, the computer system 1500 can have any of a number of other output devices including line printers, laser printers, plotters, and other reproduction devices connected to the computer 1502. The computer system 1500 can be connected to one or more other computers via a communication interface 1508c using an appropriate communication channel 1530 such as a modem communications path, a computer network, or the like. The computer network may include a local area network (LAN), a wide area network (WAN), an Intranet, and/or the Internet 25 The computer 1502 itself includes of a central processing unit(s) (simply referred to as a processor hereinafter) 1504, a memory 1506 which may include random access memory (RAM) and read-only memory (ROM), input/output (IO) interfaces 1508a, 1508b 1508c, a video interface 1510, and one or more storage devices generally represented by a block 1512 in Fig. 15. The storage device(s) 1512 can include of one or more of the following: a floppy disc, a hard disc drive, a magnetooptical disc drive, CD-ROM, magnetic tape or any other of a number of non-volatile storage devices well known to those skilled in the art. Each of the components 1504 to 1512 is typically connected to one or more of the other devices via a bus 1514 that in turn can include of data, address, and control buses.
The video interface 1510 is connected to the video display 1516 and provides video signals from the computer 1502 for display on the video display 1516. User input to operate the computer 1502 can be provided by one or more input devices CFP0642AU IPR02 433354 [0ACISRA\PR\PR0214333 54:BFD -19- 1508b. For example, an operator can use the keyboard 1518 and/or a pointing device such as the mouse 1520 to provide input to the computer 1502.
The system 1500 is simply provided for illustrative purposes and other configurations can be employed without departing from the scope and spirit of the invention. Exemplary computers on which the embodiment can be practiced include IBM-PC/ATs or compatibles, one of the Macintosh (TM) family of PCs, Sun Sparcstation or the like. The foregoing is merely exemplary of the types of computers with which the embodiments of the invention may be practiced. Typically, the processes of the embodiments, described hereinafter, are resident as software or a program recorded on a hard disk drive (generally depicted as block 1512 in Fig. 15) as the computer readable medium, and read and controlled using the processor 1504.
Intermediate storage of the program and pixel data and any data fetched from the network may be accomplished using the semiconductor memory 1506, possibly in concert with the hard disk drive 1512.
In some instances, the program may be supplied to the user encoded on a CD- ROM or a floppy disk (both generally depicted by block 1512), or alternatively could be read by the user from the network via a modem device connected to the computer, for example. Still further, the software can also be loaded into the computer system 1500 from other computer readable medium including magnetic tape, a ROM or 20 integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including email transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
~The method of encoding and/or decoding may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of the encoding and/or decoding. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
99 The foregoing only describes a small number of embodiments of the present invention, however, modifications and/or changes can be made thereto by a person skilled in the art without departing from the scope and spirit of the invention. The present embodiments are, therefore, to be considered in all respects to be illustrative and not restrictive.
CFP0642AU IPR02 433354 (0AC1SSRA\1PR\1PR0214333 54: BFD

Claims (59)

1. A method of compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code -representation including a plurality of symbols, and the method comprises the steps of: entropy encoding one or more of said symbols, not previously entropy coded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and encoding any remaining symbols, not previously coded, of said current transform coefficient, wherein the entropy encoding step and the encoding step are performed on each transform coefficient in a depth first manner.
2. A method as claimed in claim 1, wherein each said corresponding context is determined at least from previously encoded transform coefficients.
3. A method as claimed in claim 1, wherein said transform coefficients have been quantised. S 20 4. A method as claimed in claim 1, wherein said step of encoding any remaining symbols comprises repeating said entropy encoding step for said remaining symbols. 3: A method as claimed in claim 1, wherein said step of encoding any remaining i symbols comprises coding said remaining symbols as they are.
6. A method as claimed in claim 1, wherein each said corresponding context is determined at least from an arrangement of surrounding symbols. 433354_response.DOC
7. A method as claimed in claim 6, wherein said surrounding symbols are from said transform coefficients which have been previously encoded.
8. A method as claimed in claim 1, wherein each said corresponding context includes a flag which indicates whether or not a most significant symbol of the current transform coefficient has been entropy encoded.
9. A method as claimed in claim 1, wherein each said corresponding context includes a flag which indicates whether or not a most significant symbol, of at least one transform coefficient spatially adjacent to the current transform coefficient, has been entropy encoded. A method as claimed in claim 1, wherein each said symbol is a bit. 15 11. A method as claimed in claim 1, wherein each said corresponding context includes information as to whether or not a most significant bit of the current transform coefficient has been entropy encoded. a a
12. A method as claimed in claim 1, wherein each said corresponding context 20 includes information as to whether or not a most significant bit of at least one said transform coefficient spatially adjacent, to the current transform coefficient, has been entropy encoded. a
13. A method as claimed in claim 10, wherein said transfonrm coefficients are represented in a bit-plane representation and each said corresponding context further includes bits in a current bit-plane. 433354_response.DOC
14. A method as claimed in claim 1, wherein said entropy encoding is performed by an arithmetic coder. A method as claimed 1, wherein said transform coefficients are produced by a Discrete Wavelet Transform.
16. A method as claimed in claim 1, wherein the entropy encoding step comprises entropy encoding a symbol indicative of the magnitude of the current transform coefficient based on a said corresponding context.
17. A method as claimed in claim 16, wherein the encoding step comprises coding the remaining symbols indicative of the value of the current transform coefficient.
18. A method as claimed in claim 1, wherein each said corresponding context is 15 determined from the number of non-zero transform coefficients surrounding the current transform coefficient. o•
19. A method as claimed in claim 18, wherein the surrounding non-zero transform coefficients are from previously entropy encoded transform coefficients adjacent to a 20 current spatial location of the current transform coefficient.
20. A method as claimed in claim 1, wherein said transform coefficients have been ".quantised to integer values. °•oo*
21. A method as claimed in claim 20, wherein said integer values include a sign bit and a predetermined number of coefficient bits. 433354_response.DOC
22. A method of compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the method comprising the steps of: dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded; and encoding any remaining binary symbols, not previously coded, of said current group of the plurality of said transform coefficients, wherein the entropy encoding step and the encoding step are performed upon on each said group of said plurality of transform coefficients in a depth first manner.
23. A method as claimed in claim 22, wherein said method further comprises the steps of: applying a transform to image data to produce said plurality of said transform coefficients. °oro
24. A method as claimed in claim 22, wherein each said group comprises four said transform coefficients. S 9 *D
25. A method as claimed in claim 22, wherein said step of encoding any remaining bit symbols comprises repeating said entropy encoding step for said remaining bit symbols. 433354_response.DOC
26. A method of compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the method comprising the steps of: dividing said plurality of transform coefficients into a plurality-of groups of a plurality of said transform coefficients; entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the entropy encoding step is performed upon each said group of said plurality of transform coefficients in a depth first manner.
27. A method of representing a digital image as a coded representation, the method comprising the steps of: 15 applying a discrete wavelet transform to said digital image to provide a plurality of transform coefficients; dividing said plurality of transform coefficients into a plurality of blocks of said transform coefficients, wherein each said block is of a predetermined fixed size; entropy encoding one or more said binary symbols, not previously entropy coded, 20 of a same bitplane of a current said block of said transform coefficients based on one or .o more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the entropy encoding step is performed upon each said block of transform coefficients in a depth first manner.
28. A method of decompressing data, wherein said data comprises a plurality of encoded symbols representative of a plurality of transform coefficients, and the method /T c omprising the steps of: 433354_response.DOC entropy decoding one or more of said encoded symbols, not previously entropy decoded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and decoding any remaining encoded symbols, not previously decoded, of said current transform coefficient wherein the entropy decoding step and the decoding step are performed upon said one or more encoded symbols of each said transform coefficient in a depth first manner.
29. A method as claimed in claim 28, wherein each said context is determined from previously decoded coefficients. A method as claimed in claim 28, wherein the method includes a further step of inverse quantising said decoded transform coefficients. S
31. A method as claimed in claim 28, wherein said step of decoding any remaining encoded symbols comprises repeating said entropy decoding step for said remaining encoded symbols. 20 32. A method as claimed in claim 28, wherein said step of decoding any remaining encoded symbols comprises coding said encoded remaining symbols as they are.
33. A method as claimed in claim 28, wherein each said corresponding context is determined at least from an arrangement of surrounding symbols.
34. A method as claimed in claim 33, wherein said surrounding symbols are previously decoded symbols. 433354_response.DOC -26- A method as claimed in claim 28, wherein each said corresponding context includes a flag which indicates whether or not a most significant symbol of the current transform coefficient is encoded or decoded.
36. A method as claimed in claim 28, wherein each said corresponding context includes a flag which indicates whether or not a most significant symbol, of at least one transform coefficient spatially adjacent to the current transform coefficient, is encoded or decoded.
37. A method as claimed in claim 28, wherein each said symbol is a bit.
38. A method as claimed in.claim 28, wherein each said corresponding context includes information as to whether or not a most significant bit of the current transform coefficient is encoded or decoded.
39. A method as claimed in claim 28, wherein each said corresponding context oo includes information as to whether or not a most significant bit of at least one transform g** coefficient spatially adjacent, to the current transform coefficient, is encoded or decoded. S20 40. A method as claimed in claim 37, wherein said transform coefficients are •ae• represented in a bit-plane representation and each said corresponding context further includes bits in a current bit-plane.
41. A method as claimed in claim 28, wherein said entropy decoding is performed by an arithmetic coder.
42. A method as claimed 28, wherein said method further comprises: 433354_response.DOC -27- applying an inverse Discrete Wavelet Transform to the decoded transform coefficients.
43. A method as claimed in claim 28, wherein said entropy decoding step comprises entropy decoding an encoded symbol indicative of the magnitude of the current transform coefficient based on a said corresponding context.
44. A method as claimed in claim 43, wherein the decoding step comprises decoding the remaining symbols indicative of the value of the current transform coefficient. A method as claimed in claim 28, wherein each said corresponding context is determined from the number of non-zero transform coefficients surrounding the current transform coefficient. 15 46. A method as claimed in claim 45, wherein the surrounding non-zero transform coefficients are from previously entropy decoded transform coefficients adjacent to a see* current spatial location of the current transform coefficient. .9 9*@ 99
47. A method as claimed in claim 28, wherein said method further includes inverse S 20 quantizing the decoded transform coefficients to integer values. o
48. A method as claimed in claim 47, wherein said integer values include a sign bit and a predetermined number of coefficient bits.
49. A method of decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the method comprising the steps of: 433354_response.DOC entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded; decoding any remaining encoded binary symbols, not previously decoded, of said current group of said plurality of transform coefficients, wherein the entropy decoding step and the decoding step are performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients. A method as claimed in claim 49, wherein each said group comprises four said transform coefficients. 51 A method as claimed in claim 49, wherein said step of decoding any remaining •go 9 e bit symbols comprises repeating said entropy decoding step for said remaining bit *symbols. @0 20 52. A method as claimed in claim 49, wherein said method further comprises the step of: 0e 0 applying an inverse transform to the grouped plurality of transform coefficients to produce image data. 6 ee• o
53. A method of decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the method comprising the steps of: 433354_response.DOC entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the entropy decoding step is performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
54. A method of decompressing a coded representation of a digital image, wherein said coded representation comprises a plurality of encoded binary symbols representative i ••of a plurality of blocks of a plurality of transform coefficients, and the method comprising the steps of: S 15 entropy decoding one or more said encoded binary symbols, not previously oo entropy decoded, of a same bitplane of a current block of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the entropy decoding step is performed 20 upon said one or more encoded binary symbols of each said block of said plurality of o' transform coefficients in a depth first manner; grouping said blocks of said plurality of said transform coefficients together to produce a plurality of transform coefficients, wherein each said block is of a predetermined fixed size; and applying an inverse discrete wavelet transform to said grouped plurality of transform coefficients to produce said digital image. 433354_response.DOC Apparatus for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of symbols, and the apparatus comprising: means for entropy encoding one or more of said symbols, not previously entropy coded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and means for encoding any remaining symbols, not previously coded, of said current transform coefficient, wherein the operations of the means for entropy encoding and the means for encoding are performed on each transform coefficient in a depth first manner.
56. Apparatus for compressing data, wherein said data comprises a plurality of :".*,transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the apparatus comprising: 15 means for dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; means for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is 20 determined from at least said transform coefficients surrounding a current symbol to be V entropy encoded; and means for encoding any remaining binary symbols, not previously coded, of said current group of the plurality of said transform coefficients, wherein the operations of the means for entropy encoding and the means for encoding are performed upon on each said group of said plurality of transform coefficients in a depth first manner. 433354_response.DOC
57. Apparatus for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the apparatus comprising: means for dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; means for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the operation of the means for entropy encoding is performed upon each said group of said plurality of transform coefficients in a depth first manner.
58. Apparatus for representing a digital image as a coded representation, the i: apparatus comprising: 15 means for applying a discrete wavelet transform to said digital image to provide Soa plurality of transform coefficients; means for dividing said plurality of transform coefficients into a plurality of blocks of said transform coefficients, wherein each said block is of a predetermined fixed g size; means for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said block of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the operation of the means for entropy encoding is performed upon each said block of transform coefficients in a depth first manner. 433354_response.DOC
59. Apparatus for decompressing data, wherein said data comprises a plurality of encoded symbols representative of a plurality of transform coefficients, and the apparatus comprising: means for entropy decoding one or more of said encoded symbols, not previously entropy decoded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and means for decoding any remaining encoded symbols, not previously decoded, of said current transform coefficient wherein the operations of the means for entropy decoding and the means for decoding are performed upon said one or more encoded symbols of each said transform coefficient in a depth first manner.
60. Apparatus for decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform 15 coefficients, and the apparatus comprising: V means for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded; means for decoding any remaining encoded binary symbols, not previously *o decoded, of said current group of said plurality of transform coefficients, wherein the operations of the means for entropy decoding and the means for decoding are performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and means for grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients. 433354_response.DOC -33-
61. Apparatus for decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the apparatus comprising: means for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the operation of the means for entropy decoding is performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and means for grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
62. Apparatus for decompressing a coded representation of a digital image, wherein S 15 said coded representation comprises a plurality of encoded binary symbols representative of a plurality of blocks of a plurality of transform coefficients, and the apparatus comprising: means for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current block of said plurality of 20 transform coefficients based on one or more corresponding contexts, wherein each said .°..context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the operation of the means for entropy decoding is performed upon said one or more encoded binary symbols of each said block of said plurality of transform coefficients in a depth first manner; means for grouping said blocks of said plurality of said transform coefficients together to produce a plurality of transform coefficients, wherein each said block is of a predetermined fixed size; and 433354_response.DOC -34- means for applying an inverse discrete wavelet transform to said grouped plurality of transform coefficients to produce said digital image.
63. A computer readable medium comprising a computer program for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of symbols, and the computer program comprising: code for entropy encoding one or more of said symbols, not previously entropy coded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and code for encoding any remaining symbols, not previously coded, of said current transform coefficient, wherein the operations of the code for entropy encoding and the "code for encoding are performed on each transform coefficient in a depth first manner.
64. A computer readable medium comprising a computer program for compressing data, wherein said data comprises a plurality of transform coefficients, each transform .coefficient is expressible by a code representation including a plurality of binary symbols, ooo° and the computer program comprising: 20 code for dividing said plurality of transform coefficients into a plurality of :....groups of a plurality of said transform coefficients; code for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded; and code for encoding any remaining binary symbols, not previously coded, of said ~STF current group of the plurality of said transform coefficients, wherein the operations of the 433354_response.DOC code for entropy encoding and the code for encoding are performed upon on each said group of said plurality of transform coefficients in a depth first manner. A computer readable medium comprising a computer program for compressing data, wherein said data comprises a plurality of transform coefficients, each transform coefficient is expressible by a code representation including a plurality of binary symbols, and the computer program comprising: code for dividing said plurality of transform coefficients into a plurality of groups of a plurality of said transform coefficients; code for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said group of the plurality of said transform coefficients based on one or more corresponding contexts, wherein each said context is ,determined from at least said transform coefficients surrounding a current symbol to be •entropy encoded, wherein the operation of the code for entropy encoding is performed 15 upon each said group of said plurality of transform coefficients in a depth first manner.
66. A computer readable medium comprising a computer program for representing a S: digital image as a coded representation, the computer program comprising: code for applying a discrete wavelet transform to said digital image to provide a 20 plurality of transform coefficients; code for dividing said plurality of transform coefficients into a plurality of blocks of said transform coefficients, wherein each said block is of a predetermined fixed size; code for entropy encoding one or more said binary symbols, not previously entropy coded, of a same bitplane of a current said block of said transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding a current symbol to be entropy encoded, wherein the operation of the code for entropy encoding is performed upon each AZS R said block of transform coefficients in a depth first manner. 433354_response.DOC
67. A computer readable medium comprising a computer program for decompressing data, wherein said data comprises a plurality of encoded symbols representative of a plurality of transform coefficients, and the computer program comprising: code for entropy decoding one or more of said encoded symbols, not previously entropy decoded, of a current said transform coefficient based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding said current transform coefficient; and code for decoding any remaining encoded symbols, not previously decoded, of said current transform coefficient wherein the operations of the code for entropy decoding and the code for decoding are performed upon said one or more encoded symbols of each i said transform coefficient in a depth first manner. S: 5 68. A computer readable medium comprising a computer program for decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the oo computer program comprising: oo o code for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded; code for decoding any remaining encoded binary symbols, not previously decoded, of said current group of said plurality of transform coefficients, wherein the operations of the code for entropy decoding and the code for decoding are performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and 433354_response.DOC code for grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
69. A computer readable medium comprising a computer program for decompressing data, wherein said data comprises a plurality of encoded binary symbols representative of a plurality of groups of a plurality of transform coefficients, and the computer program comprising: code for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current group of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the operation of the code for entropy decoding is performed upon said one or more encoded binary symbols of each said group of said plurality of transform coefficients in a depth first manner; and 15 code for grouping said groups of said plurality of said transform coefficients together to produce a plurality of transform coefficients.
70. A computer readable medium comprising a computer program for goof S: decompressing a coded representation of a digital image, wherein said coded 20 representation comprises a plurality of encoded binary symbols representative of a plurality of blocks of a plurality of transform coefficients, and the computer program comprising: code for entropy decoding one or more said encoded binary symbols, not previously entropy decoded, of a same bitplane of a current block of said plurality of transform coefficients based on one or more corresponding contexts, wherein each said context is determined from at least said transform coefficients surrounding the current encoded binary symbol to be entropy decoded, wherein the operation of the code for 433354_response.DOC entropy decoding is performed upon said one or more encoded binary symbols of each said block of said plurality of transform coefficients in a depth first manner; code for grouping said blocks of said plurality of said transform coefficients together to produce a plurality of transform coefficients, wherein each said block is of a predetermined fixed size; and code for applying an inverse discrete wavelet transform to said grouped plurality of transform coefficients to produce said digital image.
71. A method of compressing data substantially as described herein with reference to Figs. 1, 2, 3, 4, 6, 7 and 8, or, Figs. 1, 2, 3, 9, 11, 12 and 13, or, Fig. 14 of the accompanying drawings.
72. A method of decompressing data substantially as described herein with reference :to Figs. 1, 2, 3, 5, 6, 7 and 8, or, Figs. 1, 2, 3, 10, 11, 12 and 13, or, Fig. 14 of the S 15 accompanying drawings. 9
73. An apparatus for compressing data substantially as described herein with reference to Figs. 1, 2, 3, 4, 6, 7, 8 and 15, or, Figs. 1, 2, 3, 9, 11, 12, 13 and 15, or, Figs. feet 14 and 15 of the accompanying drawings.
74. An apparatus for decompressing data substantially as described herein with reference to Figs. 1, 2, 3, 5, 6, 7, 8 and 15, or, Figs. 1, 2, 3, 10, 11, 12, 13 and 15, or, Figs. 9 9 14 and 15 of the accompanying drawings.
75. A computer readable medium comprising a computer program for compressing data, the computer program substantially as described herein with reference to Figs. 1, 2, 3, 4, 6, 7, 8 and 15, or, Figs. 1, 2, 3, 9, 11, 12, 13 and 15, or, Figs. 14 and 15 of the accompanying drawings. 433354_response.DOC -39-
76. A computer readable medium comprising a computer program for decompressing data, the computer program substantially as described herein with reference to to Figs. 1, 2, 3, 5, 6, 7, 8 and 15, or, Figs. 1, 2, 3, 10, 11, 12, 13 and 15, or, Figs. 14 and 15 the accompanying drawings. DATED this thirteenth Day of June 2000 Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON FERGUSON o S **o o* o *o f S ftf f at t *f f ft ft *oft••t 433354_response.DOC
AU87097/98A 1997-09-29 1998-09-28 A method for digital data compression Ceased AU724222B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU87097/98A AU724222B2 (en) 1997-09-29 1998-09-28 A method for digital data compression

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
AUPO9510 1997-09-29
AUPO9510A AUPO951097A0 (en) 1997-09-29 1997-09-29 A method of data compression
AUPP0776A AUPP077697A0 (en) 1997-12-08 1997-12-08 A method of data compression
AUPP0776 1997-12-08
AU87097/98A AU724222B2 (en) 1997-09-29 1998-09-28 A method for digital data compression

Publications (2)

Publication Number Publication Date
AU8709798A AU8709798A (en) 1999-04-15
AU724222B2 true AU724222B2 (en) 2000-09-14

Family

ID=27156724

Family Applications (1)

Application Number Title Priority Date Filing Date
AU87097/98A Ceased AU724222B2 (en) 1997-09-29 1998-09-28 A method for digital data compression

Country Status (1)

Country Link
AU (1) AU724222B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU747603B2 (en) * 1999-12-03 2002-05-16 Canon Kabushiki Kaisha A method and apparatus for discrete wavelet transforms for block entropy coding of subband image data
CN115987292B (en) * 2022-12-29 2025-09-30 湖南大学 Embedded coding method, device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537493A (en) * 1993-08-27 1996-07-16 Sony Corporation Apparatus for compressing image data employing entropy encoding of data scanned from a plurality of spatial frequency bands
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5819215A (en) * 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5537493A (en) * 1993-08-27 1996-07-16 Sony Corporation Apparatus for compressing image data employing entropy encoding of data scanned from a plurality of spatial frequency bands
US5819215A (en) * 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data

Also Published As

Publication number Publication date
AU8709798A (en) 1999-04-15

Similar Documents

Publication Publication Date Title
JP3853758B2 (en) Image encoding device
US6266450B1 (en) Encoding method and apparatus
EP0971544B1 (en) An image coding method and apparatus for localised decoding at multiple resolutions
US6263110B1 (en) Method for data compression
US20050041873A1 (en) Image processing system that internally transmits lowest-resolution image suitable for image processing
JPH114343A (en) Image compression method, image compressor and medium read by computer
JP2001346047A (en) Image processing apparatus and image processing method
JP2000032461A (en) Image encoding method, image decoding method and apparatus, and computer program product
US7197190B1 (en) Method for digital data compression
JPH11266161A (en) Data compression method and data compression apparatus
JP2007267384A (en) Compression device and compression method
US6246798B1 (en) Modified discrete wavelet transform for odd length data appropriate for image and video compression applications
US6606416B1 (en) Encoding method and apparatus for representing a digital image
JPH1084484A (en) Data compression system
AU724222B2 (en) A method for digital data compression
US6915015B1 (en) Apparatus for and method for SNR scalable quad-tree bit-plane coding
US6542641B1 (en) Method and apparatus for decoding a coded representation of a digital image
EP0920213A2 (en) Method and apparatus for decoding transform coefficients
AU746400B2 (en) A method and apparatus for decoding a coded representation of a digital image
AU708489B2 (en) A method and apparatus for digital data compression
AU728938B2 (en) A method for data compression
US20070140572A1 (en) Decompression for printing and display systems
AU745160B2 (en) An encoding method and apparatus for representing a digital image
AU708444B2 (en) A modified discrete wavelet transform for odd length data appropriate for image and video compression applications
JP2001251623A (en) Image processing device, display device, system, control method thereof, and storage medium

Legal Events

Date Code Title Description
PC1 Assignment before grant (sect. 113)

Owner name: CANON KABUSHIKI KAISHA

Free format text: THE FORMER OWNER WAS: CANON KABUSHIKI KAISHA, CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD

FGA Letters patent sealed or granted (standard patent)