[go: up one dir, main page]

WO2003041389A2 - Method and systems for computing a wavelet transform - Google Patents

Method and systems for computing a wavelet transform Download PDF

Info

Publication number
WO2003041389A2
WO2003041389A2 PCT/US2002/035533 US0235533W WO03041389A2 WO 2003041389 A2 WO2003041389 A2 WO 2003041389A2 US 0235533 W US0235533 W US 0235533W WO 03041389 A2 WO03041389 A2 WO 03041389A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
shift register
bin
wavelet transform
data bytes
Prior art date
Application number
PCT/US2002/035533
Other languages
French (fr)
Other versions
WO2003041389A3 (en
Inventor
Quentin E. Dolecek
Original Assignee
The Johns Hopkins University
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
Application filed by The Johns Hopkins University filed Critical The Johns Hopkins University
Priority to AU2002348179A priority Critical patent/AU2002348179A1/en
Priority to US10/494,658 priority patent/US7352906B2/en
Publication of WO2003041389A2 publication Critical patent/WO2003041389A2/en
Publication of WO2003041389A3 publication Critical patent/WO2003041389A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/148Wavelet transforms

Definitions

  • the present invention relates generally to systems and methods for processing digital data.
  • it pertains to a system and method for perfo ⁇ ning continuous computation of wavelet transforms and can be applied to compression of individual gray scale and color images and key-frame video, for example.
  • JPEG 2000 is an improvement over the JPEG compression method described above.
  • JPEG 2000 compression makes use of the well-known concept of wavelet transforms to perform the compression.
  • Wavelet transforms described simply, involve the algorithmic transformation of an image into multiple frequency bands, with each frequency band containing the image at a quarter resolution of the original image, in varying degrees of image quality. As the band progresses from a low frequency to a high frequency, the image quality increases. Since the lowest frequency band is generally the most important band for visual sensitivity, the lowest frequency band is typically the first band transmitted, and the highest frequency band will typically be transmitted last. In this way, if only the lowest frequency band is received, the major features of the image will be visible even though the details contained in the higher frequency band are unavailable.
  • wavelet transforms for transforming image data to handle image processing/compression, each of which, in their basic form, comprise a formula or series of formulas to which the image data is applied.
  • Many examples and explanations of wavelet transforms can be found in patents and in the literature. See, for example, U.S. Patent No. 6,178,269 to Acharya, U.S. Patent No. 6,125,210 to Yang, Marcellin et al., "An Overview of JPEG-2000," Proc. Of IEEE Data Compression Conference, pp. 523-541 (2000); and Sadowsky, J., "Investigation of Signal Characteristics Using the Continuous Wavelet Transform," Johns Hopkins APL Technical Digest, Vol. 17, No.
  • the 5-3 wavelet transform has very low complexity, provides the best lossless compression, and exhibits a minimum of ringing when quantized.
  • the formula for the 5- 3 wavelet transform is as follows:
  • Ci is the value of the first byte in a 5-byte sequence
  • C is the value of the second byte in the 5-byte sequence
  • C 3 is the value of the third byte in the 5-byte sequence
  • C 4 is the value of the fourth byte in the 5-byte sequence
  • C 5 is the value of the fifth byte in the 5-byte sequence.
  • the data being compressed and decompressed using JPEG and JPEG 2000 consists of a series of individual data bytes (e.g., each data byte representing a single pixel in a graphic image)
  • prior art systems process this data in blocks or sub- blocks, primarily because they typically use a Discrete Cosine Transform (DCT) to perform a digital transform, and a DCT requires that the data be processed in blocks.
  • DCT Discrete Cosine Transform
  • These data blocks e.g., an 8 x 8 pixel sub-block taken from a larger 800 x 600 pixel block fo ⁇ ning an entire image, are processed by a computer which computes the wavelet transform using the wavelet transform formula for each sub-block.
  • wavelet transforms comprise a sequence of mathematical computations being performed on each byte of data, numerous read, process, and store operations must be performed for each byte, requiring significant processing power and storage capability. This process is repeated for each byte of each sub-block until the processed image data for the entire block (and thus the entire image) is stored in memory. Once the entire block has been processed it can then be utilized for its intended purpose. While this functions fairly well, the prior art method is inefficient and costly. The prior art method requires computers and/or digital signal processors (DSPs) and thus requires significant computing power to perform the algorithm, store the data, and save/display the data. [0011] Accordingly, it would be desirable to have a simpler method for computing wavelet transforms on data that does not require the significant computing power of the prior art.
  • DSPs digital signal processors
  • the present invention is a method and system for mapping the flow data that will be the subject of wavelet transform equations to a system comprising adders, subtractors, multipliers and/or dividers to perform the mathematical functions set forth in the particular wavelet transform.
  • a shift register is utilized to continually flow the individual data bytes of the data file being processed through the system.
  • Figure 1 illustrates a system of the prior art for processing and computing wavelet transforms
  • Figures 2 and 3 illustrate a first embodiment of the present invention relative to a
  • Figure 4 illustrates a system for computing a 5-4 wavelet transform on data.
  • FIG. 1 illustrates a system of the prior art for processing and computing wavelet transforms.
  • a system 100 comprises a processor 102 and a memory 104.
  • Image data is input into the processor 102 and is divided into sub-blocks of data using known processing techniques.
  • the bytes of data making up the sub-blocks are then subjected to wavelet transform algorithms. Specifically, the first sequence of data bytes needed for the particular wavelet transform are identified, and the first mathematical operation of the wavelet transform is performed, and the result stored in memory 104. Then the next mathematical operation of the wavelet transform is performed, and that result is also stored in memory 104.
  • each mathematical operation set forth in the wavelet transform is performed in this manner until the wavelet transform equation has been performed to its final result for the first sequence of data bytes.
  • the next data-byte sequence is obtained (e.g., by moving the first byte in the first sequence out of consideration, moving each remaining byte up one position in the sequence, and inserting the next byte at the end of the sequence), and the process repeats on the new data-byte sequence. This process continues until the sub-block has been processed; then the next sub-block is processed identically, until the entire block has been processed.
  • the prior art method requires significant computing power, memory, and time.
  • Figures 2 and 3 illustrate a first embodiment of the present invention relative to a 5-3 wavelet transform.
  • the 5-3 wavelet transform equation is repeated below: (C ⁇ + C 2 ) x - C3 (C 3 + C 4 ) x -) - C 5
  • a shift register 201 comprising a series of shift register bins 202, 204, 206, 208, and 210 is periodically clocked in a well-known manner so that, with each clock pulse a new 5-byte sample (in this example) is input to the shift register bins.
  • the period of the clock pulse should be of a size sufficient for each of the math processors (described below) to have time to perform their particular process on the data in the shift register and output a result.
  • the first five data bytes of a sample are shown in bins 202, 204, 206, 208, and 210, respectively.
  • Math processors 212, 214, 216, 218, and 220 can comprise any known device for performing a mathematical function on input data, such as adders, subtractors, multipliers, or dividers or any combinations thereof. Logic devices for performing these and other mathematical functions are very well known and are not discussed further herein, h this example, math processors 212, 214, and 220 are adders and math processors 216 and 218 are subtractors.
  • the add/subtract operations performed by the math processors are carried out on the bytes in each bin. More specifically, in Fig. 2, the byte in bin 202 is added to the byte in bin 204 by math processor 212; and the byte in bin 206 is added to the byte in bin 208 by math processor 214. [0023] The output of math processor 212 is shown as being multiplied by V2 (via multiplier 213) prior to being input to math processor 216. Thus, the byte in bin 206 is subtracted, by math processor 216, from one-half of the sum of bytes 202 and 204 that is output from math processor 212 which satisfies an analogous portion of the 5-3 wavelet transform equation.
  • Figure 4 illustrates a system for computing a 5-4 wavelet transform on data, which will solve the 5-4 wavelet transform equation:
  • the hardware components used to perform the above-described functions can be any known hardware components that can perform the adding, subtracting, and multiplying functions described above.
  • the shift register can be, for example, SN7474 shift registers manufactured by Motorola or Texas Instruments; LSI Logic also makes shift registers that can perform the above-described functions.
  • the math processor as noted above, can be any known device (e.g., logical adders, subtractors, multipliers or dividers) capable of carrying out the function required by the wavelet transform.
  • hi Figs. 2-4 hardware multipliers are shown to perform the halving or doubling functions described above (or any other mathematical multiplication function required of a wavelet transform equation).
  • adjacent math processors can be hardwired so that the output from the first math processor (e.g., math processor 212) is wired to the second math processor (e.g., math processor 216) such that the input to the second math processor is shifted by one decimal place, thereby halving or doubling (depending upon which direction the decimal place is moved, as is well-known) the value output from the first math processor.
  • first math processor e.g., math processor 212
  • math processor 216 e.g., math processor 216

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The present invention is a method and system for mapping the flow data that will be the subject of wavelet transform equations to a system comprising adders, subtractors, multipliers and/or dividers to perform the mathematical functions set forth in the particular wavelet transform. A shift register is utilized to continually flow the individual data bytes of the data file being processed through the system. By mapping these hardware components to perform the computations involved in wavelet transform equations, an entire data file (e.g., a digital image) can be processed serially as it flows through the shift register triggered by a clock pulse to the shift register. This eliminates the need for process computers and storage for conducting the multiple read-process-write steps required of prior art wavelet transform processors.

