WO2001040985A2 - Method and apparatus for calculating wavelet transform using variable precision - Google Patents

Method and apparatus for calculating wavelet transform using variable precision Download PDF

Info

Publication number
WO2001040985A2
WO2001040985A2 PCT/US2000/033053 US0033053W WO0140985A2 WO 2001040985 A2 WO2001040985 A2 WO 2001040985A2 US 0033053 W US0033053 W US 0033053W WO 0140985 A2 WO0140985 A2 WO 0140985A2
Authority
WO
WIPO (PCT)
Prior art keywords
wavelet
precision
variable precision
optional post
transformation
Prior art date
Application number
PCT/US2000/033053
Other languages
French (fr)
Other versions
WO2001040985A3 (en
Inventor
Yuri Owechko
David A. Schwarz
Roy Matic
Original Assignee
Hrl Laboratories, Llc
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 Hrl Laboratories, Llc filed Critical Hrl Laboratories, Llc
Priority to AU20634/01A priority Critical patent/AU2063401A/en
Publication of WO2001040985A2 publication Critical patent/WO2001040985A2/en
Publication of WO2001040985A3 publication Critical patent/WO2001040985A3/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

Abstract

A method and apparatus are presented for performing wavelet transforms, post transform processing and inverse wavelet transforms whereby hardware complexity is reduced and processor performance is enhanced by performing said transformations and processing in variable precision arithmetic. Optimal decreases in the operational arithmetic precision of different wavelet scale coefficients, multiplication and weighting operations, and other operations, results in reduced computational complexity, increased speed, and in some cases better signal to noise ratios.

Description

VARIABLE PRECISION WAVELETS FIELD OF THE INVENTION
The invention is generally related to wavelet based analysis and processing techniques. More specifically the invention pertains to variable precision wavelet- based arithmetic operations.
BACKGROUND As interactive mediums such as the Internet and teleconferencing gain popularity, demands on data transmission bandwidth also grow. The growth is currently so explosive that demand may soon exceed capacity. When demand outstrips capacity, data transmission is slowed and transmissions are more prone to error. Obvious solutions include increasing bandwidth capacity or, alternatively, reducing bandwidth demand. Updating existing transmission lines and installing new switching equipment, as a means for increasing capacity, is both costly and time consuming. Reducing bandwidth demand can be inexpensively accomplished by better compression techniques. Compression techniques reduce transmission bandwidth requirements by transmitting fewer bits. The effect of transmitting fewer bits is reduced transmission time and an opportunity to transmit more information in less time.
One problem with state of the art compression and processing technology is manifested in applications where hardware size and processing speed are significant issues, as is the case with many small-scale portable circuits. In such situations, size and speed are critical criteria. Striking the right balance between size and speed is further complicated by the need to limit power consumption. Failure to properly balance these parameters will result in a sub-optimal system. State of the art systems have inseparably coupled speed with circuit complexity, and circuit complexity with size, cost, and power requirements. Since portable units are generally dependent on portable power sources, power consumption must be minimized or the advantages achieved through reductions in apparatus size will be lost with the attachment of oversized power supplies. Furthermore, power consumption generates heat, which can have both long and short-term deleterious effects on micro-circuitry. The need for more effective and efficient data transformation and processing techniques is ongoing, but such improvements must not be performed at the cost of data quality. The post transformation data needs to be both present and distinguishable from noise or other spurious signals. Many of the issues discussed in the foregoing are not unique to data compression but apply to the field of data manipulation and processing as a whole. For instance, optimizing computational complexity and power consumption are desirable in most data processing systems. Thus, artisans are faced with competing goals. First: optimally sparsening data, so as to minimize processing, transmission, and storage requirements without losing critical data, and second: performing the first goal in a manner that is neither too costly nor so complex that slow hardware obviates the advantages of the data sparsening.
A growing body of literature exists regarding wavelet transformation technology concerning both theoretical and practical applications, as surveyed by the following articles, which are herein incorporated by reference:
S. Mallat, "Multifrequency Channel Decompositions of Images and Wavelet Models," IEEE Trans. Acoustics, Speech and Signal Processing, vol. 3 No. 12 Dec. 1989.
S. Mallat, "A Theory for Multiresolution Signal Decomposition: The Wavelet Representation," IEEE Trans, on Pattern Analysis and Machine Intelligence, vol. 11 No. 7, Jul. 1989.
Vetterli et al., "Wavelets and Filter Banks: Theory and Design", IEEE Transactions on Signal Processing, vol. 40, No. 9, Sep. 1992.
Rioul et al., "Fast Algorithms for Discrete and Continuous Wavelet Transforms", IEEE Transactions on Information Theory, vol. 38, No. 2, Mar. 1992.
M. J. Shensa, "Discrete Wavelet Transforms: The Relationship of the a Trous and Mallat Algorithms", Trezieme Colloque Sur Le Traitement Di Signal et des Images, 16 Sep. 1991. Flandrin et al., "Generalized Target Description and Wavelet Decomposition", IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 38, No. 2, Feb. 1990.
SUMMARY OF THE INVENTION
The present invention provides a data manipulation means and apparatus wherein computational complexity is minimized. An embodiment of the present invention provides a method for performing variable precision wavelet transformations and post-transformation processing which includes the steps of providing a data set; performing a wavelet transformation on the data set to produce a plurality of wavelet transform coefficients wherein each coefficient has a response; optionally performing at least one post-transformation data processing step on the plurality of wavelet transform coefficients to produce a plurality of modified wavelet transform coefficients; and performing an inverse wavelet transformation on the plurality of modified wavelet transform coefficients to produce an altered version of the data set provided in step a; and wherein at least one or more of the steps is performed using scale-based variable precision arithmetic.
In another embodiment of the present invention, a method for performing variable precision wavelet transformations and post-transformation processing as described above is presented, wherein the data set provided is a system of linear algebra equations, and wherein at least one post-transformation data processing step includes a data manipulation step including the sub-step of performing a selective sparsening operation on the data set, wherein the sparsening operation criteria is determined by operator or apparatus supplied instructions.
Yet another embodiment of the present invention is an apparatus for performing scale- based variable precision wavelet transformations and post-transformation processing with reduced computational complexity; wherein the wavelet transformations and post-transformation processing are performed in scale based, variable precision arithmetic. Yet another embodiment of the present invention is an apparatus for performing variable precision wavelet transformations and post-transformation processing with reduced computational complexity as described above, wherein the wavelet transformations are performed on any logic device where instantitiated functions with different precisions are used for different scale factors.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1(a) is a block diagram of a wavelet analysis system;
FIG. 1(b) is a block diagram of a wavelet synthesis system;
FIG. 2 is a representation of the decomposition pyramid;
FIG. 3 illustrates the relationship between two consecutive levels of decomposition pyramid; FIG. 4 illustrates how the variable precision arithmetic wavelet transform operates on an image; and
FIG. 5 illustrates the relationship between computational complexity and arithmetic precision.
DETAILED DESCRIPTION
A method and apparatus for variable precision wavelet transformation, post transformation processing, and inverse transformation is described. In the following detailed description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without necessarily being limited to these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
Some portions of the detailed description are presented in terms of a sequence of events and symbolic representations of operations on data bits within an electronic memory. These sequential descriptions and representations are the means used by artisans to most effectively convey the substance of their work to other artisans. The sequential steps are generally those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals by terms such as bits, values, elements, files, and coefficients.
It is to be understood, that all of these, and similar terms, are to be associated with the appropriate physical quantities, and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present disclosure, discussions utilizing terms such as "processing", "calculating", "determining", or "displaying" refer to the action and processes of a computer system, or similar electronic device that manipulates and transforms data represented as physical (electronic) quantities within the system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.
The present invention also relates to apparatus for performing the operations herein disclosed. This apparatus may be specially constructed, as an application specific integrated circuit (ASIC), as a readily reconfigurable device such as a field programmable gate array (FPGA), or a general-purpose computer that has been selectively activated or configured. The processes presented herein are not inherently related to any particular processor, processor component, computer, software, or other apparatus.
GLOSSARY
The following terms are used in the description that follows. A definition has been included for these various terms. However, the definition provided should not be considered limiting to the extent that the terms are known in the art. These definitions are provided to assist in the understanding of the present invention. Adaptive computing system: A broad class of systems that can adapt based on either internal or external instructions. In one embodiment of the present invention such a system may allocate processing load, or throughput priorities, based higher-level system objectives.
ASIC: An acronym for Application-Specific Integrated Circuit. ASICs are generally custom, or quasi-custom, fabricated for a particular application.
Decomposition level: A location in the wavelet decomposition pyramid. The wavelet decomposition pyramid is a pictorial representation of the multiple stages of a wavelet transformation.
FPGA: Field Programmable Gate Array, a broad class of programmable/reprogrammable circuitry. In one embodiment of the present invention the FPGA is a device that optionally allows for real time programming of the computational precision throughout the course of a data processing operation. The precision may be set based on the general expected image type, and empirical data related to which signal components are uninteresting and should deleted. Alternatively the level of precision could be set in real time by a higher order operating system, based on information derived from the signal itself. Another possibility is that a user, optionally at a remote location, could set the precision to enhance certain elements of an output signal that is collected in real time.
Lossless: A data manipulation step wherein, ideally, no data is lost. The wavelet transform in one embodiment of the present invention is lossless. In another embodiment of the present invention present invention the wavelet transform is performed in reduced precision arithmetic, logically there will be some signal loss when the precision is reduced. Such losses do not necessarily render a step lossy for the purposes of the following discussion.
Lossy: A data manipulation operation that results in the loss of data. Often the loss is selective. For instance in one embodiment of the present invention a signal is denoised in a lossy processing step. In another step the precision is reduced for the purpose of sparsening the data. Such a step is said to be lossy.
Maximum usefulness threshold: Beyond the maximum usefulness threshold, additional precision will not materially enhance in the resulting output of the processed data.
Numerical representation: Numerical values can generally be represented as one or more of the following: an integer, non-integer, or an exponent. The non-exponent terms, or mantissa, can take various forms.
Quantization: The intentional sparsening of data, usually performed on the basis of a significance threshold decision. Quantization can take many forms including element deletion, wherein certain elements are completely deleted, or intermediate element value allocation, wherein all elements are made to conform to one of a finite number of values, or element fractalization, wherein multiple components in an area are treated as having identical characteristics.
Variable precision: Wavelets are commonly represented using full precision arithmetic. In the present invention the precision may be optimized using full precision, reduced precision, varying precision, and dynamically varying precision. For the purposes of the present invention variable precision is understood to mean that the precision is allocated using operator or machine specified instructions.
Variable precision arithmetic: In one embodiment of the present invention a wavelet transform is performed in an apparatus wherein the arithmetic precision is programmed into hardware and is variable in time. In another embodiment of the present invention multiple hardware components having varied but fixed precision are employed resulting in a variable degree of precision during the course of the transforms and processing steps. In yet another embodiment a single reduced precision hardware element performs all processing steps in fixed precision. Visual significance allocation: Scales represent data of varying visual significance. Bits are therefore preferentially allocated to more visually significant scales. Visual response is greatest in the presence of narrowly varying features, which are best represented in lower wavelet scales. Conversely the eye is less sensitive to broadly varying components or higher scales. Therefore, the broadly varying components are generally assigned fewer bits. Because of their attenuated visual significance, scales above a predetermined threshold will not be allocated any bits. Alternate data types have alternate significance criteria.
Wavelet filters: The high and low-pass synthesis and analysis filters used in wavelet transform.
Wavelet transform: A transformation with both "frequency" and "time" (or " space") domain constraints. In a described embodiment, it is a transform consisting of a high-pass filter and a low-pass filter, wherein the rows and the columns are filtered and the resulting coefficients are sub-sampled by 2.
One embodiment of the present invention provides a data compression scheme utilizing a variable precision wavelet transform operator, a post transformation processing system (processor), and a variable precision inverse wavelet transform operator. The wavelet transform may be performed in reduced or variable precision. Subsequent post transformation processing may also be performed in reduced or variable precision. The processed data may also be subjected to additional processing, transmission, or storage before the inverse wavelet transform is performed to produce a reconstructed version of the original input data. The reconstructed version may reflect a sparsened or denoised version of the original input data. The input data may comprise a variety of data types, such as image data or more fundamental basis data such as mathematical systems having either unique or non- unique solutions. The variable precision wavelet transform operator and variable precision inverse wavelet transform operators may comprise multiple sub-operators, each performing one or more operations. In one embodiment, each step in the operation is performed using variable precision arithmetic. State of the art wavelet transformation systems perform data processing using full arithmetic precision. In many situations, the level of precision used by the hardware exceeds the maximum usefulness threshold. Beyond the maximum usefulness threshold additional precision can detract from the data processing in two ways. First, it needlessly adds to the computational complexity of the data processor. Second, in some situations additional precision can actually result in inferior data products.
Block diagrams of a wavelet analysis and synthesis are presented in FIG. 1(a) and FIG. 1(b) respectively. It is anticipated that any or all parts of the transform/processing/inverse transform operations can be performed using variable or reduced precision arithmetic. According to one embodiment of the present invention, a wavelet transform system is defined by a bank of finite impulse response (FIR) analysis filters 100a, 102a, 112a, 114a, 116a, 118a, and a bank of FIR synthesis filters, 100b, 102b, 112b, 114b, 116b, 118b. In one embodiment of the present invention, an image may serve as the basis for a signal. However, a linear algebra matrix, system of matrices, or other mathematical system, or data set may also be used as the basis. According to the embodiment shown in FIG. 1(a) and FIG. 1(b), all filters beginning with a G designation are low pass filters while all filters beginning with an H are high pass filters. Thus Gfj(x) 102a, Gι (x) 102b, Gι (y) 114a, G3(y) 114b, G2(y) 118a, and G4(y) 118b are low- pass filters and H0(x) 100a, Hi (x) 100b, Hι (y) 112a, H3(y) 112b, H (y) 116a, and H-}(y) 116b are high-pass filters. Referring to FIG. 1(a), for an input signal, f(x,y), the analysis filters H Q(X) 100 and G()(x) 102 are applied and the resultant outputs are sub-sampled by 2 along the rows 104a and 106a, to generate the transformed data signals fL(x,y) 108 and fjjCx.y) HO, referred to herein as low-passed (smooth) and high-passed (detail) coefficients respectively. The low and high-passed signals may each be subjected to further analysis, wherein both of the transformed signals are again filtered Hi (y) 112a, Gi (y) 114a, H2(y) 116a, and G2(y) 118a and sub-sampled by 2, this time along the columns as illustrated in 120a, 122a, 124a, and 126a resulting in signal functions f[χ(x>y) 128a, f[_H(x >y) 130a, fHL(x >y) 132a, and ff_jfj(x,y) 134a. The analysis filter blocks and their corresponding subsampling blocks form the analysis portion of the wavelet transform system. After the wavelet transform analysis is complete, the signals are either passed on for further filtering, as shown in FIG. 2, or may be subjected to computational manipulation. The computational manipulation block 136 contains all the processing, logic, and routines performed in the transformed domain (e.g., prediction, quantization, element zeroing, coding, etc). Some of the operations may be computationally intensive, and may be performed in one or more processors, some or all of which may use variable or fixed reduced precision arithmetic. One specific quantization operation envisioned is the elimination (setting to zero) of coefficients having small magnitudes, i.e. below a specified threshold. Such components may be eliminated with little or no distinguishable distortion to the reconstructed image. After undergoing computational manipulation, the data may be optionally stored, transmitted, and reconstructed. The reconstruction, or synthesis, follows virtually the same routine followed by the wavelet analysis, except in reverse. The synthesis portion, as shown in FIG. 1(b), allows for a reconstruction of the processed signal. The computational block 136 provides outputs, comprising the manipulated signals, which shall be represented as fLL(x,y) ', fLH(x>y)'> fffl.(x,y)', and f HH^y)' as labeled 128b, 130b, 132b, and 134b, respectively. Said signals are upsampled by 2 along the columns, 120b, 122b, 124b, and 126b. The resultant upsampled data is then submitted to the synthesizing filters from H3(y) 112b, G3(y) 114b, H4(y) 116b, and G4(y) 118b. The data from the synthesizing filters, H3(y) 112b, G3(y) 114b, H4(y) 116b, and G4(y) 118b, are then combined to produce fr (x,y) 108b and fjj (x,y) 110b, and are up-sampled by 2 along the rows 104b and 106b. The signal components and are then passed through the synthesis filters, Hi (x) 100b and Gj(x) 102b. The output of the synthesis filters
Hi (x) 100b and Gi (x) 102b are then combined to produce f(x,y)\ where f(x,y)' is generally not equal to f(x,y), but rather generally reflects a denoised, sparsened, or otherwise processed signal.
The synthesis operation, unlike the analysis operation, will generally be performed using fixed precision arithmetic. The use of variable precision arithmetic, to the extent that the precision is reduced, may result in an undesirably lossy signal transformation. The synthesis operation is generally not intentionally lossy. Therefore, precision will generally be allocated such that essentially no material losses will occur during the reconstruction of f(x,y).
The wavelet transformation, or signal decomposition, described above and illustrated in FIG. 1(a) and FIG. 1(b) was limited to a single pyramid level, the number of levels is variable and is generally optimized for a specific application. In one embodiment of the present invention, an image will serve as the basis for a signal 200, as shown in FIG. 2. The first level of decomposition leads to four different bands of coefficients, refeπed to herein as LLj 210, HL, 212, LH, 214, and HH, 216. The letter designations L and H stand for low and high, respectively, coπesponding to the application of smooth and detail filters respectively. Hence, the LLi 210 band consists of coefficients from the smooth filter in both row and column directions.
Each subblock in a wavelet decomposition can be further decomposed. The most common practice is to only decompose the LLi 210 sub-block further, but the choice of subblock decomposition will vary with application. The decomposition can be done virtually any number of times. FIG 2 depicts a three-level decomposition. Such a multiple decomposition is termed pyramid decomposition. The letter designation LLn, LHn, HLn„ and HHn with subscripted decomposition number n denote each decomposition sub-block and level.
If the reversible wavelet transform is recursively applied to an image or other data, the first level of decomposition operates on the finest detail, or resolution. At a first decomposition level, the image or data is decomposed into four sub-bands, designated LLj 210, LHi 212, HLi 214, and HHj 216. Each sub-band represents a band of spatial frequencies. The process of decomposing the original image involves subsampling by two in both horizontal and vertical dimensions, such that the first level subbands LLj 210, HLi 212, LHi 214, and HH} 216 each have one-fourth as many coefficients as the input has pixels (or coefficients) of the image, as shown in 200.
Subband LLi 210 contains simultaneously low frequency horizontal and low frequency vertical information. Typically a large portion of the image or data energy is concentrated in this subband. Subband LHi 214 contains low frequency horizontal and high frequency vertical information (e.g., horizontal edge information). Subband HLi 212 contains high frequency horizontal information and low frequency vertical information (e.g., vertical edge information). Subband HHi 216 contains high frequency horizontal information and high frequency vertical information (e.g., texture or diagonal edge information).
Decomposing the low frequency LL subband of the preceding level n-1 produces each of the succeeding decomposition levels n. Thus, sub-band LLi 210 of the first level is decomposed to produce subbands LL 220, LH 222, HL2 224, and HH2 226 of the moderate detail second level. Similarly, subband LL2 is decomposed to produce coarse detail subbands LL3, LH3, HL3 and HH3 of the third level, as shown in 260.
Due to subsampling by 2, each second level subband is one-sixteenth the size of the original image. Each sample at this level represents moderate detail in the original image at the same location. Similarly, each third level subband is 1/64 the size of the original image. Each sample at this level corresponds to relatively coarse detail in the original image at the same location.
Since the decomposed images contain less data than the original image due to subsampling, the same memory used to store the original image signal can be used to store all of the decomposed subbands. In other words, the original image and decomposed subbands LLj 210 and LL2 220 are discarded and are not stored in a three level decomposition. Although only three subband decomposition levels are shown, fewer or additional levels may be developed depending on the specific application.
There is a single LL subblock coπesponding to the last level of decomposition but there are as many LH, HL, and HH bands as number of levels. There is a natural and useful tree structure to wavelet coefficients in a pyramidal decomposition. The tree structure defines the parent of a coefficient in a frequency band to be a coefficient in a same frequency band at a lower resolution and related to the same spatial locality. The parental relationship between two consecutive levels is shown in FIG. 3. Noise in images generally comes in two forms. First is random noise, which generally is not predictably recurrent. Secondis fixed pattern noise, which can be caused by many factors, including the difference in offset and gain between the detector elements.
In one embodiment of the present invention, a variable precision arithmetic -based wavelet transform is used to selectively remove the low frequency fixed pattern noise by zeroing out resolution levels coπesponding to the lowest spatial frequencies. The remaining portions of the transformed image are subjected to a global or local thresholding scheme whereby random noise is effectively squelched.
Allocating different arithmetic precisions to operations (such as addition and multiplication) for different wavelet scale factors leads to reduced hardware computational complexity. In the area of non-uniformity coπection for infrared (IR) imaging sensors, significant increases in performance ( as measured by peak signal to noise ratio (PSNR)) are observable by allocating different precisions to different scale factors.
The collection of a typical noisy signal is presented in FIG. 4. The signal is presented as a relief map as shown in FIG. 4(a), which could, for example, coπespond to an IR image. Within the signal is an object of interest, indicated as a perturbation in the relief map shown in FIG. 4(a). The signal is then transformed into wavelet space, processed, and inversely transformed using variable precision arithmetic as described above. The resultant denoised, sparsened signal is depicted in FIG 4b. The quality of the signal is generally comparable, or superior, to that resulting from products using conventional full precision arithmetic. The relationship between signal to noise ratio and precision can be both complex and situation dependent. The functional interdependence between the peak signal to noise ratio and the arithmetic precision may vary with wavelet scales. The peak signal to noise ratio does not necessarily monotonically increase with precision, nor does an increase in precision of one bit result in equal improvements in different scale factors. Thus the artisan will appreciate that varying the precision between scale factors can effectively reduce computational complexity while optimizing peak signal to noise ratios. FIG. 5(a) shows how the signal to noise ratio varies as a function of computational complexity. Based on the drawings, an artisan will appreciate that beyond a certain point, further increases in precision do not result in any improvement in the peak signal to noise ratio. Furthermore, and notably for example, at points 500, 502, and 504 increasing precision did not result in any peak signal to noise ratio improvement despite additional computational complexity. FIG 5(b) shows a magnified portion of 5(a) , illustrating the surprising and counter-intuitive result that small, but significant, increases in peak signal to noise ratio can be achieved by using less precision.
Hardware implementation of wavelet transform-based processing can exploit variable precision arithmetic through a variety of means. In the case where throughput needs require dedicating hardware to each wavelet scale (level), the specific arithmetic operators (adder, multiplier, etc.) for each scale can be designed for the specific required precision. In this case, a circuit component such as an antifuse FPGA may be used. The antifuse FPGA is distinguished from other classes of FPGAs in that it is only programmed once. Conversely, if the throughput requirements are such that the same hardware is to be used to compute each wavelet scale (level), then variable precision versions of the arithmetic operators (adder, multiplier, etc.) may be used. Methods to accomplish this include using hardware that can perform serial - serial arithmetic, parallel serial arithmetic, digital serial - digital serial arithmetic, parallel - digital serial arithmetic, and online arithmetic. All of these operations can be performed serially in time and can directly trade time for precision. Reconfigurable computing systems using programmable logic devices like SRAM -based FPGAs allow for low cost implementation of these systems. In some situations, it may be desirable to dynamically reconfigure the programmable logic device with optimum arithmetic precision for each scale factor.
In situations where signal statistics vary over time, as with an image where scenery changes, the optimal allocation of precision to the arithmetic operations for the wavelet scale varies. Well-known adaptive techniques may be used to modify the precision of the arithmetic for adaptively changing emphasized signal content. Using either serial or reconfigurable techniques, adaptive computing systems may be built that can allocate processing load, or throughput priorities, based higher-level system objectives.

Claims

1. A method for performing variable precision wavelet transformations and optional post-transformation processing including the steps of: a. providing a data set; b. performing a wavelet transformation on the data set to produce a plurality of wavelet transform coefficients wherein each coefficient has a response; c. optionally performing at least one optional post-transformation data processing step on the plurality of wavelet transform coefficients to produce a plurality of modified wavelet transform coefficients; and d. performing an inverse wavelet transformation on the plurality of modified wavelet transform coefficients to produce an altered version of the data set provided in step a; wherein at least one of steps b to d is performed using scale based variable precision arithmetic.
2. A method for performing variable precision wavelet transformations and optional post-transformation processing as set forth in Claim 1, wherein the data set provided in step a is an image including a plurality of elements wherein a portion of the plurality of elements are non-significant elements, and wherein the optional post-transformation data processing step is an operation including the steps of setting the non-significant elements of the wavelet transform coefficients to zero to selectively rid the image of elements which comprise non-significant elements and noise.
3. A method for performing variable precision wavelet transformations and optional post-transformation processing as set forth in Claim 1 , wherein the data set provided in step a is an image including a plurality of elements wherein a portion of the plurality of elements are non-significant, some nonsignificant elements may be defined a priori, for such elements no wavelet transform coefficients are computed.
4. A method for performing variable precision wavelet transformations and optional post-transformation processing as set forth in Claim 1 , wherein the data set provided in step a is an image including a plurality of elements, and wherein the post-transform processing step further includes sparsening the data by selectively eliminating non-significant wavelet transform coefficients.
5. A method for performing variable precision wavelet transformations and optional post-transformation processing as set forth in Claim 1 , wherein the data set as provided in step a comprises a system of linear algebraic equations, and wherein at least one optional post-transformation data processing step includes a data manipulation step including the sub-steps of performing a selective sparsening operation on the data set, wherein the sparsening operation criteria is determined by operator or apparatus supplied instructions.
6. An apparatus for performing scale based variable precision wavelet transformations and optional post-transformation processing with reduced computational complexity; wherein the wavelet transformations and optional post-transformation processing are performed in scale based, variable precision arithmetic.
7. An apparatus for performing scale based variable precision wavelet transformations and optional post-transformation processing with reduced computational complexity as set forth in Claim 6, wherein the apparatus is a dynamically reconfigurable logic device, which is configured for each scale factor of the wavelet transform.
8. An apparatus for performing scale based variable precision wavelet transformations and optional post-transformation processing with reduced computational complexity as set forth in Claim 6, wherein the wavelet transformations are performed on a device capable of varying precision using wavelet coefficient scale factors as a means of allocating precision and implementing the variable precision arithmetic operations using iterative or serial methods.
9. An apparatus for performing variable precision wavelet transformations and optional post-transformation processing with reduced computational complexity as set forth in Claim 6, wherein the wavelet transformations are performed on any logic device where instantitiated functions with different precisions are used for different scale factors.
10. An apparatus for performing variable precision wavelet transformations and optional post-transformation processing with reduced computational complexity as set forth in Claim 7, wherein the configurable and reconfigurable devices are field programmable gate aπays.
1 1. An apparatus for performing variable precision wavelet transformations and optional post-transformation processing with reduced computational complexity as set forth in Claim 7, wherein the configurable devices are application specific integrated circuits.
12. An apparatus for performing variable precision wavelet transformations and optional post-transformation processing with reduced computational complexity as set forth in Claim 7, wherein the configurable and reconfigurable devices are selected from the group consisting of field programmable gate aπays and application specific integrated circuits.
PCT/US2000/033053 1999-12-06 2000-12-05 Method and apparatus for calculating wavelet transform using variable precision WO2001040985A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU20634/01A AU2063401A (en) 1999-12-06 2000-12-05 Variable precision wavelets

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44503299A 1999-12-06 1999-12-06
US09/445,032 1999-12-06

Publications (2)

Publication Number Publication Date
WO2001040985A2 true WO2001040985A2 (en) 2001-06-07
WO2001040985A3 WO2001040985A3 (en) 2002-02-14

Family

ID=23767357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/033053 WO2001040985A2 (en) 1999-12-06 2000-12-05 Method and apparatus for calculating wavelet transform using variable precision

Country Status (2)

Country Link
AU (1) AU2063401A (en)
WO (1) WO2001040985A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487193B2 (en) 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US7689052B2 (en) 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms
US7773671B2 (en) 2001-09-18 2010-08-10 Microsoft Corporation Block transform and quantization for image and video coding

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942289B2 (en) 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CHOI H ET AL: "Optimal wordlength assignment for the discrete wavelet transform in VLSI" VLSI SIGNAL PROCESSING, VI (CAT. NO.93TH0533-0), PROCEEDINGS OF IEEE WORKSHOP ON VLSI SIGNAL PROCESSING, VELDHOVEN, NETHERLANDS, 20-22 OCT. 1993, pages 325-333, XP002173947 1993, New York, NY, USA, IEEE, USA ISBN: 0-7803-0996-0 *
GRZESZCZAK A ET AL: "VLSI implementation of discrete wavelet transform" IEEE TRANS. VERY LARGE SCALE INTEGR. (VLSI) SYST. (USA), IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, DEC. 1996, IEEE, USA, vol. 4, no. 4, pages 421-433, XP002173951 ISSN: 1063-8210 *
JO YEW THAM ET AL: "Highly scalable wavelet-based video codec for very low bit-rate environment" IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, JAN. 1998, IEEE, USA, vol. 16, no. 1, pages 12-27, XP002173950 ISSN: 0733-8716 *
LOUIE M E ET AL: "Multiplication and inner product with field programmable gate arrays" VLSI SIGNAL PROCESSING VII (CAT. NO.94TH8008), PROCEEDINGS OF 1994 IEEE WORKSHOP ON VLSI SIGNAL PROCESSING, LA JOLLA, CA, USA, 26-28 OCT. 1994, pages 246-255, XP002173949 1994, New York, NY, USA, IEEE, USA ISBN: 0-7803-2123-5 *
USEVITCH B E ET AL: "Fixed-point error analysis of two-channel perfect reconstruction filter banks with perfect alias cancellation" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: ANALOG AND DIGITAL SIGNAL PROCESSING, NOV. 1999, IEEE, USA, vol. 46, no. 11, pages 1437-1440, XP002173952 ISSN: 1057-7130 *
ZANDI A ET AL: "CREW: Compression with Reversible Embedded Wavelets" PROCEEDINGS. DCC '95 DATA COMPRESSION CONFERENCE (CAT. NO.95TH8037), PROCEEDINGS DCC '95 DATA COMPRESSION CONFERENCE, SNOWBIRD, UT, USA, 28-30 MARCH 1995, pages 212-221, XP002173948 1995, Los Alamitos, CA, USA, IEEE Comput. Soc. Press, USA ISBN: 0-8186-7012-6 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7773671B2 (en) 2001-09-18 2010-08-10 Microsoft Corporation Block transform and quantization for image and video coding
US7839928B2 (en) 2001-09-18 2010-11-23 Microsoft Corporation Block transform and quantization for image and video coding
US7881371B2 (en) 2001-09-18 2011-02-01 Microsoft Corporation Block transform and quantization for image and video coding
US7487193B2 (en) 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US7689052B2 (en) 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms

Also Published As

Publication number Publication date
AU2063401A (en) 2001-06-12
WO2001040985A3 (en) 2002-02-14

Similar Documents

Publication Publication Date Title
US5867602A (en) Reversible wavelet transform and embedded codestream manipulation
JP3436832B2 (en) Wavelet transform filter
US6249614B1 (en) Video compression and decompression using dynamic quantization and/or encoding
Oraintara et al. Integer fast Fourier transform
US5710835A (en) Storage and retrieval of large digital images
US6195465B1 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US7068849B2 (en) Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US6643406B1 (en) Method and apparatus for performing linear filtering in wavelet based domain
JP3302229B2 (en) Encoding method, encoding / decoding method and decoding method
Ranganath Image filtering using multiresolution representations
Kim et al. Lossless and lossy image compression using biorthogonal wavelet transforms with multiplierless operations
Motra et al. An efficient hardware implementation of DWT and IDWT
CN1197026C (en) Parallel reversely dispersed small wave change
WO2001040985A2 (en) Method and apparatus for calculating wavelet transform using variable precision
Benkrid et al. Design and implementation of a generic 2-D biorthogonal discrete wavelet transform on an FPGA
US6961472B1 (en) Method of inverse quantized signal samples of an image during image decompression
US6748118B1 (en) Method of quantizing signal samples of an image during same
US8204924B1 (en) Variable precision wavelets
Rafi Lone et al. Multiplier-less architecture for 4-tap Daubechies wavelet filters using algebraic integers
Choe et al. Merged Arithmetic for computing wavelet transforms
Moreira‐Tamayo et al. Subband coding and image compression using cnn
Albanesi Thresholding wavelets for image compression
GB2302244A (en) Wavelet transform filter
Kong et al. Image coding based on energy-sorted wavelet packets
Kim et al. FPGA implementation of subband image encoder using discrete wavelet transform

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI 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 PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA 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 ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN 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)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI 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 PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

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

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

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

Ref country code: JP

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)