Description

CONTINUOUS TRANSFORM METHOD FOR WAVELETS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of prior filed U.S. provisional Application No. 60/333,393, filed on November 6, 2001, incorporated fully herein by reference.
BACKGROUND OF THE INVENTION
Field of the Invention
[0002] The present invention relates generally to systems and methods for processing digital data. In particular, it pertains to a system and method for perfoπning continuous computation of wavelet transforms and can be applied to compression of individual gray scale and color images and key-frame video, for example.
Description of the Related Art
[0003] The need for reliable and efficient image processing has increased dramatically, particularly in the area of transmission of video, television signals, and other large-size data files. While wide-band Internet connections make it easier to transmit such information over a network, it is still a goal of developers to reduce the amount of bandwidth required to reliably conduct such transmissions. [0004] One method of simplifying image processing is to use data compression techniques. Well-known examples of data compression techniques include Joint Photography Experts Group (JPEG) and Motion Picture Experts Group (MPEG) compression. These methods of encoding and decoding realtime video data, wliile better than their predecessors, are generally not capable of sufficient bandwidth reduction or are susceptible to excessive data loss in a noisy environment.
[0005] JPEG 2000 is an improvement over the JPEG compression method described above. JPEG 2000 compression makes use of the well-known concept of wavelet transforms to perform the compression. Wavelet transforms, described simply, involve the algorithmic transformation of an image into multiple frequency bands, with each frequency band containing the image at a quarter resolution of the original image, in varying degrees of image quality. As the band progresses from a low frequency to a high frequency, the image quality increases. Since the lowest frequency band is generally the most important band for visual sensitivity, the lowest frequency band is typically the first band transmitted, and the highest frequency band will typically be transmitted last. In this way, if only the lowest frequency band is received, the major features of the image will be visible even though the details contained in the higher frequency band are unavailable. [0006] There are numerous wavelet transforms for transforming image data to handle image processing/compression, each of which, in their basic form, comprise a formula or series of formulas to which the image data is applied. Many examples and explanations of wavelet transforms can be found in patents and in the literature. See, for example, U.S. Patent No. 6,178,269 to Acharya, U.S. Patent No. 6,125,210 to Yang, Marcellin et al., "An Overview of JPEG-2000," Proc. Of IEEE Data Compression Conference, pp. 523-541 (2000); and Sadowsky, J., "Investigation of Signal Characteristics Using the Continuous Wavelet Transform," Johns Hopkins APL Technical Digest, Vol. 17, No. 3 (1996), each of which are incorporated fully herein by reference. [0007] One example of a well-known wavelet transform is the "integer 5-3" wavelet transform. The 5-3 wavelet transform has very low complexity, provides the best lossless compression, and exhibits a minimum of ringing when quantized. The formula for the 5- 3 wavelet transform is as follows:
(Ct + C2) x - - Ci (C3 + C4) x -) - C5
2) where Ci is the value of the first byte in a 5-byte sequence, C is the value of the second byte in the 5-byte sequence, C3 is the value of the third byte in the 5-byte sequence, C4 is the value of the fourth byte in the 5-byte sequence, and C5 is the value of the fifth byte in the 5-byte sequence. The first five bytes of a data sequence are processed using this algorithm, then another byte is moved in (and the first byte is moved out) so that the byte that originally occupied the first-byte position is bumped out, the byte that originally occupied the second-byte position is bumped up to the first-byte position, etc. [0008] This process continues until all of the bytes of the image or data file being compressed have been subjected to the algorithm. As each five-byte sequence is processed according to the algorithm, and a transformed version of the first byte in the five-byte sequence is output for display or storage. Once all of the bytes have been processed, a transformed version of the entire image exists. [0009] Many other wavelet transforms are known, each with their own benefits and drawbacks. For example, the "Daubechies 9-7" wavelet transform is another popular algorithm that provides high performance at low bit rates, but with a substantial increase in complexity. Instead of processing the data 5 bits at a time, as is done with the 5-3 wavelet transform, 9 bits are processed at a time in the 9-7 wavelet transform. Both filters provide for multi-resolution extraction and are responsible for much of the substantial quality improvement in JPEG 2000 over the original JPEG. [0010] Although the data being compressed and decompressed using JPEG and JPEG 2000 consists of a series of individual data bytes (e.g., each data byte representing a single pixel in a graphic image), prior art systems process this data in blocks or sub- blocks, primarily because they typically use a Discrete Cosine Transform (DCT) to perform a digital transform, and a DCT requires that the data be processed in blocks. These data blocks, e.g., an 8 x 8 pixel sub-block taken from a larger 800 x 600 pixel block foπning an entire image, are processed by a computer which computes the wavelet transform using the wavelet transform formula for each sub-block. Since wavelet transforms comprise a sequence of mathematical computations being performed on each byte of data, numerous read, process, and store operations must be performed for each byte, requiring significant processing power and storage capability. This process is repeated for each byte of each sub-block until the processed image data for the entire block (and thus the entire image) is stored in memory. Once the entire block has been processed it can then be utilized for its intended purpose. While this functions fairly well, the prior art method is inefficient and costly. The prior art method requires computers and/or digital signal processors (DSPs) and thus requires significant computing power to perform the algorithm, store the data, and save/display the data. [0011] Accordingly, it would be desirable to have a simpler method for computing wavelet transforms on data that does not require the significant computing power of the prior art.
SUMMARY OF THE INVENTION
[0012] The present invention is a method and system for mapping the flow data that will be the subject of wavelet transform equations to a system comprising adders, subtractors, multipliers and/or dividers to perform the mathematical functions set forth in the particular wavelet transform. A shift register is utilized to continually flow the individual data bytes of the data file being processed through the system. By mapping these hardware components to perform the computations involved in wavelet transform equations, an entire data file (e.g., a digital image) can be processed serially as it flows through the shift register triggered by a clock pulse to the shift register. This eliminates the need for process computers and storage for conducting the multiple read-process- write steps required of prior art wavelet transform processors.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 illustrates a system of the prior art for processing and computing wavelet transforms;
[0014] Figures 2 and 3 illustrate a first embodiment of the present invention relative to a
5-3 wavelet transform; and
[0015] Figure 4 illustrates a system for computing a 5-4 wavelet transform on data. DETAILED DESCRIPTION
[0016] Figure 1 illustrates a system of the prior art for processing and computing wavelet transforms. Referring to Figure 1, a system 100 comprises a processor 102 and a memory 104. Image data is input into the processor 102 and is divided into sub-blocks of data using known processing techniques. The bytes of data making up the sub-blocks are then subjected to wavelet transform algorithms. Specifically, the first sequence of data bytes needed for the particular wavelet transform are identified, and the first mathematical operation of the wavelet transform is performed, and the result stored in memory 104. Then the next mathematical operation of the wavelet transform is performed, and that result is also stored in memory 104. Each mathematical operation set forth in the wavelet transform is performed in this manner until the wavelet transform equation has been performed to its final result for the first sequence of data bytes. [0017] Once all of the mathematical functions of the wavelet transform equation have been performed on the first sequence of data bytes, the next data-byte sequence is obtained (e.g., by moving the first byte in the first sequence out of consideration, moving each remaining byte up one position in the sequence, and inserting the next byte at the end of the sequence), and the process repeats on the new data-byte sequence. This process continues until the sub-block has been processed; then the next sub-block is processed identically, until the entire block has been processed. [0018] As discussed above, the prior art method requires significant computing power, memory, and time. Data is continually being read, processed, and stored (written) to memory. Results from one computation may be required to perform another computation, requiring that the result itself be read and used for the new computation. This constant read-process-write procedure is time-consuming and requires significant computational power and storage capability.
[0019] Figures 2 and 3 illustrate a first embodiment of the present invention relative to a 5-3 wavelet transform. For simplicity, the 5-3 wavelet transform equation is repeated below: (Cι + C2) x - C3 (C3+ C4) x -) - C5
[0020] Referring to Figure 2, a shift register 201, comprising a series of shift register bins 202, 204, 206, 208, and 210 is periodically clocked in a well-known manner so that, with each clock pulse a new 5-byte sample (in this example) is input to the shift register bins. The period of the clock pulse should be of a size sufficient for each of the math processors (described below) to have time to perform their particular process on the data in the shift register and output a result. In Fig. 2, the first five data bytes of a sample are shown in bins 202, 204, 206, 208, and 210, respectively. With each clock pulse a new 5- byte sequence is made available, so that at the first clock pulse, byte one in bin 202 will be "pushed out" of the shift register 201, byte two in bin 204 will be pushed to bin 202; byte three in bin 206 will be pushed to bin 204; byte four in bin 208 will be pushed to bin 206; byte five in bin 210 will be pushed to bin 208; and the next bit in order (byte six) will move into bin 210, as shown in Fig. 3.
[0021] As shown in the example of Figs. 2 and 3, the bytes in each bin are input to math processors 212, 214, 216, 218, and 220. Math processors 212, 214, 216, 218, and 220 can comprise any known device for performing a mathematical function on input data, such as adders, subtractors, multipliers, or dividers or any combinations thereof. Logic devices for performing these and other mathematical functions are very well known and are not discussed further herein, h this example, math processors 212, 214, and 220 are adders and math processors 216 and 218 are subtractors.
[0022] The add/subtract operations performed by the math processors are carried out on the bytes in each bin. More specifically, in Fig. 2, the byte in bin 202 is added to the byte in bin 204 by math processor 212; and the byte in bin 206 is added to the byte in bin 208 by math processor 214. [0023] The output of math processor 212 is shown as being multiplied by V2 (via multiplier 213) prior to being input to math processor 216. Thus, the byte in bin 206 is subtracted, by math processor 216, from one-half of the sum of bytes 202 and 204 that is output from math processor 212 which satisfies an analogous portion of the 5-3 wavelet transform equation.
[0024] Similarly, the sum from math processor 214 is multiplied by V2 (via multiplier
215) and this product is" input to math processor 218. The data byte in bin 210 is then subtracted from this product by math processor 218. Finally, the result of the subtraction process from math processor 216 is added to the result from the subtraction process of math processor 218 by math processor 220, thereby outputting the 5-3 wavelet transform ofthe byte in bin 202.
[0025] Thus, as can be seen, the configuration illustrated in Figures 2 and 3 performs, in serial fashion, byte by byte, the operations of the equation of the 5-3 wavelet transform.
No substantial memory is involved and there is no requirement for computer processors to perform the computation. The computation is done simply, quickly, and inexpensively using the shift register and math processor architecture shown in Figures 2 and 3, and there is no need to divide the data file being processed into sub-blocks.
[0026] Figure 4 illustrates a system for computing a 5-4 wavelet transform on data, which will solve the 5-4 wavelet transform equation:
[C x 2 - ][((Cι + Ci) x 1) - Cι + [((Ca + C .) x ) - Cs]
The process is essentially the same as that of Figure 2, with the exception that an additional stage (math processor 422), and multipliers 405 and 421, are added. Multiplier 405 multiplies the byte in byte bin 206 by two, and multiplier 421 multiplies the output from math processor 220 by one-half. These two products are subjected to a subtraction process by math processor 422 to perform the additional mathematical functions of the 5- 4 wavelet transform equation.
[0027] The hardware components used to perform the above-described functions can be any known hardware components that can perform the adding, subtracting, and multiplying functions described above. The shift register can be, for example, SN7474 shift registers manufactured by Motorola or Texas Instruments; LSI Logic also makes shift registers that can perform the above-described functions. The math processor, as noted above, can be any known device (e.g., logical adders, subtractors, multipliers or dividers) capable of carrying out the function required by the wavelet transform. [0028] hi Figs. 2-4, hardware multipliers are shown to perform the halving or doubling functions described above (or any other mathematical multiplication function required of a wavelet transform equation). As an alternative, in a preferred embodiment, adjacent math processors (e.g., math processor 212 and math processor 216) can be hardwired so that the output from the first math processor (e.g., math processor 212) is wired to the second math processor (e.g., math processor 216) such that the input to the second math processor is shifted by one decimal place, thereby halving or doubling (depending upon which direction the decimal place is moved, as is well-known) the value output from the first math processor. This will reduce the number of hardware elements required and thus reduce cost and size requirements. Any known math processing hardware/method can be used as long as it performs the function required of the equation. [0029] The above-described method can be used to perform the mathematical functions of any wavelet transform equation and it is understood that one of ordinary skill in the art can easily determine the exact mapping needed based on a simple analysis of the particular equation in view of the invention disclosed above and claimed herein. [0030] While there has been described herein the principles of the invention, it is to be understood by those skilled in the art that this description is made only by way of example and not as a limitation to the scope of the invention. Accordingly, it is intended by the appended claims, to cover all modifications of the invention which fall within the true spirit and scope of the invention.

Claims

1. A method for computing the wavelet transform of a plurality of data bytes in a data file, comprising the steps of: identifying all mathematical operations to be performed by the wavelet transform; identifying math processors to perfonn each of said mathematical operations; and mapping said plurality of data bytes to said math processors to perform said mathematical operations on each of said data bytes.
2. The method as set forth in claim 1, wherein said mathematical operations are performed periodically on a subset of said plurality of data bytes input to a shift register, the period being based on a clock pulse, further comprising the steps of: clocking said shift register with said clock pulse, so that upon the occurrence of each clock pulse, a new subset of said plurality of data bytes has said mathematical operations performed thereon.
3. The method as set forth in claim 2, wherein said subset of said plurality of data bytes are in sequential order based on their position in said data file, and wherein said shift register includes a first bin, a second bin, and a last bin, and wherein upon the occurrence of each clock pulse: the data byte in said first bin is removed from said shift register; each remaining data byte in said shift register is moved up in order so that said data byte in said second bind is moved to the first bin in said shift register; and the next data byte, based on the position of said data bytes in said data file, is moved into the last bin of said shift register.
4. The method as set forth in claim 3, wherein said math processors include adders and subtractors.
5. The method as set forth in claim 4, wherein said math processors further comprise means for performing multiplication and division on outputs thereof.
6. The method as set forth in claim 5, wherein said means for perfoiming multiplication and division comprises a multiplier/divider.
7. The method as set forth in claim 5, wherem said means for performing multiplication and division comprises configuring the connections of said multiplied/divided outputs to subsequent math processors to effect said multiplication/division function.
8. A system for computing the wavelet transform of a plurality of data bytes in a data file, comprising: a shift register for receiving a subset of said plurality of data bytes; a plurality of math processors operatively coupled to said shirt register and mapped to perform each mathematical operation of said wavelet transform; and a clock signal coupled to said shift register; whereby upon the occurrence of each clock signal, a new subset of said data bytes is presented to said system for use in computing the wavelet transform, and whereby the number of clock pulses required to perform said computation on each of said plurality of data bytes is equal to the total number of data bytes in said data file.
9. The system of claim 8, wherein said math processors include adders and subtractors.
10. The system of claim 9, wherein said math processors further comprise means for performing multiplication and division on outputs thereof.
11. The system of claim 10, wherein said means for performing multiplication and division comprises a multiplier/divider.
12. The system of claim 11 , wherein said means for performing multiplication and division comprises configuring the connections of said multiplied/divided outputs to subsequent math processors to effect said multiplication/division function.
13. A system for computing the wavelet transform of a plurality of data bytes in a data file, comprising: means for identifying all mathematical operations to be performed by the wavelet transform; means for identifying math processors to perform each of said mathematical operations; and means for mapping said plurality of data bytes to said math processors to perform said mathematical operations on each of said data bytes.
14. The system of claim 13, wherein said mathematical operations are performed periodically on a subset of said plurality of data bytes input to a shift register, the period being based on a clock pulse, said system further comprising: means for clocking said shift register with said clock pulse, so that upon the occurrence of each clock pulse, a new subset of said plurality of data bytes has said mathematical operations performed thereon.
15. The system of claim 14, wherein said subset of said plurality of data bytes are in sequential order based on their position in said data file, and wherein said shift register includes a first bin, a second bin, and a last bin, said system comprising: means for, upon the occurrence of each clock pulse: removing the data byte in said first bin from shift register; moving each remaining data byte in said shift register up in order so that said data byte in said second bin is moved to the first bin in said shift register; and moving the next data byte, based on the position of said data bytes in said data file, into the last bin of said shift register.
16. The system of claim 15, wherein said math processors include adders and subtractors.
17. The system of claim 16, wherein said math processors further comprise means for performing multiplication and division on outputs thereof.
18. The system of claim 17, wherein said means for performing multiplication and division comprises a multiplier/divider.
19. The system of claim 17, wherein said means for performing multiplication and division comprises configuring the connections of said multiplied/divided outputs to subsequent math processors to effect said multiplication/division function.
PCT/US2002/035533 2001-11-06 2002-11-06 Method and systems for computing a wavelet transform WO2003041389A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2002348179A AU2002348179A1 (en) 2001-11-06 2002-11-06 Method and systems for computing a wavelet transform
US10/494,658 US7352906B2 (en) 2001-11-06 2002-11-06 Continuous transform method for wavelets

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33339301P 2001-11-06 2001-11-06
US60/333,393 2001-11-06

Publications (2)

Publication Number Publication Date
WO2003041389A2 true WO2003041389A2 (en) 2003-05-15
WO2003041389A3 WO2003041389A3 (en) 2004-08-05

Family

ID=23302590

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/035533 WO2003041389A2 (en) 2001-11-06 2002-11-06 Method and systems for computing a wavelet transform

Country Status (3)

Country Link
US (1) US7352906B2 (en)
AU (1) AU2002348179A1 (en)
WO (1) WO2003041389A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130091437A1 (en) * 2010-09-03 2013-04-11 Lester F. Ludwig Interactive data visulization utilizing hdtp touchpad hdtp touchscreens, advanced multitouch, or advanced mice

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3754128A (en) * 1971-08-31 1973-08-21 M Corinthios High speed signal processor for vector transformation
JP2736584B2 (en) * 1992-06-30 1998-04-02 花王株式会社 High-speed operation device and method, signal analysis system, and measurement device and method
US6229927B1 (en) * 1994-09-21 2001-05-08 Ricoh Company, Ltd. Reversible embedded wavelet system implementation
US5706220A (en) * 1996-05-14 1998-01-06 Lsi Logic Corporation System and method for implementing the fast wavelet transform
US6182102B1 (en) * 1996-05-14 2001-01-30 Lsi Logic Corporation System and method for implementation of inverse wavelet transforms
US5838377A (en) * 1996-12-20 1998-11-17 Analog Devices, Inc. Video compressed circuit using recursive wavelet filtering
US5984514A (en) * 1996-12-20 1999-11-16 Analog Devices, Inc. Method and apparatus for using minimal and optimal amount of SRAM delay line storage in the calculation of an X Y separable mallat wavelet transform
US6052205A (en) * 1997-02-14 2000-04-18 Ricoh Company, Ltd. Image data encoding/decoding method and apparatus configured to compress both natural gray scale images and binary images
US6459816B2 (en) * 1997-05-08 2002-10-01 Ricoh Company, Ltd. Image processing system for compressing image data including binary image data and continuous tone image data by a sub-band transform method with a high-compression rate
US6275619B1 (en) * 1997-08-29 2001-08-14 Teralogic, Inc. System and method for performing wavelet and inverse wavelet transformations of digital data using semi-orthogonal wavelets
AUPO951197A0 (en) * 1997-09-29 1997-10-23 Canon Information Systems Research Australia Pty Ltd A modified discrete wavelet transform for odd length data appropriate for image and video compression applications
US6125210A (en) * 1997-10-24 2000-09-26 Intel Corporation Method and apparatus for two-dimensional wavelet recomposition
US6178269B1 (en) * 1998-08-06 2001-01-23 Intel Corporation Architecture for computing a two-dimensional discrete wavelet transform
US6353634B1 (en) * 1998-12-17 2002-03-05 The United States Of America As Represented By The Secretary Of The Navy Video decoder using bi-orthogonal wavelet coding
DE10008699C1 (en) * 2000-02-24 2001-05-23 Daimler Chrysler Ag Analogue-digital signal conversion method has input signal transformed via linear function with resulting coefficients used for retransformation into digital region via second linear function
US6888970B2 (en) * 2001-01-18 2005-05-03 Lightsurf Technologies, Inc. Wavelet transformation engine

Also Published As

Publication number Publication date
US7352906B2 (en) 2008-04-01
WO2003041389A3 (en) 2004-08-05
AU2002348179A1 (en) 2003-05-19
US20040249875A1 (en) 2004-12-09

Similar Documents

Publication Publication Date Title
KR100331136B1 (en) A computer system performing an inverse cosine transfer function for use with multimedia information
US5859788A (en) Modulated lapped transform method
US6215916B1 (en) Efficient algorithm and architecture for image scaling using discrete wavelet transforms
EP0864135B1 (en) Storage and retrieval of large digital images
CN1146246C (en) Efficient fixed-length block compression and decompression
US7003168B1 (en) Image compression and decompression based on an integer wavelet transform using a lifting scheme and a correction method
RU2093968C1 (en) Method for encoding and decoding images and device which implements said method
Westwater et al. Real-time video compression: techniques and algorithms
CA2190797C (en) High speed digital video decompression
US5872874A (en) Method and apparatus for scaling down images that are provided in a compressed data format
US7526029B2 (en) General purpose compression for video images (RHN)
US5649077A (en) Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
US6327602B1 (en) Inverse discrete cosine transformer in an MPEG decoder
JPH11501420A (en) VLSI circuit structure that implements the JPEG image compression standard
US5754457A (en) Method for performing an inverse cosine transfer function for use with multimedia information
US20100287232A1 (en) Methods and apparatus for efficient distribution of image data
EP0917070A2 (en) Method and apparatus for performing discrete cosine transformation and its inverse
EP0928100B1 (en) Run-length encoding
US6766341B1 (en) Faster transforms using scaled terms
EP3764251B1 (en) Time domain discrete transform computation
US7352906B2 (en) Continuous transform method for wavelets
US7720299B2 (en) Compressed data multiple description transmission and resolution conversion system
US5784011A (en) Multiplier circuit for performing inverse quantization arithmetic
Strobel et al. Approach to efficient storage, retrieval, and browsing of large-scale image databases
WO2000055757A1 (en) A fast multiplierless transform

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 10494658

Country of ref document: US

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP