WO1991018361A1 - Method and apparatus for encoding and decoding using wavelet-packets - Google Patents

Method and apparatus for encoding and decoding using wavelet-packets Download PDF

Info

Publication number
WO1991018361A1
WO1991018361A1 PCT/US1991/003504 US9103504W WO9118361A1 WO 1991018361 A1 WO1991018361 A1 WO 1991018361A1 US 9103504 W US9103504 W US 9103504W WO 9118361 A1 WO9118361 A1 WO 9118361A1
Authority
WO
WIPO (PCT)
Prior art keywords
wavelet
processed values
input signal
encoded signals
dilations
Prior art date
Application number
PCT/US1991/003504
Other languages
French (fr)
Inventor
Ronald Coifman
Yves Meyer
Mladen V. Wickerhauser
Original Assignee
Yale 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 Yale University filed Critical Yale University
Priority to JP91514408A priority Critical patent/JPH05507598A/en
Priority to CA002083158A priority patent/CA2083158C/en
Publication of WO1991018361A1 publication Critical patent/WO1991018361A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Definitions

  • This invention relates to a method and apparatus for encoding and decoding signals which may represent any continuous or discrete values.
  • transient feature This analysis can be achieved by correlating the signal to all windowed exponentials and checking for large correlations. Unfortunately, due to lack of independence, information obtained can be redundant and inefficient for feature reconstruction purposes.
  • the present invention involves, in part, the use of a library of modulated wavelet-packets which are effective in providing both precise frequency localization and space localization.
  • An aspect of the invention involves feature extraction by determination of the correlations of a library of waveforms with the signal being processed, while maintaining orthogonality of the set of waveforms selected (i.e. a selected advantageous basis ) .
  • a method for encoding and decoding an input signal
  • wavelets are zero mean value orthogonal basis functions which are non-zero over a limited extent and are used to transform an operator by their application to the operator in a finite number of scales
  • non-zero values may be treated as zero if they are known not to affect the desired accuracy of the solution to a problem.
  • a single averaging wavelet of unity mean is permitted. Reference can be made, for example, to: A. Haar, Zur Theorie der
  • the wavelet has a plurality of vanishing moments.
  • the stepof applying combinations of dilations and translations of the wavelet to the input signal to obtain processed values comprises correlating said combinations of dilations and translations of the wavelet with the input signal.
  • the step of applying wavelet-packets to the input signal to obtain processed values includes: generating a tree of processed values, the tree having successive levels obtained by applying to the input signal, for a given level, wavelet-packets which are
  • the step of selecting an orthogonal group of processed values includes generating encoded signals which represent said processed values in conjunction with their respective locations in said tree.
  • Fig. 1 is a block diagram of an apparatus in accordance with an embodiment of the invention, and which can be used to practice the method of the invention.
  • Fig. 2 is a diagram illustrating Haar functions
  • Fig. 3 illustrates a tree of nodes.
  • Fig.s 4A, 4B and 4C illustrate examples of possible
  • Fig. 5 illustrates a wavelet having two vanishing moments.
  • Fig.s 6-13 illustrates examples of wavelet-packets.
  • Fig. 14 illustrates an example of how information cost can be computed.
  • Fig.s 15A and 15B illustrate a procedure for reconstruction in accordance with an embodiment of the invention.
  • Fig. 16 shows a flow diagram which is suitable for
  • Fig. 17 is a flow diagram of a routine for generating processed values from the sampled signal using a wavelet-packet basis.
  • Fig. 18 is a flow diagram of a routine for computing
  • Fig. 19 is a routine for selecting an advantageous or best orthogonal basis.
  • Fig. 20 is a flow diagram of a routine for generating output encoded words.
  • Fig. 21 is a flow diagram of the decoder routine for
  • Fig. 22 is a further portion of the routine for
  • FIG. 1 there is shown a block diagram of an apparatus in accordance with an embodiment of the invention for encoding and decoding an input signal which can be any continuous or discrete signal or sequence of numbers representing values in one or more dimensions (e.g. audio, still or moving pictures, atmospheric measurement data, etc.) and which, for purposes of illustration, can be considered as an audio signal x(t).
  • the signal is coupled to an analog-to-digital
  • converter 102 which produces signal samples x 1 , x 2 , x 3 ..., a sequence of which can be envisioned as a vector x.
  • the digital samples are coupled to an encoder processor 105 which, when programmed in the manner to be described, can be used to
  • the processor 105 may be any suitable processor, for example an electronic digital or analog processor or microprocessor. It will be understood that any general purpose or special purpose processor, or other machine or circuitry that can perform the computations described herein, electronically, optically, or by other means, can be utilized.
  • the processor 105 which for purposes of the particular described embodiments hereof can be considered as the processor or CPU of a general purpose electronic digital
  • a computer such as a SUN-3/50 Computer sold by Sun Microsystems, will typically include memories 125, clock and timing circuitry 130, input/output functions 135 and display functions 140, which may all be of conventional types.
  • a compressed output signal x c is produced which is an encoded version of the input signal, but which requires less bandwidth.
  • the encoded signals x c are shown as being coupled to a transmitter 140 for transmission over a communications medium (air, cable, fiber optical link, microwave link, etc.) 150 to a receiver 160.
  • the encoded signals are also illustrated as being coupled to a storage medium 142, which may alternatively be part of the processor subsystem 105, and are also illustrated as being manipulated such as by
  • the matrix M wp can obtain be obtained using the wavelet-packet best basis selection hereof (see also Appendix V).
  • the signal itself may, of course, also be in the form of a matrix (i.e., a collection of vectors).
  • the stored and/or manipulated signals can be decoded by the same processor subsystem 105. (suitably programmed, as will be described) or other decoding means.
  • Processor 175 is employed, when suitably programmed as described, to decode the received encoded signal x c , and to produce an output digital signal x 1 ' , x 2 ' , x 3 ' ..., (or vector x) which is a representation of the input digital signal, and which can be converted, such as by digital-to-analog
  • Haar basis A well known wavelet basis, which has a single vanishing moment, as defined hereinbelow, is the Haar basis [see, for example, A. Haar, Zur Theorie Der Orthogonalen
  • the first group of relationships, (1) [the top eight waveforms in Fig. 2], are Haar functions, and are orthogonal.
  • the last group of relationships, (3) [the bottom eight waveforms in Fig. 2], are the first eight of the well known Walsh functions. As is known in the art, the Walsh functions are orthogonal and complete, and can be advantageously used to transform and subsequently
  • sd 1 is the sum of d 1 and d 2 , and is not orthogonal to d 1 or to d 2 .
  • level 1 has two nodes (labelled, from left to right, 1 and 2)
  • level 2 has four nodes (labelled, from left to right, 1-4)
  • level 3 has eight nodes (labelled, from left to right, 1-8).
  • a level k would have 2 nodes.
  • the "positions" of the functions (or members) within a node are also numbered, from left to right, as illustrated in node 1 of level 1 (only).
  • the nodes of level 1 each have four positions, the nodes of the level 2 each have two positions, and the nodes of level 3 each have one position.
  • each "parent" node has two "child” nodes, the members of the children being derived from those of the parent.
  • node 1 of level 2 and node 2 of level 2 are both children of node 1 of level 1. This follows from the relationships (2) set forth above.
  • the members of node 1, level 2 are derived from sums of members of node 1, level 1, and the members of node 2, level 2 (ds 1 and ds 2 ) are derived from differences of members, of node 1, level 1.
  • a complete set of functions (that is, a set or "basis" which permits reconstruction of the original signal samples) is obtained from the tree, permitting selection of nodes from any level.
  • the selection is made in a manner which minimizes the information cost of the basis; i.e., the selected basis can be represented with a minimum bandwidth requirement or minimum number of bits for a given quality of information conveyed.
  • Orthogonality of the selected basis is maintained by following the rule that no ancestor (parent, grandparent, etc.) of a selected node is used. [Conversely, no descendant (child, grandchild, etc.) of a selected node is used.] For the
  • Figs. 4A-4D simplified tree of Fig. 3, there are twenty five possible orthogonal basis selections. Using shaded boxes to indicate the nodes selected for a given basis, four examples of possible orthogonal bases are shown in Figs. 4A-4D. If desired a basis which is the best level basis could alternatively be determined and used.
  • advantageous wavelet-packets are generated using wavelets having a plurality of vanishing moments and, preferably, several vanishing moments.
  • wavelets having a plurality of vanishing moments and, preferably, several vanishing moments.
  • the wavelet illustrated in Fig. 5 has two vanishing moments.
  • L is the number of coefficients.
  • the procedure for applying this wavelet is similar to that for the Haar wavelet, but groups of four elements are utilized and are multiplied by the h coefficients and the g coefficients to obtain the respective terms of opposing polarity.
  • the previously illustrated levels of sum and difference terms are obtained using the h and g coefficients, respectively.
  • the "sum" correlation terms for the first level are computed as follows:
  • d 1 g 1 x 1 + g 2 x 2 + g 3 x 3 + g 4 x 4
  • d k/2 g 1 x k-1 + g 2 x k + g 3 x k+1 + g 4 x k+2
  • the four sets of second level sum and difference correlation terms can then be computed from the first level values as follows :
  • ss 1 h 1 s 1 + h 2 s 2 + h 3 s 3 + h 4 s 4
  • ss 2 h 1 s 3 + h 2 s 4 + h 3 s 5 + h 4 s 6
  • ss k/4 h 1 s k/2-1 + h 2sk/2 + h 3 s k/2+,1 + h 4 s k/2+2
  • ds 1 g 1 s 1 + g 2 s 2 + g 3 s 3 + g 4 s 4
  • ds 2 g 1 s 3 + g 2 s 4 + g 3 s 5 + g 4 s 6
  • ds 3 g 1 s 5 + g 2 s 6 + g 3 s 7 + g 4 s 8
  • dd 2 g 1 d 3 + g 2 d 4 + g 3 d 5 + g 4 d 6
  • dd 3 g 1 d 5 + g 2 d 6 + g 3 d 7 + g 4 d 8
  • dd k/4 g 1 d k/2-1 + g 2 d k/2 + g 3 d k/2+1 + g 4 d k/2+2
  • the correlations can be implemented by generating wavelet-packets a priori (using the indicated coefficients, for this example), and then individually correlating wavelet-packets with the signal using analog (e.g. electronic or optical means), digital, or any suitable technique. If desired, a special purpose network could be used to perform the correlations.
  • Fig.s 6-10 show the first five wavelet-packets synthesized for sample length 1024, using a wavelet with six coefficients (six h's and six g's), and Fig.s 11-13 illustrate three of the higher frequency wavelet-packets.
  • the basis is selected in a manner which minimizes information cost.
  • information cost can be computed.
  • Fig. 14 shows a parent node and its two children nodes. As a measure of information, one can compute the number N of
  • weighting of coefficients can also be used. For example, if it is known or computed that certain values should be filtered, emphasized, or ignored, weighting can be appropriately applied for this purpose.
  • Fig. 15A illustrates a procedure for reconstruction which can be utilized at the decoder processor.
  • the shaded boxes indicate the nodes defining the orthogonal basis that was
  • node 1 level 2 is reconstructed from node 1, level 3 and node 2, level 3.
  • node 1, level 1 is then reconstructed from node 1, level 2 and node 2, level 2, and so on.
  • Fig. 15B shows children nodes containing sy 1 , sy 2 ,...sy n and dY 1 , dy 2 ,...dY n being mapped into their parent node to obtain the reconstructed y 1 , y 2 ,... Y 2n .
  • the decoding relationships will be as follows:
  • y 1 h 1 sy 1 + h 3 sy 0 + g 1 dy 1 + g 3 dy 0
  • y 3 h 1 sy 2 + h 3 sy 1 + g 1 dY 2 + g 3 dy 1
  • y 2n+1 h 1 sy n+1 + h 3 sy n + g 1 dy n+1 + g 3 dy n
  • y 2 h 2 sy 1 + h 4 sy 0 + g 2 dy 1 + g 4 dy 0
  • y 4 h 2 sy 2 + h 4 sy 1 + g 2 dy 2 + g 4 dy 1
  • y 2k h 2 sy n + h 4 sy n-1 + g 2 dy n + g 4 dy n-1
  • the values mapped into the parent mode are accumulated and, as in the encoder, extra values at the end positions (e.g. at y 0 above) ca n be handled by "wrap-around", truncation, or other known means of handling end conditions.
  • FIG. 16 there is shown a flow diagram which, when taken together with the further flow diagrams referred to therein, is suitable for controlling the processor to implement an embodiment of the encoding apparatus and method in accordance with the invention.
  • the block 1610 represents the generating of processed values by correlating wavelet-packets with the input signal samples. There are various ways in which this can be achieved, the routine of Fig. 17 describing an implementation of the present embodiment.
  • the block 1620 represents the routine, described further in conjunction with Fig. 18, for computing the information costs of the processed values. As described further hereinbelow, there are various ways of computing the measure or cost of information contained in the processed values.
  • a thresholding procedure is utilized, and information cost is determined by the number of values which exceed a particular threshold.
  • the block 1630 represents the routine of Fig. 19 for selection of an advantageous orthogonal basis from among the processed values, the selection of the basis being dependent on the computed information costs.
  • the block 1640 represents compiling encoded frames from the selected processed values which constitute the basis, such as for
  • FIG. 17 there is shown a flow diagram of a routine for generating the processed values from the sampled signal, or signal portion, using a wavelet-packet basis.
  • the block 1710 represents the reading in of the selected coefficients h i ,g i .
  • the block 1720 is then entered, this block representing the initializing of a level index at 0, the initializing of a node index at 1, and the initializing of a position index at 1.
  • the sample data, considered as level 0 is then read in, as represented by the block 1725.
  • the sample data may consist, for example, of 256 sequential samples of an acoustical signal to be compressed and transmitted.
  • the level index is then
  • s 1 will be computed for the first position of the first node of level 1. If the wavelet employed is representable by a filter having four coefficients, as in the example above, s 1 will be computed as the sum of h 1 x 1 , h 2 x 2 , h 3 x 3 , h 4 x 4 . If a wavelet of more vanishing moments is used, more coefficients will be employed. In general, it will be preferable to utilize a wavelet having several coefficients, greater than four, the above examples being set forth for ease of
  • loop 1748 inquiry is made (diamond 1740) as to whether the last position of the current node has been reached. If not, the position index is incremented (block 1745), and the block 1735 is re-entered for computation of the next processed value of the current node and level. The loop 1748 is then continued until all processed values have been computed for the current node, whereupon inquiry is made (diamond 1750) as to whether the last node of the current level has been reached. If not, the node index is incremented (block 1755) and the loop 1760 is continued until the processed values have been computed for all nodes of the current level. For the first level, there will be only two nodes, with the values thereof being computed in accordance with the relationships (4) and (5) set forth above.
  • diamond 1770 is entered, and inquiry is made as to whether the last level has been processed. If not, the block 1730 is re-entered, to increment the level index, and the loop 1780 is continued until processed values have been obtained for the nodes at all levels of the tree.
  • the block 1810 represents initializing the level index to the highest level (e.g., the last level in the illustration of Fig. 3).
  • the node index and the position index are initialized at 1 (blocks 1815 and 1820).
  • a node content count which is used in the present embodiment to keep track of the number of processed values in a node that exceed a predetermined threshold, is initialized at zero, as represented by the block 1825.
  • Inquiry is then made (diamond 1830) as to whether the value at the current position is less than a predetermined threshold value.
  • the node content count is incremented (block 1835), and the diamond 1840 is entered. If, however, the processed value at the current position is less than the threshold value, the diamond 1840 is entered directly. [At this point, the processed value could be set to zero prior to entry of diamond 1840 from the "yes" output branch of diamond 1830, but it is more efficient to handle this later.] Inquiry is then made (diamond 1840) as to whether the last position of the node has been reached. If not, the position index is incremented (block 1850), diamond 1830 is re-entered, and the loop 1855 is continued until all processed values of the current node have been considered.
  • the node content count is stored for the current node (of the current level), as represented by the block 1860. Inquiry is then made (diamond 1865) as to whether the last node of the level has been processed. If not, the block 1870 is entered, the node index is incremented, the block 1820 is re-entered, and the loop 1875 is continued until all nodes of the current level have been considered. Inquiry is then made (diamond 1880) as to whether the current level is the highest level. If so, there is no higher level against which comparison of parent-to-children node comparisons can be made.
  • the level index is incremented (block 1885), block 1815 is re-entered, and the procedure just described is repeated to obtain and store node content counts for each node of the next-to-highest level.
  • the inquiry of diamond 1880 will be answered in the negative, and the next routine (Fig. 19) will be operative to compare the level (which has just been processed to compute information cost of each node) with the children nodes of the previously processed higher level.
  • the level index is initialized (block 1905) to the highest level less one, and all nodes on the highest level are marked "kept".
  • the node index is initialized (block 1910) and the node content count of the current node of the current level is compared (block 1920) to the sum of the node content counts of the two nodes which are children of the current node.
  • the count for the current node is compared to the sum of the counts for nodes N 2i-1 and N 2i of level L j+1 .
  • Inquiry is then made (diamond 1950) as to whether the last node of the current level has been reached. If not, the node index is incremented (block 1955), block 1920 is re-entered, and the loop 1958 is continued until all nodes at the current level have been considered. Inquiry is then made (diamond 1960) as to whether the current level is level 1. If not, the level index is
  • FIG. 20 there is shown a flow diagram of a routine for generating output encoded words which, in the
  • a frame which represents the encoded form of the data x 1 , x 2 , x 3 ... x n .
  • the frame may represent a particular number of acoustical samples, for example 256 samples.
  • the frame may represent a frame of video, portion thereof, or transformed frequency components thereof.
  • the number of encoded words in a frame will generally vary as the information being encoded varies, and will also generally depend upon the level of the threshold employed, if a threshold is employed as in the present embodiment.
  • Fig. 20 illustrates an embodiment of a routine for generating a frame of words for the basis that was selected using the routines of Fig.s 18 and 19.
  • a tree location index will be calculated which points to nodes in the tree in depth-first order (or so-called
  • pre-order As is well known in the art.
  • the tree location index is initialized to 1 at level 0, node 1 (block 2010).
  • Inquiry is made (diamond 2015) as to whether the node at that tree location is market "kept", and, if not, diamond 2020 is entered directly, and inquiry is made as to whether the entire tree has been examined, as indicated by the tree location index. If the entire tree has been searched, block 2080 is entered and a "frame complete” indication can be generated. If not, then loop 2011 is continued until a node marked "kept” is encountered, or until the entire tree has been searched. If a node marked "kept” is encountered, block 2030 is entered, and the tree location index of this "kept" node is recorded in memory; suppose for example that it is called "X”. The position index in the node is initialized (block 2035). Inquiry is then made (diamond 2040) as to whether the value at the current position is above the
  • block 2045 is entered, this block representing the generation of a word which includes the current level, node, and position, and the value at the position.
  • the block 2050 is then entered, this block
  • a specific number of bits can be used for each of the level, node, position, and value.
  • words could be of different length, e.g. depending on information content or entropy, with suitable delineation between words, as is known in the art.
  • all words in a particular node could be encoded with a single indication of level and node, with individual indications of position-value pairs. Inquiry is next made (diamond 2070), as to whether the last node location in the tree in depth-first order has been reached. If not, the tree location index is incremented (block 2070), and inquiry is made as to whether the new node is a descendant of "X", by a
  • FIG. 21 there is shown a flow diagram of the decoder routine for processing frames of words
  • the block 2110 represents the reading in of the next frame.
  • the frames of words are read into a buffer (e.g. associated with decoder processor subsystem 170 of Fig. 1), and the individual words processed sequentially by placement into appropriate addresses (which can be visualized as the selected basis nodes of a tree - as in Fig. 4), from which reconstruction is
  • next word of the frame is read (block 2115), and a determination is made as to whether the node and level of the word is occurring for the first time (diamond 2117). If so the node (and its level) is added to the list of nodes (block 2118). The value indicated in the word is stored (block 2120) at a memory location indicated by the level, node, and position specified in the word.
  • the values in the nodes on the list are utilized to implement reconstruction as in the diagram of Fig.s 15A and 15B, with parent nodes being reconstructed from children nodes until the level zero information has been reconstructed.
  • the parent node is added to the list of nodes, so that it will be used for subsequent reconstruction. This part of the procedure begins by initializing to the first node on the list (block 2210).
  • the block 2215 represents going to the memory location of the node and initializing to the first position in the node.
  • diamond 2220 Inquiry is then made (diamond 2220) as to whether there is a non-zero value at the position. If not, diamond 2240 is entered directly. If so, the value at the position is mapped into the positions of the parent node, with accumulation, as described above in conjunction with
  • Inquiry is then made (diamond 2240) as to whether the last position of the node has been reached. If not, the next position in the node is considered (block 2245), diamond 2220 is re-entered, and the loop 2250 continues until all positions in the node have been considered. It will be
  • a marker or vector can be used to indicate strings of blank positions in a node, or to point only to occupied positions, so that a relatively sparse node will be efficiently processed.
  • U.S. Patent Application Serial No. 525,974 When the last position of the node has been considered, the node is removed from the list of nodes, as represented by block 2255, and inquiry is made (diamond 2260) as to whether the parent node is at level 0. If so, diamond 2270 is entered directly. If, however, the parent node is not at level 0, the parent node is added to the list of nodes (block 2265).
  • Inquiry is then made (diamond 2270) as to whether the last node on the list has been reached. If not, the next node on the list is considered (block 2275), block 2215 is re-entered, and the loop 2280 is continued until processing is complete and the reconstructed values have been obtained. The decoder output values can then be read out (block 2290).
  • Appendix V More complicated tree structures, such as where a node has more than two children (e.g. Appendices II and V) can also be utilized.
  • the wavelet upon which the wavelet-packets are based can be changed as different parts of a signal are processed.
  • the samples can be processed as sliding windows instead of segments.
  • W 2n+1 (x -l) ⁇ 2 ⁇ g j- 2l
  • W n (2x - j) F 1 ⁇ W n (2x - j) ⁇ (l)
  • W n (2x - j) is viewed as a sequence in j for (x, n) fixed.
  • F 0 ( ⁇ k )(i) ⁇ i
  • W n (2 l x - k)2 l/2 form an o.n basis of W 2l l-5 and
  • W 1 epm ⁇ W 0 (x 1 -k 1 )W 1 (x 2 -k 2 ),W 1 (x 1 -k 1 )W 0 (x 2 -k 2 ),W 1 (x 1 -k 1 )W 1 (x 2 -k 2 ) ⁇
  • the basic 2-dimensional "library'” consists of all functions obtained as tensor products of the one dimensional library i.e., j1+j2) Wn1 (2 j1 x 1 - k 1 )W n2 (2 j2 x 2 - k 2 ).
  • Aperiodic filters and bases in I 2 Consider first the construction of bases on I 2 .
  • Orthogonality is easily shown by transposition.
  • f j (k) is a real number, and each is unitarily equivalent to multiplication by
  • lm j l 2 has integral 1, and the Fourier coefficient (lm j l 2 )(lp) vanishes if ⁇ This is equivalent to the average of
  • the subspaces WTM form a p-axy tree. Every node WTM is a parent with p daughters p n The root of the tree is the original space I 2 , which we may label for consistency. Call the whole tree W.
  • the tree contains other orthogonal bases of In fact, it forms a library of bases which may be adapted to classes of functions.
  • the tree structure allows the library to be searched efficiently for the extremum of any additive functional.
  • a graph to be any subset of the nodes of W with the property that the union of the associated subtrees is disjoint and contains a complete level for some m.
  • Every graph corresponds to a decomposition of I 2 into a finite direct sum.
  • Every graph is a finite set, of cardinality no more than p m for the m in the definition. Fix a graph, and suppose that are subspaces corresponding to two nodes. Without loss, suppose that m 1 ⁇ m 2 . Then is contained in a
  • a node contains the sum of its daughters. By induction, it contains the sum of all of the nodes in its subtree. Hence a graph contains the sum of all the subspaces at some level in. But this sum is II-4 all of l 2 . ⁇
  • w be a function defined by where m 0 is the analytic
  • the coordinates are coefficients with respect to an orthonormal basis of
  • the resulting subspaces of L 2 (R) form a finer type of multiresolution decomposition than that of Mallat [Ma].
  • the coordinates are rapidly computable. They contain a mixture of location and frequency information about x.
  • n is not monotonic with frequency, because our construction yields wave packets in the so- called Paley (natural, or p-adic) ordering.
  • Paley naturally, or p-adic ordering.
  • the following results show how to permute n ⁇ n' into a frequency-based ordering.
  • n ⁇ n' is a permutation of the integers.
  • Such m j may be approximated in L 2 (- ⁇ , ⁇ ) as closely as
  • is a permutation of the set ⁇ 0, . . . ,p - 1 ⁇ in the second variable.
  • map n' ⁇ n and its inverse n ⁇ n' are permutations of the integers. It is not hard to see that these are permutations of order 2 if p happens to be odd. Otherwise they have infinite order, as may be seen by considering an increasing sequence of integers n' all of which have only odd digits in radix p. ⁇
  • Periodic filters and bases for R d Periodic filters and bases for R d .
  • the reduction modulo d is intentionally emphasized. These operators satisfy conditions similar to those of aperiodic filters:
  • I d is the identity on R d .
  • Equation (4) may be recursively applied to the p subspaces R d/p by using additional filter families.
  • R d ⁇ R gives the component in the u n direction.
  • n n 1 + ...+ n m p m-1 ...p 1 indexes a composition of m filters.
  • the tree will II-8 be nonhomogeneous in general, although all nodes i levels from the root will have the same number p i of daughters. Define a nonhomogeneous graph as a finite union of nodes whose associated subtrees form a disjoint cover of some level m ⁇ L. A graph theorem holds for this tree of subspaces as well. It and its corollary may be stated as follows:
  • Every nonhomogeneous graph corresponds to an orthogonal decomposition of R d . ⁇
  • a summable sequence f is a smooth filter (of rank p) if there is a nonzero solution ⁇ in L 1 (R) ⁇ L 2 (R) n C ⁇ (R) to the functional equation
  • a filter will be said to have smoothness degree r if it satisfies this definition with C ⁇ replaced by C r .
  • Wave packets Define wave packets over I 2 in the usual way.
  • P ⁇ p i ⁇
  • Q ⁇ q i ⁇ of quadrature mirror filters (QMFs) satisfying the orthogonality and decay conditions stated in [CW], there is a unique solution to the functional equation
  • Basis subsets Define a basis subset ⁇ of the set of indices ⁇ (n, m, k) ⁇ Z 3 ⁇ to be any subcollection with the property that ⁇ w nmk : (n, m , k) ⁇ ⁇ is a Hilbert basis for L 2 (R).
  • basis subsets in [W1]. Abusing notation, we shall also refer to the collection of wave packets ⁇ w nmk : (n, m, k) ⁇ ⁇ as a basis subset.
  • W(X), w Y ⁇ W(Y) ⁇ is dense in the space of Hilbert-Schmidt operators.
  • ⁇ C Z 6 a III-2 basis subset if the collection ⁇ w nXmXkX w nYmYkY : (n X ,m X ,k X ,n Y ,m Y ,k Y ) ⁇ ⁇ forms a Hilbert basis.
  • Such two-dimensional basis subsets are characterized in [W2],
  • Wave packets w nmk can be totally ordered. We say that w ⁇ w' if (m,n,k) ⁇ (m',n',k'). The triplets are compared lexicographically, counting the scale parameter m as most significant.
  • J ⁇ is an isomorphism of L 2 (R) onto l 2 ( ⁇ ), which is defined to be the square summable sequences of W 1 whose indices belong to ⁇ .
  • W 2 It is an orthogonal projection on any finite subset of W 2 .
  • Operation counts transforming a vector.
  • M is a non-sparse operator of rank r.
  • Ordinary multiplication of a vector by M takes at least O(r 2 ) operations, with the minimum achievable only by representing M as a matrix with respect to the bases of its r-dimensional domain and range.
  • Operation counts composing two operators.
  • M and N are rank-r- operators.
  • Standard multiplication of N and M has complexity O(r 3 ).
  • the complexity of injecting N and M into W 2 is O(r 2 [logr] 2 ).
  • the action of on J 2 M has complexity O( ⁇ nm k #
  • the second factor is a constant rlogr, while the first when summed over all nmk is exactly
  • the first factor is r 2 in general, the complexity of the exact algorithm is O ⁇ r z log r) for generic matrices, reflecting the extra cost of conjugating into the basis set ⁇ .
  • the complexity is r
  • this can be reduced by a suitable choice of ⁇ to a complexity of O(r 2 [log r] 2 ) for the complete algorithm. Since choosing ⁇ and evaluating each have this complexity, it is not possible to do any better by this method.
  • ⁇ 2 is characterized by the Shannon equation which is a version of Pythagoras' theorem.
  • H 1 has two decompositions in H i or K j .
  • and v 1 PH 1 v
  • P and Q are called quadrature mirror filters if they satisfy an orthogonality condition:
  • P, Q are quadrature mirror filters if and only if the matrix below is unitary for all ⁇ :
  • the space l 2 (Z 2 ) of pictures may be decomposed into a partially ordered set W of subspaces W ⁇ n X , n Y , m X , m Y ), where m X ⁇ 0, m Y ⁇ 0, 0 ⁇ n X ⁇ 2 m X . and 0 ⁇ n Y ⁇ 2 m Y .
  • W(0,0,0) I 2
  • W ⁇ W' if there is a finite sequence V 1 ,...,V n of subspaces in W such that W ⁇ W. This is well defined, since each application of G*G increases at least one of the indices m X or m Y .
  • m Y m X
  • W' G*GW for G ⁇ ⁇ F 0 ,F 1 ,F 2 ,F 3 ,P X ,P Y ,Q X ,Q Y ⁇ , or
  • W - ⁇ W if there is a finite sequence V 0 ,...,V n of subspaces in W with W W'.
  • V 0 a finite sequence of subspaces in W with W W'.
  • the right hand side contains all the children of W, divided into the groups "F.” "X.” and "Y.” Each labelled group of children provides a one-step orthogonal decomposition of W. and in general we will have three subsets of the children to choose from. V-5
  • w nm k be a one-dimensional wave packet at sequency n, scale ra and position k, in the notation of Appensix II. Then the element in the (k X ,k Y ) position of the subspace W(n X ,n Y ,m X ,m Y ), at the index (x,y), may be written as w nX,mX,kX (x)w nY,mY,kY (y), which is evidently the tensor product of two one-dimensional wave packets.
  • H(S) denote the entropy of the picture S in the best basis found above. This quantity will be found attributed to node W(0, 0, 0, 0) at the end of the search. It is related to the classical Shannon entropy H 0 by the equation
  • H 0 (S)

Abstract

The disclosure involves the use of a library of modulated wavelet-packets which are effective in providing both precise frequency localization and space localization. An aspect of the disclosure involves feature extraction by determination of the correlations of a library of waveforms with the signal being processed, while maintaining orthogonality of the set of waveforms selected (i.e. a selected advantageous basis). In a disclosed embodiment, a method is provided for encoding and decoding an input signal, comprising the following steps (80): applying combinations of dilations and translations of a wavelet to the input signal to obtain processed values (1610); computing the information costs of the processed values (1620); selecting, as encoded signals, an orthogonal group of processed values, the selection being dependent on the computed information costs (1630); and decoding the encoded signals to obtain an output signal (1640). The wavelet preferably has a plurality of vanishing moments.

Description

Description
METHOD AND APPARATUS FOR ENCODING AND DECODING USING WAVELET-PACKETS
FIELD OF THE INVENTION
This invention relates to a method and apparatus for encoding and decoding signals which may represent any continuous or discrete values.
BACKGROUND OF THE INVENTION
It is well established that various types of signals can be efficiently encoded and subsequently decoded in a manner which substantially reduces the size of the information required (e.g. number of bits, bandwidth, or memory) without undue or noticeable degradation of the decoded signal. Examples are the types of audio and video bandwidth compression schemes that are currently in widespread use.
In signal analysis, it is often useful to recognize the appearance of characteristic frequencies, but this knowledge generally has to be coupled with the location of the time (or space) interval giving rise to the frequency. Such questions can usually be tackled by use of the windowed Fourier transform, with different size windows corresponding to the scale of the
transient feature. This analysis can be achieved by correlating the signal to all windowed exponentials and checking for large correlations. Unfortunately, due to lack of independence, information obtained can be redundant and inefficient for feature reconstruction purposes.
is among the objects of the present invention to provide an improved encoding and decoding method and apparatus which overcores limitations of prior art techniques and provides improved and more efficient operation.
SUMMARY OF THE INVENTION
The present invention involves, in part, the use of a library of modulated wavelet-packets which are effective in providing both precise frequency localization and space localization. An aspect of the invention involves feature extraction by determination of the correlations of a library of waveforms with the signal being processed, while maintaining orthogonality of the set of waveforms selected (i.e. a selected advantageous basis ) .
In accordance with an embodiment of the invention, a method is provided for encoding and decoding an input signal,
comprising the following steps: applying combinations of dilations and translations of a wavelet to the input signal to obtain processed values; computing the information costs of the processed values; selecting, as encoded signals, an orthogonal group of processed values, the selection being dependent on the computed information costs; and decoding the encoded signals to obtain an output signal. As used herein, wavelets are zero mean value orthogonal basis functions which are non-zero over a limited extent and are used to transform an operator by their application to the operator in a finite number of scales
(dilations) and positions (translations) to obtain transform coefficients. [In the computational context, very small
non-zero values may be treated as zero if they are known not to affect the desired accuracy of the solution to a problem.] A single averaging wavelet of unity mean is permitted. Reference can be made, for example, to: A. Haar, Zur Theorie der
Orthogonalen Functionsysteme, Math Annal. 69 (1910); K.G.
Beauchamp, Walsh Functions And Their Applications, Academic Press (1975); I. Daubechies, Orthonormal Bases of Compactly Supported Wavelets, Comm. Pure Appl. Math XL1 (1988).
In a preferred embodiment of the invention, the wavelet has a plurality of vanishing moments. In this embodiment, the stepof applying combinations of dilations and translations of the wavelet to the input signal to obtain processed values comprises correlating said combinations of dilations and translations of the wavelet with the input signal. The combinations of
dilations and translations of the wavelet are designated as wavelet-packets, and in a disclosed embodiment the step of applying wavelet-packets to the input signal to obtain processed values includes: generating a tree of processed values, the tree having successive levels obtained by applying to the input signal, for a given level, wavelet-packets which are
combinations of the wavelet-packets applied at a previous level. Also in a disclosed embodiment, the steps of computing
information costs and selecting an orthogonal group of processed values includes performing said computing at a number of
different levels of said tree, and performing said selecting from among the different levels of the tree to obtain an
orthogonal group having a minimal information cost (the "best basis"). Also in this embodiment, the step of selecting an orthogonal group of processed values includes generating encoded signals which represent said processed values in conjunction with their respective locations in said tree.
Further features and advantages of the invention will become more readily apparent from the following detailed
description when taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of an apparatus in accordance with an embodiment of the invention, and which can be used to practice the method of the invention.
Fig. 2 is a diagram illustrating Haar functions and
combinations of dilations and translations of such functions.
Fig. 3 illustrates a tree of nodes.
Fig.s 4A, 4B and 4C illustrate examples of possible
orthogonal bases.
Fig. 5 illustrates a wavelet having two vanishing moments.
Fig.s 6-13 illustrates examples of wavelet-packets.
Fig. 14 illustrates an example of how information cost can be computed.
Fig.s 15A and 15B illustrate a procedure for reconstruction in accordance with an embodiment of the invention.
Fig. 16 shows a flow diagram which is suitable for
controlling the encoder processor to implement an embodiment of the encoding apparatus and method in accordance with the invention.
Fig. 17 is a flow diagram of a routine for generating processed values from the sampled signal using a wavelet-packet basis.
Fig. 18 is a flow diagram of a routine for computing
information cost.
Fig. 19 is a routine for selecting an advantageous or best orthogonal basis.
Fig. 20 is a flow diagram of a routine for generating output encoded words.
Fig. 21 is a flow diagram of the decoder routine for
processing frames of words and reconstructing the orthogonal basis indicated by the words of a frame.
Fig. 22 is a further portion of the routine for
reconstruction in the decoder.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring to Fig. 1, there is shown a block diagram of an apparatus in accordance with an embodiment of the invention for encoding and decoding an input signal which can be any continuous or discrete signal or sequence of numbers representing values in one or more dimensions (e.g. audio, still or moving pictures, atmospheric measurement data, etc.) and which, for purposes of illustration, can be considered as an audio signal x(t). At the encoder 100 the signal is coupled to an analog-to-digital
converter 102, which produces signal samples x1, x2, x3..., a sequence of which can be envisioned as a vector x. The digital samples are coupled to an encoder processor 105 which, when programmed in the manner to be described, can be used to
implement an embodiment of the invention and to practice an embodiment of the method of the invention. The processor 105 may be any suitable processor, for example an electronic digital or analog processor or microprocessor. It will be understood that any general purpose or special purpose processor, or other machine or circuitry that can perform the computations described herein, electronically, optically, or by other means, can be utilized. The processor 105, which for purposes of the particular described embodiments hereof can be considered as the processor or CPU of a general purpose electronic digital
computer, such as a SUN-3/50 Computer sold by Sun Microsystems, will typically include memories 125, clock and timing circuitry 130, input/output functions 135 and display functions 140, which may all be of conventional types.
With the processor appropriately programmed, as described hereinbelow, a compressed output signal xc is produced which is an encoded version of the input signal, but which requires less bandwidth. In the illustration of Fig. 1, the encoded signals xc are shown as being coupled to a transmitter 140 for transmission over a communications medium (air, cable, fiber optical link, microwave link, etc.) 150 to a receiver 160. The encoded signals are also illustrated as being coupled to a storage medium 142, which may alternatively be part of the processor subsystem 105, and are also illustrated as being manipulated such as by
multiplication by a sparse matrix Mwp, as described in the U.S. Patent Application Serial No. 525,974. [See also Appendix III.] The matrix Mwp can obtain be obtained using the wavelet-packet best basis selection hereof (see also Appendix V). The signal itself may, of course, also be in the form of a matrix (i.e., a collection of vectors). The stored and/or manipulated signals can be decoded by the same processor subsystem 105. (suitably programmed, as will be described) or other decoding means.
In the illustrated embodiment, another processor 175, which is shown as being similar to the processor 105, also includes memories 225, clock and timing circuitry 230, input/output
functions 235, and display functions 240, which may again be of conventional types. Processor 175 is employed, when suitably programmed as described, to decode the received encoded signal xc, and to produce an output digital signal x1 ', x2 ', x3 '..., (or vector x) which is a representation of the input digital signal, and which can be converted, such as by digital-to-analog
converter 195, to obtain an analog representation x (t) of the original input signal x(t). As will become understood, the accuracy of the representation will depend upon the encoding process and the degree of bandwidth compression. Before describing the underlying theory of the invention, it is noted that reference can be made to Appendices I-V, appended hereto, for supplemental description of the theoretical
foundations and further approaches.
A well known wavelet basis, which has a single vanishing moment, as defined hereinbelow, is the Haar basis [see, for example, A. Haar, Zur Theorie Der Orthogonalen
Funktionensysteme, Math Annal. 69, 1910, and Appendix I of the abovereferenced U.S. Patent Application Serial No. 525,974].
Consider the Haar basis as applied to a simplified case of eight samples x1, x2... x8. For uniform amplitudes, and ignoring normalizing coefficients (which are multiples of 1/√2 for Haar wavelets), a set of waveforms can be developed from combinations of Haar wavelets, as illustrated in Fig. 2 and in accordance with the following relationships:
s1 = x1 + x2
s2 = x3 + x4
s3 = x5 + x6
s4 = x7 + x8
d1 = x1 - x2 (1)
d4 = x3 - x4
d3 = x5 - x6
d4 = x7 - x8 ss1 = s1 + s2
ss1 = s3 + s4
ss1 = s1 - s2
ss1 = s3 - s4
ss1 = d1 + d2 (2)
sd2 = d3 + d4
dd1 = d1 - d2
dd2 = d3 - d4 sss1 = ss1 + ss2
dss1 = ss1 - ss2
sds1 = ds1 + ds2
dds1 = ds1 - ds2 ssd1 = sd1 + sd2 ( 3 )
dsd1 = sd1 - sd2
sdd1 = dd1 + dd2
ddd1 = dd1 - dd2
The first group of relationships, (1) [the top eight waveforms in Fig. 2], are Haar functions, and are orthogonal. The last group of relationships, (3) [the bottom eight waveforms in Fig. 2], are the first eight of the well known Walsh functions. As is known in the art, the Walsh functions are orthogonal and complete, and can be advantageously used to transform and subsequently
back-transform certain types of signals to achieve, inter alia, signal compression. It can be observed, however, that the set of the entire twenty-four functions of Fig. 2 is not orthogonal, which follows from the fact that some of the functions are derived from combinations of other functions. For example, sd1 is the sum of d1 and d2, and is not orthogonal to d1 or to d2.
The sums and differences of relationships (1)-(3) are arranged in a tree of "nodes" in Fig. 3. Four "levels" are shown, level 0 being the sample data, and levels 1, 2 and 3 respectively corresponding to the groups of relationships (1), (2) and (3) above. The boxes ("nodes") at each level contain respective sum and difference terms, and are connected by
branches to the nodes from which they are derived. It is seen that level 1 has two nodes (labelled, from left to right, 1 and 2), level 2 has four nodes (labelled, from left to right, 1-4), and level 3 has eight nodes (labelled, from left to right, 1-8). It follows that a level k would have 2 nodes. The "positions" of the functions (or members) within a node are also numbered, from left to right, as illustrated in node 1 of level 1 (only). The nodes of level 1 each have four positions, the nodes of the level 2 each have two positions, and the nodes of level 3 each have one position. It is seen that each "parent" node has two "child" nodes, the members of the children being derived from those of the parent. Thus, for example, node 1 of level 2 and node 2 of level 2 are both children of node 1 of level 1. This follows from the relationships (2) set forth above. In
particular, the members of node 1, level 2 (ss1 and ss2) are derived from sums of members of node 1, level 1, and the members of node 2, level 2 (ds1 and ds2) are derived from differences of members, of node 1, level 1.
In accordance with an aspect of the present invention, a complete set of functions (that is, a set or "basis" which permits reconstruction of the original signal samples) is obtained from the tree, permitting selection of nodes from any level. The selection is made in a manner which minimizes the information cost of the basis; i.e., the selected basis can be represented with a minimum bandwidth requirement or minimum number of bits for a given quality of information conveyed.
Orthogonality of the selected basis is maintained by following the rule that no ancestor (parent, grandparent, etc.) of a selected node is used. [Conversely, no descendant (child, grandchild, etc.) of a selected node is used.] For the
simplified tree of Fig. 3, there are twenty five possible orthogonal basis selections. Using shaded boxes to indicate the nodes selected for a given basis, four examples of possible orthogonal bases are shown in Figs. 4A-4D. If desired a basis which is the best level basis could alternatively be determined and used.
The Haar wavelet system, and wavelet-packets derived therefrom, has been used so far for ease of explanation. In accordance with an aspect of the present invention, advantageous wavelet-packets are generated using wavelets having a plurality of vanishing moments and, preferably, several vanishing moments. For description of the types of wavelets from which these wavelet-packets can be derived, reference can be made to I.
Daubechies, Orthonormal Bases of Compactly Supported Wavelets, Comm. Pure, Applied Math, XL1, 1988; Y. Meyer Principe
d'Incertitude, Bases Hilbertiennes et Algebres d'Operateurs, Seminaire Bourbaki, 1985-86, 662, Asterisque (Societe'
Mathematique de France); S. Mallat, Review of Multifrequency Channel Decomposition of Images and Wavelet Models, Technical Report 412, Robotics Report 178, NYU (1988), and the
abovereferenced U.S. Patent Application Serial No. 525,974.
The wavelet illustrated in Fig. 5 has two vanishing moments. As used herein, the number of vanishing moments, for a wavelet Ψ(x) is determined by the highest integer n for which lψ(x) xkdx = 0
where 0≤k≤n-1, and this is known as the vanishing moments
condition. Using this convention, the Haar wavelet has 1
vanishing moment, and the wavelet of Fig. 5 has 2 vanishing moments. [It is generally advantageous to utilize wavelets having as many vanishing moments as is practical, it being understood that the computational burden increases as the number of vanishing moments (and coefficients) increases. Accordingly, a trade-off exists which will generally lead to use of a moderate number of vanishing moments.] The wavelet of Fig. 5 has
coefficients as follows (see e.g. Daubechies, supra):
h1 = (1 + / /
h2 = ( 3 +
h3 = ( 3 - h4 = ( 1 -
Figure imgf000011_0002
g1 = h4
g2 = -h3
g3 = h2
g4 = -h1
The vanishing moments condition, written in terms of
defining coefficients, would be the following:
where
Figure imgf000011_0001
and L is the number of coefficients.
The procedure for applying this wavelet is similar to that for the Haar wavelet, but groups of four elements are utilized and are multiplied by the h coefficients and the g coefficients to obtain the respective terms of opposing polarity. To obtain wavelet-packets from the wavelets, the previously illustrated levels of sum and difference terms are obtained using the h and g coefficients, respectively. The "sum" correlation terms for the first level are computed as follows:
s1 = h1x1 + h2x2 + h3x3 + h4X4
s2 = h1x3 + h2x4 + h3x5 + h4x6
s3 = h1x5 + h2x6 + h3x7 + h4x6
. ( 4 ) .
.
sk/2 = h1xk-1 + h2xk + h3xk+1 + h4xk+2
The "difference" correlation terms for the first level are computed as follows:
d1 = g1x1 + g2x2 + g3x3 + g4x4
d2 = g1x3 + g2x4 + g3x5 + g4x6
d3 = g1x5 + g2x6 + g3x7 + g4x8
. ( 5 ) .
.
dk/2 = g1xk-1 + g2xk + g3xk+1 + g4xk+2
The four sets of second level sum and difference correlation terms can then be computed from the first level values as follows :
ss1 = h1s1 + h2s2 + h3s3 + h4s4
ss2 = h1s3 + h2s4 + h3s5 + h4s6
ss3 = h1s5 + h2s6 h3s7 h4s8
. ( 6 ) .
.
ssk/4 = h1sk/2-1 + h2sk/2 + h3sk/2+,1 + h4sk/2+2
ds1 = g1s1 + g2s2 + g3s3 + g4s4
ds2 = g1s3 + g2s4 + g3s5 + g4s6
ds3 = g1s5 + g 2s6 + g3s7 + g4s8
. ( 7 ) .
.
dsk/4 = g1sk/2-1 + g2sk/2 + g3sk/2+1 + g4sk/2+2 sd1 = h1d1 + h2d2 + h3d3 + h4d4
sd2 = h1d3 + h2d4 + h3d5 + h4d6
sd3 = h1d5 + h2d6 + h3d7 + h4d8
. ( 8 ) .
.
sdk/4 = h1dk/2-1 + h2dk/2 + h3dk/2+1 + h3dk/4+2 dd1 = g1d1 + g2d2 + g3d3 + g4d4
dd2 = g1d3 + g2d4 + g3d5 + g4d6
dd3 = g1d5 + g2d6 + g3d7 + g4d8
. ( 9 ) .
.
ddk/4 = g1dk/2-1 + g2dk/2 + g3dk/2+1 + g4dk/2+2
and so on. Extra values at end positions can be handled by "wrap-around" , truncation, or other known means of handling end conditions. It will be understood that the procedure described in conjunction with relationships (4)-(9) is operative to
successively correlate the signal samples with the
wavelet-packets for each successive level. If desired, the correlations can be implemented by generating wavelet-packets a priori (using the indicated coefficients, for this example), and then individually correlating wavelet-packets with the signal using analog (e.g. electronic or optical means), digital, or any suitable technique. If desired, a special purpose network could be used to perform the correlations.
In terms of the diagram of Fig. 3, the sums (4) and the differences (5) would occupy nodes 1 and 2, respectively, of level 1, and the sums (6), differences (7), sums (8) and
differences (9) would occupy the nodes 1, 2, 3 and 4,
respectively, of level 2.
It will be understood that in many practical situations the number of samples considered in a frame or window (level 0) will be larger than 8, and the tree will also be larger than those shown here for ease of illustration. Fig.s 6-10 show the first five wavelet-packets synthesized for sample length 1024, using a wavelet with six coefficients (six h's and six g's), and Fig.s 11-13 illustrate three of the higher frequency wavelet-packets.
In accordance with an aspect of the invention, the basis is selected in a manner which minimizes information cost. There are various suitable ways in which information cost can be computed. Fig. 14 shows a parent node and its two children nodes. As a measure of information, one can compute the number N of
correlation values in the parent node that exceed the particular threshold and the total number Nc of correlation values in the child nodes that exceed the particular threshold. As represented in Fig. 14, if Np is less than or equal to Nc, the parent node will be preferred, whereas if Np is greater than Nc, the children nodes will be preferred. As higher level comparisons are made (with the ancestors of the parent) the selection may be
supplanted by an ancestor.
Another measure of information cost that can be used is the entropy cost function that is well known in information theory, and is threshold independent (see Appendix IV). Suitable
weighting of coefficients can also be used. For example, if it is known or computed that certain values should be filtered, emphasized, or ignored, weighting can be appropriately applied for this purpose.
Fig. 15A illustrates a procedure for reconstruction which can be utilized at the decoder processor. The shaded boxes indicate the nodes defining the orthogonal basis that was
selected at the encoder and is to be decoded. The arrows
illustrate the reconstruction paths, and the cross-hatched boxes indicate reconstructed nodes, the last (level 0) reconstruction providing the reconstructed decoder output information. In particular, node 1, level 2 is reconstructed from node 1, level 3 and node 2, level 3. Node 1, level 1 is then reconstructed from node 1, level 2 and node 2, level 2, and so on.
Fig. 15B shows children nodes containing sy1, sy2,...syn and dY1, dy2,...dYn being mapped into their parent node to obtain the reconstructed y1, y2,... Y2n. If the four coefficients h1, h2, h3 and h4 (with the corresponding g1, g2, g3 and g4) were used for encoding, the decoding relationships will be as follows:
For y odd
y1 = h1sy1 + h3sy0 + g1dy1 + g3dy0
y3 = h1sy2 + h3sy1 + g1dY2 + g3dy1
. ( 10 ) .
.
y2n+1 = h1syn+1 + h3syn + g1dyn+1 + g3dyn
For y even
y2 = h2sy1 + h4sy0 + g2dy1 + g4dy0
y4 = h2sy2 + h4sy1 + g2dy2 + g4dy1
. ( 11 ) .
.
y2k = h2syn + h4syn-1 + g2dyn + g4dyn-1
The values mapped into the parent mode are accumulated and, as in the encoder, extra values at the end positions (e.g. at y0 above) ca n be handled by "wrap-around", truncation, or other known means of handling end conditions.
Referring to Fig. 16, there is shown a flow diagram which, when taken together with the further flow diagrams referred to therein, is suitable for controlling the processor to implement an embodiment of the encoding apparatus and method in accordance with the invention. The block 1610 represents the generating of processed values by correlating wavelet-packets with the input signal samples. There are various ways in which this can be achieved, the routine of Fig. 17 describing an implementation of the present embodiment. The block 1620 represents the routine, described further in conjunction with Fig. 18, for computing the information costs of the processed values. As described further hereinbelow, there are various ways of computing the measure or cost of information contained in the processed values. In an illustrated embodiment, a thresholding procedure is utilized, and information cost is determined by the number of values which exceed a particular threshold. The block 1630 represents the routine of Fig. 19 for selection of an advantageous orthogonal basis from among the processed values, the selection of the basis being dependent on the computed information costs. The block 1640 represents compiling encoded frames from the selected processed values which constitute the basis, such as for
subsequent recovery after processing, storage, and/or
transmission. This routine is described in conjunction with Fig. 20.
Referring to Fig. 17, there is shown a flow diagram of a routine for generating the processed values from the sampled signal, or signal portion, using a wavelet-packet basis. The block 1710 represents the reading in of the selected coefficients hi,gi. The block 1720 is then entered, this block representing the initializing of a level index at 0, the initializing of a node index at 1, and the initializing of a position index at 1. The sample data, considered as level 0 is then read in, as represented by the block 1725. The sample data may consist, for example, of 256 sequential samples of an acoustical signal to be compressed and transmitted. The level index is then
incremented, as represented by block 1730, and the first level processed values are computed and stored in accordance with the relationships (4) and (5) set forth above (block 1735 and loops 1748 and 1760). For example, for the first position of the first node of level 1, s1 will be computed. If the wavelet employed is representable by a filter having four coefficients, as in the example above, s1 will be computed as the sum of h1x1, h2x2, h3x3, h4x4. If a wavelet of more vanishing moments is used, more coefficients will be employed. In general, it will be preferable to utilize a wavelet having several coefficients, greater than four, the above examples being set forth for ease of
illustration.
In loop 1748, inquiry is made (diamond 1740) as to whether the last position of the current node has been reached. If not, the position index is incremented (block 1745), and the block 1735 is re-entered for computation of the next processed value of the current node and level. The loop 1748 is then continued until all processed values have been computed for the current node, whereupon inquiry is made (diamond 1750) as to whether the last node of the current level has been reached. If not, the node index is incremented (block 1755) and the loop 1760 is continued until the processed values have been computed for all nodes of the current level. For the first level, there will be only two nodes, with the values thereof being computed in accordance with the relationships (4) and (5) set forth above.
When the inquiry of diamond 1750 is answered in the
affirmative, diamond 1770 is entered, and inquiry is made as to whether the last level has been processed. If not, the block 1730 is re-entered, to increment the level index, and the loop 1780 is continued until processed values have been obtained for the nodes at all levels of the tree.
Referring to Fig. 18, there is shown a flow diagram of the routine for computing the information cost of the nodes of the tree, so that an advantageous orthogonal basis can be selected. The block 1810 represents initializing the level index to the highest level (e.g., the last level in the illustration of Fig. 3). The node index and the position index are initialized at 1 (blocks 1815 and 1820). A node content count, which is used in the present embodiment to keep track of the number of processed values in a node that exceed a predetermined threshold, is initialized at zero, as represented by the block 1825. Inquiry is then made (diamond 1830) as to whether the value at the current position is less than a predetermined threshold value. If not, the node content count is incremented (block 1835), and the diamond 1840 is entered. If, however, the processed value at the current position is less than the threshold value, the diamond 1840 is entered directly. [At this point, the processed value could be set to zero prior to entry of diamond 1840 from the "yes" output branch of diamond 1830, but it is more efficient to handle this later.] Inquiry is then made (diamond 1840) as to whether the last position of the node has been reached. If not, the position index is incremented (block 1850), diamond 1830 is re-entered, and the loop 1855 is continued until all processed values of the current node have been considered. When this occurs, the node content count is stored for the current node (of the current level), as represented by the block 1860. Inquiry is then made (diamond 1865) as to whether the last node of the level has been processed. If not, the block 1870 is entered, the node index is incremented, the block 1820 is re-entered, and the loop 1875 is continued until all nodes of the current level have been considered. Inquiry is then made (diamond 1880) as to whether the current level is the highest level. If so, there is no higher level against which comparison of parent-to-children node comparisons can be made. In such case, the level index is incremented (block 1885), block 1815 is re-entered, and the procedure just described is repeated to obtain and store node content counts for each node of the next-to-highest level. When this has been done, the inquiry of diamond 1880 will be answered in the negative, and the next routine (Fig. 19) will be operative to compare the level (which has just been processed to compute information cost of each node) with the children nodes of the previously processed higher level.
In particular, the level index is initialized (block 1905) to the highest level less one, and all nodes on the highest level are marked "kept". The node index is initialized (block 1910) and the node content count of the current node of the current level is compared (block 1920) to the sum of the node content counts of the two nodes which are children of the current node. [For example, if the current node is Ni and the current level is Lj, then the count for the current node is compared to the sum of the counts for nodes N2i-1 and N2i of level Lj+1.] If the
comparison shows that the parent has an equal or lower count, the parent is marked "kept", and the two children nodes are marked "not kept" (as represented by the block 1930). Conversely, if the comparison shows that the sum of two children nodes has a lower count than the parent node, each of the children nodes keeps its current mark, and the current parent node is marked "not kept" (as represented by the block 1940). In the case where the children nodes are preferred, the sum of the counts of the children nodes are attributed to the parent node (block 1945). By so doing, the lowest count will be used for subsequent
comparisons as ancestors are examined. The attribution of the count to the parent node will not be problematic, since only "kept" nodes will be considered in the next stage of processing. Inquiry is then made (diamond 1950) as to whether the last node of the current level has been reached. If not, the node index is incremented (block 1955), block 1920 is re-entered, and the loop 1958 is continued until all nodes at the current level have been considered. Inquiry is then made (diamond 1960) as to whether the current level is level 1. If not, the level index is
decremented (block 1965), block 1815 (Fig. 18) is re-entered, and the loop 1970 continues until all levels have been considered. At this point, the nodes which define the basis to be used have been marked "kept" [possibly together with some of their
descendent nodes], and correspond, for example, to the shaded nodes of the Fig. 4 illustrations.
Referring to Fig. 20, there is shown a flow diagram of a routine for generating output encoded words which, in the
present embodiment, are collected in a frame which represents the encoded form of the data x1, x2, x3 ... xn. For example, for an acoustical signal, the frame may represent a particular number of acoustical samples, for example 256 samples. As a further example, for a video signal, the frame may represent a frame of video, portion thereof, or transformed frequency components thereof. The number of encoded words in a frame will generally vary as the information being encoded varies, and will also generally depend upon the level of the threshold employed, if a threshold is employed as in the present embodiment. Fig. 20 illustrates an embodiment of a routine for generating a frame of words for the basis that was selected using the routines of Fig.s 18 and 19. A tree location index will be calculated which points to nodes in the tree in depth-first order (or so-called
"pre-order"), as is well known in the art. The tree location index is initialized to 1 at level 0, node 1 (block 2010).
Inquiry is made (diamond 2015) as to whether the node at that tree location is market "kept", and, if not, diamond 2020 is entered directly, and inquiry is made as to whether the entire tree has been examined, as indicated by the tree location index. If the entire tree has been searched, block 2080 is entered and a "frame complete" indication can be generated. If not, then loop 2011 is continued until a node marked "kept" is encountered, or until the entire tree has been searched. If a node marked "kept" is encountered, block 2030 is entered, and the tree location index of this "kept" node is recorded in memory; suppose for example that it is called "X". The position index in the node is initialized (block 2035). Inquiry is then made (diamond 2040) as to whether the value at the current position is above the
predetermined threshold. If not, diamond 2055 is entered
directly, and no word is generated for the value at the current position. If the value is above the threshold, block 2045 is entered, this block representing the generation of a word which includes the current level, node, and position, and the value at the position. The block 2050 is then entered, this block
representing the loading of the just generated word into an output register. Inquiry is then made (diamond 2055) as to whether the last position in the current node has been reached. If not, the position is incremented (block 2060), diamond 2040 is re-entered, and the loop 2061 is continued until all positions in the node "X" have been considered. It will be understood that various formats can be used to represent the words. For
example, a specific number of bits can be used for each of the level, node, position, and value. Alternatively, words could be of different length, e.g. depending on information content or entropy, with suitable delineation between words, as is known in the art. Also, if desired, all words in a particular node could be encoded with a single indication of level and node, with individual indications of position-value pairs. Inquiry is next made (diamond 2070), as to whether the last node location in the tree in depth-first order has been reached. If not, the tree location index is incremented (block 2070), and inquiry is made as to whether the new node is a descendant of "X", by a
comparison of depth-first indices well known in the art. When this is the case, diamond 2065 is re-entered, and the loop 2071 is continued until the first node which is not a descendant of "X" is encountered, or until there are no more nodes. When a first non-descendant of "X" is encountered, diamond 2015 is re-entered and the loop 2081 is continued until all nodes which are both marked "kept" and have no ancestors marked "kept" have contributed to the frame. Such nodes contain a complete
orthogonal group of wavelet-packet correlations (see also
Appendix I, II, and V). When either loop 2011 or the loop 2071 terminates by exhaustion of the nodes, block 2080 is entered and a "frame complete" indication can be generated. If desired, the frame can then be read out of the encoder register. However, it will be understood that the encoder register can serve as a buffer from which words can be read-out synchronously or
asynchronously, depending on the application.
Referring to Fig. 21, there is shown a flow diagram of the decoder routine for processing frames of words and
reconstructing the orthogonal basis indicated by the words of a frame. The block 2110 represents the reading in of the next frame. In the described embodiment, it is assumed that the frames of words are read into a buffer (e.g. associated with decoder processor subsystem 170 of Fig. 1), and the individual words processed sequentially by placement into appropriate addresses (which can be visualized as the selected basis nodes of a tree - as in Fig. 4), from which reconstruction is
implemented in the manner to be described. However, it will be understood that individual words can be received synchronously or asynchronously, or could be output in parallel into respective tree nodes, if desired. Also, as was the case with the encoder, parallel processing or network processing could be employed to implement reconstruction, consistent with the principles hereof. In the routine of Fig. 21, the next word of the frame is read (block 2115), and a determination is made as to whether the node and level of the word is occurring for the first time (diamond 2117). If so the node (and its level) is added to the list of nodes (block 2118). The value indicated in the word is stored (block 2120) at a memory location indicated by the level, node, and position specified in the word. It will be understood that memory need be allocated only for positions within the nodes designated by the read-in words. Inquiry is then made (diamond 2130) as to whether the last word of the frame has been reached. If not, the block 2115 is re-entered, and the loop 2135 is continued until all words of the frame have been stored at appropriate locations. It will be understood that, if desired, the word locations (level, node, and position) could
alternatively be stored, and the values subsequently recovered by pointing back to their original storage locations.
During the next portion of the decoder routine, as shown in Fig. 22, the values in the nodes on the list are utilized to implement reconstruction as in the diagram of Fig.s 15A and 15B, with parent nodes being reconstructed from children nodes until the level zero information has been reconstructed. During this procedure, when a parent node is reconstructed from its children nodes, the parent node is added to the list of nodes, so that it will be used for subsequent reconstruction. This part of the procedure begins by initializing to the first node on the list (block 2210). Next, the block 2215 represents going to the memory location of the node and initializing to the first position in the node. Inquiry is then made (diamond 2220) as to whether there is a non-zero value at the position. If not, diamond 2240 is entered directly. If so, the value at the position is mapped into the positions of the parent node, with accumulation, as described above in conjunction with
relationships (10) and (11). Inquiry is then made (diamond 2240) as to whether the last position of the node has been reached. If not, the next position in the node is considered (block 2245), diamond 2220 is re-entered, and the loop 2250 continues until all positions in the node have been considered. It will be
understood that, if desired, a marker or vector can be used to indicate strings of blank positions in a node, or to point only to occupied positions, so that a relatively sparse node will be efficiently processed. In this regard, reference can be made to the abovereferenced U.S. Patent Application Serial No. 525,974. When the last position of the node has been considered, the node is removed from the list of nodes, as represented by block 2255, and inquiry is made (diamond 2260) as to whether the parent node is at level 0. If so, diamond 2270 is entered directly. If, however, the parent node is not at level 0, the parent node is added to the list of nodes (block 2265). Inquiry is then made (diamond 2270) as to whether the last node on the list has been reached. If not, the next node on the list is considered (block 2275), block 2215 is re-entered, and the loop 2280 is continued until processing is complete and the reconstructed values have been obtained. The decoder output values can then be read out (block 2290).
It will be understood that similar techniques can be employed at higher dimensions and in other forms (see e.g.
Appendix V). More complicated tree structures, such as where a node has more than two children (e.g. Appendices II and V) can also be utilized.
The invention has been described with reference to
particular preferred embodiments, but variations within the spirit and scope of the invention will occur to those skilled in the art. For example, it will be recognized that the wavelet upon which the wavelet-packets are based can be changed as different parts of a signal are processed. Also, the samples can be processed as sliding windows instead of segments.
1-1
Appendix I Construction of Wavelet-Packets
We introduce a new class of orthonormal bases of L2(Rn) by constructing a "library" of modulated wave forms out of which various bases can be extracted. In particular, the wavelet basis, the walsh functions, and rapidly oscillating wave packet bases are obtained.
We'll use the notation and terminology of [D], whose results we shall assume.
§1. We are given an exact quadrature mirror filter h(n) satisfying the conditions of Theorem (3.6) in [D], p. 964, i.e.
∑ h(n - 2k)h(n - 2ℓ) = δk,ℓ ,∑h(n) =
Figure imgf000024_0006
We let gk = hk+1(-1)k and define the operations Fi onℓ2(Z) into "ℓ2(2Z)"
(1.0) F0{sk}(i) = 2∑ skhk- 2i
F1{sk}(i) = 2∑skgk-2i.
The map F(sk) = F0(sk)
Figure imgf000024_0001
F1(sk)2(2Z)
Figure imgf000024_0003
∅ℓ2(2Z) is orthogonal and (1.1)
Figure imgf000024_0002
We now define the following sequence of functions.
Figure imgf000024_0004
Clearly the function WQ(x) can be identified with the function Φ in [D] and W1 with the function ψ.
Let us define m (ξ)
Figure imgf000024_0005
1-2
Remark: The quadrature mirror condition on the operation F = (FQ, Fι ) is equivalent to the unitarity of the matrix
Figure imgf000025_0001
Taking Fourier transform of (1.2). when n = 0 we get
and . . .
Figure imgf000025_0002
More generally, the relations (1.2) are equivalent to
Figure imgf000025_0003
We can rewrite (1.1) as follows.
(1.4) W2n(x -ℓ) =√2∑ hj-2ℓWn(2x - j) = F0{Wn(2x - j)}(ℓ)
W2n+1(x -ℓ) =√2∑gj- 2ℓWn(2x - j) = F1{Wn(2x - j)}(ℓ) where Wn(2x - j) is viewed as a sequence in j for (x, n) fixed. Using (1.1) we find:
(1.5) I
Figure imgf000025_0004
In the case n = 0 we obtain:
(1.6)
Figure imgf000025_0005
1-3
from which we deduce the usual decomposition of a function / in the space Ω0 (V0 in [D]) i.e., a function / of the form
| |
Figure imgf000026_0001
We now prove
Theorem (1.1). Tie functions Wn(x - k) form an orthonormal basis of L2(R).
Proof. We proceed by induction on n, assuming that Wn(x - k) form an orthonormal set of functions and, proving that, W2n(x - k), W2n+1(x - k) form an o.n set.
By assumption ||√2f{2x)||
Figure imgf000026_0011
= if f ∈ Ωn from the quadrature mirror condition
Figure imgf000026_0010
on (F0, F1) we get
=∑F0k)(i)2 + F1k)(i)2.
Figure imgf000026_0009
Since F0k)(i) = μi, F0k)(i) = vi can be chosen as two arbitrary sequences ofℓ2 (arising from it follows that
Figure imgf000026_0007
μiW2n(x - i) +∑viW2n+1(x - i)l2 =
Figure imgf000026_0012
Figure imgf000026_0008
which is equivalent to W2n(x i) W2n+ι(2-— j) being an o.n set of functions.
Let us now define δf = Formula (1.8) shows that 5Ωn = Ω2n Φ Ω2n+ι as
Figure imgf000026_0013
an orthogonal sum or,
(1.9) δΩ0 - Ω0 = Ω1
δ 2 Ω0 - δ Ω0 = δ Ω1 = Ω2 Φ Ω3
δ3Ω0 - δ2Ω0 = <5Ω2
Figure imgf000026_0002
Φ £Ω3 = Ω4
Figure imgf000026_0003
Φ Ω5
Figure imgf000026_0004
Φ Ω6
Figure imgf000026_0005
Φ Ω7 or
δ kΩ0 - δk-1Ω0 = Ω2k-1 Ω2k-1+1 . . .
Figure imgf000026_0006
Ω2k-1 and l-4 δkΩ0 = Ω0
Figure imgf000027_0002
Ω1
Figure imgf000027_0003
Ω2k -1
More generally, we let Wk = δk+1Ω0 - δkΩ0 = δkΩ1 = δkW1. Therefore we have Proposition (1.1).
Wk = δkW1 = Ω2k
Figure imgf000027_0004
Ω2k+1
Figure imgf000027_0005
Ω2k+1-1.
Alternatively, the functions
Wn(x - j) j∈ Z 2k≥ n < 2k+1
form an orthonormal basis of Wk.
Since the spaces Wk are mutually orthogonal and span L 2(R) see [D], it follows that Wn(x - j) are complete.
§2. Orthonormal bases extracted out of the "library" 2j /2Wn(2j x - k).
We start by observing that 2j /2W1 (2jx - k) form a basis of Wj as we vary k and a basis of L2(R ) as j, k vary. This is the wavelet basis constructed in [D]. The following simple generalization is useful to obtain a better localization in frequency space.
Theorem (2.1). The functions
2j/2Wn(2j x - k) j = 0, ±1, . . . , k = 0, ±1, ±2
2≤ n < 2ℓ+1 for fixedℓ form an orthonormal basis of L2(R)ℓ = 0, 1, 2, ....
Remark: This is a wavelet basis with dyadic dilations and 2 fundamental wavelets.
Proof. We have seen, in Proposition (1.1), that Wn(x - k) 2≤ n < 2ℓ+1k∈ Z form an o.n basis of W, from which we deduce that 2j/ 2Wn(2jx - k) form an o.n. basis of Wℓ+j spanning L2(R) for j∈ Z k∈ Z.
In the next example we vary j and n simultaneously to obtain a basis whose number of oscillation is inversely proportional to the length of its support.
Theorem (2.2). Letℓ(n) = [log2 n) i.e., 2ℓ (n) ≤n < 2ℓ+1 then
Wn(2ℓ(n)x - k)2ℓ(n) /2, Wn(2ℓ(n)+1x - k)2
Figure imgf000027_0001
form an o.n basis of L2(R).
Proof. Fixℓ(n) =ℓ, and consider n with 2≤ n < 2ℓ+1. as seen in the proof of Theorem (1.2)
Wn(2x - k)2ℓ/2 form an o.n basis of W2ℓ l-5 and
Wn(2ℓ+1x - k )2(ℓ+1)/2 form an o.n basis of W 2ℓ+1 since L2 =∑
Figure imgf000028_0001
®W2ℓ
Figure imgf000028_0002
Figure imgf000028_0003
ΦW 2ℓ+1, we have a complete basis.
These can be generalized as follows.
Theorem (2.3). Let a collection {ℓ, n} be given such that the dyadic intervals Iℓ,n = [2n, 2(n+1)) form a disjoint covering of (0,∞ ), then 2ℓ/2Wn(2x - k) form a complete orthonormal basis ofL2(R).
This theorem becomes obvious in the following case. Let
Figure imgf000028_0004
a periodic function of period 2π , and m 1(ξ) = 1 - m0(ξ). Let
then
Figure imgf000028_0005
and the orthonormal basis ωn(x - k) in Fourier space is
Figure imgf000028_0007
which is the simplest variation on a " windowed" (2 windows) Fourier transform. Theorem (1.4) is obvious in this case. This theorem is also easy to understand from the point of view of subband coding as we shall see.
§3. Subband coding and expansions in terms of Wn
We assume, given a function which, on the scale 2-N , is well approximated as
Figure imgf000028_0006
l-6
The coefficients of f0 are given by F0(s0).
The coefficients of f1 are given by F1(s0).
Continuing an application of (1.8) gives
Figure imgf000029_0001
where f00,f10 are obtained by decomposing f0
and f01,f11 are obtained by decomposing f1
f00∈ Ω0,f10∈ Ω1,f01∈ Ω2,f11∈ Ω3. If we continue this decomposition and observe that the binary tree corresponds to the realization of n as n =∑εj2j-1 and that after ℓ iterations we get U £
Figure imgf000029_0002
We therefore obtain a fast 2NN algorithm to calculate all coefficients for "all functions in our library" for scales - N≤ j≤ 0. The procedure is analogous to subband coding.
§4. Higher dimensional libraries and bases
We define the higher dimensional wavelet basis as follows: Let
W1= epm{W0(x1-k1)W1(x2-k2),W1(x1-k1)W0(x2-k2),W1(x1-k1)W1(x2-k2)}
Wk = δkW1 where δf(x1x2) = 2f(2x12x2). Clearly
Figure imgf000029_0003
L2(R2) =∑Wk.
The basic 2-dimensional "library'" consists of all functions obtained as tensor products of the one dimensional library i.e.,
Figure imgf000029_0004
j1+j2) Wn1(2j1x1 - k1)Wn2(2j2 x2 - k2).
We will restrict our attention to the subiibraries obtained by dilating both variables by the same dilations although the case j2 = rj1 r fixed is of independent interest. The two dimensional basis corresponding to Theorem (2.1) is given in l-7 Theorem (4.1). Fixℓ, then for (k1,k2)∈ Z2 j∈ Z 2≤ n < 2ℓ+1,
2j/2Wn(2jx1 - k1)2
Figure imgf000030_0001
W0(2ℓ+jx2 - k2)
2^
Figure imgf000030_0002
W0(2ℓ+jx1 - k1)2j/2Wn(2j x2 - k2)
2jWn1(2jx1 - k1)Wn2(2jx2 - k2) 2≤ni < 2ℓ+1 form an orthonormal basis of L2.
Theorem (4.2). Let (n) = {n1,n2) =- 2max(ℓ(n1)ℓ( n2)) where
ℓ(n1) = [log2 n1] n1≥ 0 n2≥ 0 then for (k1 , k2)∈ Z2,
(n). Wn1((n)x1 - k1)Wn2{(n)x2 - k2)
(2n) Wn1(2(n)x1 - k1)Wn2(2(n)x2 - k2) form an orthonormal basis (wavelet packet basis of L2(R2)).
Proof. Assumeℓ = max (ℓ(n1)ℓ(n2)) =ℓ(n2), i.e. n1≤ n2. Then
2Wn1(2x1 - k1)Wn2(2x2 - k2) for
0≤ n1 < 2 2≤n2< 2ℓ+1
span (using 1.9) Proposition (1.1) δ2ℓΩ0,x1
Figure imgf000030_0003
δ2ℓΩ1,x2 i.e. the subspace spanned by W0(22xx1 - k1 W1(2x2 - k1). Consideration of the other 2 cases yields a total span of W2ℓ, similarly we obtain W2ℓ+1 and the theorem is proved.
REFERENCE
[D] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets. Communications on Pure and Applied Mathematics XLI (1988), 909-966. II-l
Appendix II
Best-Adapted Wavelet-Packet Bases
Introduction. By using extra filters, it is possible to introduce fast wave packet transformations which decimate by arbitrary numbers. Such transformations generalize algorithms which decimate by 2. The method produces new hbraries of orthonormal basis vectors. We introduce an algorithm for selecting a most efficient representation from the library, and prove that its complexity is O(N) for a sequence of length N. We discuss some of the analytic properties and applications of such representations.
Aperiodic filters and bases in I2. Consider first the construction of bases on I2.
Let p be a positive integer and introduce p absolutely summable sequences fo ,...,,fp-1 satisfying the properties:
(1) For some ε > 0,∑m |fi(m)||m|ε <∞ ,
(2) ∑m f0 (m) = 1, for i = 0, 1, . . . ,p - 1, and
(3) ∑m fi(m)fj(m + kp) = δi-jδk, where δ is the Kronecker symbol.
To these sequences are associated p convolution operators F0, . . . , Fp-1 and their ad- joints defined by
Figure imgf000031_0001
These convolution operators will be called filters by analogy with quadrature mirror filters in the case p = 2. They have the following properties:
Lemma. For i,j = 0, 1, . . . ,p - 1,
Figure imgf000031_0006
Figure imgf000031_0002
is an orthogonal projection of I2, and for the ranges of and
Figure imgf000031_0007
Figure imgf000031_0005
are orthogonal, and
+ - - - +
Figure imgf000031_0003
Figure imgf000031_0004
Research supported in part by ONR Grant N00014-88-K0020 II-2 Proof. Properties (1) and (2) follow by interchanging the order of integration:
Figure imgf000032_0001
by the orthogonality properties of fi.
Property (3) follows from (1) and (2):
Figure imgf000032_0002
Orthogonality is easily shown by transposition.
To prove (4), let mj(ξ) =∑ k fj(k)eikξ be the (bounded, Hölder continuous, periodic) function determined by the filter fj, for j = 0,...,p-1. Then fj(k) =
Figure imgf000032_0009
is a real number, and each
Figure imgf000032_0010
is unitarily equivalent to multiplication by |mi|2 on L2(-π,π).
Now Plancherel's theorem gives
Figure imgf000032_0003
In particular, lmjl2 has integral 1, and the Fourier coefficient (lm jl2)(lp) vanishes if φ This is equivalent to the average of |mj(ξ)|2 over {ξ, ξ+2π/p,...,ξ+2π(p-1)/p}
Figure imgf000032_0011
being identically 1.
The same vanishing is true of the Fourier coefficients of the cross terms
Figure imgf000032_0013
r jhj , and for those it also holds when I = 0. Thus, the average of over {ξ, ξ +
Figure imgf000032_0012
2π/p,...,ξ+2π(p-1)/p} vanishes identically. Hence, the conditions on the filters fi are equivalent to the unitarity of the matrix
Figure imgf000032_0004
But then
Figure imgf000032_0005
= 1 for all ξ. Thus is unitarily
Figure imgf000032_0006
equivalent to multiplication by 1 in L2(- π,π), proving (4). ♢
With this proposition we can decompose I2 into mutually orthogonal subspaces where for i = 0,...,p-1. The map Fi finds
Figure imgf000032_0007
Figure imgf000032_0008
II-3 the coordinates of a vector with respect to an orthonormal basis of
Figure imgf000033_0015
} Since each
Figure imgf000033_0001
is another copy of l2, there is nothing to prevent us from reapplying the filter convolutions recursively. At the mth stage, we obtain
Figure imgf000033_0002
where
Figure imgf000033_0003
χ m and nm . . . n1 is the radix-p representation of n. The map Fnm . . . Fn1 transforms into standard coordinates in W™. For convenience, we will introduce the notations
Figure imgf000033_0004
The subspaces W™ form a p-axy tree. Every node
Figure imgf000033_0016
W™ is a parent with p daughters pn The root of the tree is the original space I2, which we may label for consistency. Call the whole tree W.
Figure imgf000033_0005
Now fix m and suppose w belongs to
Figure imgf000033_0006
the elementary sequence with 1 in the kth position and O's elsewhere. The collection of all such w forms an orthonormal basis of I2 with some remarkable properties. In particular, if p = 2 and the filters F0 and F1 are taken as low-pass and high-pass quadrature mirror filters, respectively, then the spaces
Figure imgf000033_0007
are all the subbands at level m. These have been used for a long time in digital signal processing and compression. In an earlier paper we described experiments with an algorithm for choosing m so as to reduce the bit rate of digitized acoustic signal transmission. This produced good signal quality at rather low bit rates.
The tree contains other orthogonal bases of
Figure imgf000033_0008
In fact, it forms a library of bases which may be adapted to classes of functions. The tree structure allows the library to be searched efficiently for the extremum of any additive functional.
To every node in W we associate the subtree of all its descendants. Define a graph to be any subset of the nodes of W with the property that the union of the associated subtrees is disjoint and contains a complete level
Figure imgf000033_0009
for some m. The singleton is a graph, for example, with m = 0. The following may be called the
Figure imgf000033_0010
graph theorem.
Theorem. Every graph corresponds to a decomposition of I2 into a finite direct sum.
Proof. Every graph is a finite set, of cardinality no more than pm for the m in the definition. Fix a graph, and suppose that
Figure imgf000033_0011
are subspaces corresponding to two nodes. Without loss, suppose that m1 ≤ m2. Then is contained in a
Figure imgf000033_0012
subspace for some Since the subspaces at a given level are orthogonal,
Figure imgf000033_0013
we conclude that
Figure imgf000033_0014
To show that the decomposition is complete, observe that a node contains the sum of its daughters. By induction, it contains the sum of all of the nodes in its subtree. Hence a graph contains the sum of all the subspaces at some level in. But this sum is II-4 all of l2. ♢
Theorem. Graphs are in one-to-one correspondence with finite disjoint covers of [0, 1) by p-adic intervals
Figure imgf000034_0001
= p-m[n, n + 1), n = 0, 1, . . . ,pm - 1.
Proof. The correspondence is evidently
Figure imgf000034_0002
The subtree associated to W™ corresponds to all p-adic subintervals of
Figure imgf000034_0016
J™ The details are left to the reader. ♢
Analytic properties of graphs: continuous wave packets. Each filter Fj (and its adjoint F maps the class of exponentially decreasing sequences to itself. Likewise,
Figure imgf000034_0004
the projections
Figure imgf000034_0003
preserve that class. In practice, we shall consider only finite sequences in I2. For actual computations the filters must be finitely supported as well. Convolution with such filters preserves the property of finite support. Let the support width of the filters be r, and let zm be the maximum width of any vector of the form
Then z0 = 1 and zm+1 = pzm + r - p. By induction, we see that
Figure imgf000034_0005
zm = pm + (pm - 1)(r - p).
Coifman and Meyer [CM] have observed that the basis elements
Figure imgf000034_0006
are related to wave packets over R. A slightly generalized paraphrase of their construction follows. Many of the basic facts used were proved by Daubechies in [D].
Let w be a function defined by where m 0 is the analytic
Figure imgf000034_0007
function defined by F0, as above. Then w has mass 1. decreases rapidly, and is Hölder continuous, as proved in [D]. If m0 is a trigonometric polynomial of degree r, then w is supported in the interval [-r, r]. Arranging that w has r continuous derivatives requires mo with degree at most O(r). See [D] for a discussion of the constant in this relation for p = 2. Put
Figure imgf000034_0008
= w, and define the family of wave packets recursively by the formula w^+jit) =
Figure imgf000034_0009
This produces one function w
Figure imgf000034_0010
for each pair (m, n), where m = 0, 1, . . . and n = 0, 1, . . . ,pm - 1.
We can renormalize the wave packets to a fixed scale pL. Write <
Figure imgf000034_0011
Then is a collection of orthonormal functions of mass 1, concentrated in intervals
Figure imgf000034_0013
of size O(p-L). This makes them suitable for sampling continuous functions. Let x(t) be any continuous function, and put
Figure imgf000034_0012
We may use as a representative value of x(t) in the interval = p-L[k. k + 1).
Figure imgf000034_0015
Figure imgf000034_0014
The closeness of the approximation to values of x depends, of course, on the smoothness II-5 of x. Suppose that x is Holder continuous with exponent∈. Then if t0 is any point in we have
Figure imgf000035_0001
We can also take advantage of differentiability of x if we construct
Figure imgf000035_0019
Q with vanishing moments. Given d vanishing moments and d derivatives of x, the approximation improves to
Figure imgf000035_0002
The map
Figure imgf000035_0003
\ sends L2 (R) to I2 , and pulls back the orthonormal bases of I2 constructed in the last section. To see this, define
Figure imgf000035_0020
% =
Figure imgf000035_0004
By interchanging the order of recurrence relation and inner product, we obtain the formula
Figure imgf000035_0005
Thus, the coordinates are coefficients with respect to an orthonormal basis of
Figure imgf000035_0006
Figure imgf000035_0007
The resulting subspaces of L2 (R) form a finer type of multiresolution decomposition than that of Mallat [Ma]. The coordinates
Figure imgf000035_0008
are rapidly computable. They contain a mixture of location and frequency information about x.
Ordering the basis elements. The parameters n, m, k, L in have a natural
Figure imgf000035_0009
interpretation as frequency, scale, position, and resolution, respectively. However, n is not monotonic with frequency, because our construction yields wave packets in the so- called Paley (natural, or p-adic) ordering. The following results show how to permute n→ n' into a frequency-based ordering.
Theorem. We can choose rapidly decreasing filters F0...., FP— 1 such that
Figure imgf000035_0010
is concentrated near the interval and is concentrated near the interval
Figure imgf000035_0011
Figure imgf000035_0012
where n → n' is a permutation of the integers.
Proof. The first part is evident. For any family of exponentially decreasing filters, decreases exponentially away from [0, 1). is its dilate and translate to the
Figure imgf000035_0013
interval Likewise, has the same concentration as W since all the
Figure imgf000035_0015
Figure imgf000035_0016
Figure imgf000035_0014
filters Fi are uniformly exponentially decreasing.
The second part follows from the Fourier transform of the recurrence relation:
Figure imgf000035_0017
where m j is the multiplier defined above. Recall tha and that
Figure imgf000035_0018
m0(0) = 1. Thus, the periodic functions |mj|2 form a partition of unity into p functions, with 0 being in the support of m0 alone. II-6
Now suppose for simplicity that we have chosen filters in such a way that |mj (ξ)| =
Such m j may be approximated in L2(-π , π) as closely as
Figure imgf000036_0003
we like by multipliers arising from exponentially decreasing filters. In this simple case, it is immediate that
Figure imgf000036_0008
= m 0(ξ/p)|(-π,π) is the characteristic function of (- π , π ), so that
Figure imgf000036_0006
is the characteristic function of (-π pL, πpL). Likewise,
Figure imgf000036_0004
is the characteristic function of πpL-1(-j - 1, -j] U πpL-1[j,j + 1). From the recurrence relation, we see that will be the characteristic function of the union of the intervals ±πpL-m[n', n' + 1), where n→ n' is
Figure imgf000036_0014
a permutation. These intervals cover pL(- π, π ) as n = 0, . . . ,pm - 1. The permutation n→ n' is given by the recurrence relation
if n' is even, n' = n, if n = 0, .. . ,p - 1;
if n' is odd.
Figure imgf000036_0007
Write nj for the jth digit of n in radix p, numbering from the least significant. Set nm = 0 if n has fewer than m digits. Then the recurrence relation implies that nj = where
Figure imgf000036_0009
Figure imgf000036_0001
For each value of the first variable, π is a permutation of the set {0, . . . ,p - 1} in the second variable. Thus the map n'→ n and its inverse n→ n' are permutations of the integers. It is not hard to see that these are permutations of order 2 if p happens to be odd. Otherwise they have infinite order, as may be seen by considering an increasing sequence of integers n' all of which have only odd digits in radix p. ♢
Corollary. With filters FQ, . . . , FP-\ chosen as above, we can modify the recurrence relation for such that is concentrated near the interval
Figure imgf000036_0010
Figure imgf000036_0011
Figure imgf000036_0012
Proof. Simply reorder the functions
Figure imgf000036_0013
by using the alternative recurrence relation: m
Figure imgf000036_0002
Since we are enforcing n = n' at each level m, we are composing with the permutation defined above. Of course, this algorithm has complexity identical to the original. ♢
Periodic filters and bases for Rd. A sampled periodic function may be represented as a vector in Rd for some d. In this case let p be any factor of d. Introduce as filters a family of p vectors {/_∈ Rd : i = 0.....,p - 1}. These are obviously summable. ll-7
Suppose in addition that they are orthogonal as periodic discrete functions, i.e., that
Figure imgf000037_0001
Let the associated convolution operators be defined as above by /
Figure imgf000037_0003
The reduction modulo d is intentionally emphasized. These operators satisfy conditions similar to those of aperiodic filters:
Proposition.
φ
Figure imgf000037_0004
where Id is the identity on Rd.
Proof. The proof is nearly identical with the one in the aperiodic case. ♢
The decomposition suggested by equation (4) may be recursively applied to the p subspaces Rd/p by using additional filter families. For d = p1...pL and 0≤ n < d, we have a unique representation n = n1 + n2p1 + n3p2p1 + ... + nLpL-1 ...p1, where
0≥ ni < pi. This defines a one-to-one correspondence between {0,...,d-1} and an index set of L-tuples I = {(n1,...,nL):0≤ni<pi}. We can construct a basis of Rd whose elements are indexed by I. For n = (n1,...,nL)∈ l, define £ %
Figure imgf000037_0006
where Fl is a family of pi periodic filters. Then
Figure imgf000037_0005
is an orthogonal projection onto a 1-dimensional subspace of Rd. This is shown by induction on the rank in (3). Now let % be the range of this projection. The collection {
Figure imgf000037_0008
£
of standard basis vectors of % will be an orthonormal basis of Rd, and the map
Figure imgf000037_0009
Rd → R gives the component in the un direction.
Figure imgf000037_0007
As before, we are not limited to the basis defined by the index set I. Products of fewer than L filters form orthogonal projections onto a tree of subspaces of Rd. A node arising from a product of m filters will correspond to the subspace
where n = n1 + ...+ nmpm-1...p1 indexes a composition of m filters. The tree will II-8 be nonhomogeneous in general, although all nodes i levels from the root will have the same number pi of daughters. Define a nonhomogeneous graph as a finite union of nodes whose associated subtrees form a disjoint cover of some level m≤ L. A graph theorem holds for this tree of subspaces as well. It and its corollary may be stated as follows:
Theorem. Every nonhomogeneous graph corresponds to an orthogonal decomposition of Rd. ♢
Corollary. Graphs arein one-to-one correspondence with finite disjoint covers of [0, 1) by intervals of the form = (p1 . . .pm)-1[n, n + 1). ♢
Figure imgf000038_0003
Any permutation of the prime factors of d gives a (possibly different) basis.
Smooth filters. Some filter sequences have a smoothness property:
Definition. A summable sequence f is a smooth filter (of rank p) if there is a nonzero solution Φ in L1(R)∩ L2(R) n C (R) to the functional equation
Figure imgf000038_0001
A filter will be said to have smoothness degree r if it satisfies this definition with C replaced by Cr. Daubechies has shown in [D] that finitely supported filters of any degree of smoothness may be constructed in the case p = 2. An obvious consequence is that smooth filters exist in the case p = 2q. For arbitrary p, we may construct a filter family as above subject to additional constraints.
A continuous L2 solution to the functional equation (3) always exists for a sequence f satisfying the three conditions at the top of this article. Its Fourier transform may be constructed by iteration:
Figure imgf000038_0002
where m(ξ) = p-1/ 2k f(k)e-ikξ is the multiplier corresponding to the filter convolution in the integral equation. If Φ is nonzero, then Φ(0) 0. so it may be assumed
Figure imgf000038_0004
that ø(0) = 1. Now the sequence {/(k)|k|} converges absolutely, so m(ξ) is Holder continuous of degree e. But also, m(0) = p1/2k f(k) = 1. so that for ξ near 0 the estimate lm(ξ) - 1| < C|ξ| holds. This implies that the infinite product converges. II-9
REFERENCES
[CW] R. R. Coifman and Y. Meyer, Nouvelles bases othonormees de L 2(R.) ayant la structure du système de Walsh, preprint, Yale University, New Haven (1989).
[D] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets, Communications on Pure and Applied Mathematics XLI (1988), 909-996.
[Ma] Stephane G. Mallat, A Theory for Multiresolution Signal Decomposition: The Wavelet Decomposition, IEEE Transactions on Pattern Analysis and Machine Intelligence 11 (1989), 674-693.
III-l
Appendix III
Nonstandard Matrix Multiplication
Wave packets. Define wave packets over I2 in the usual way. For a pair P = {pi}, Q = {qi} of quadrature mirror filters (QMFs) satisfying the orthogonality and decay conditions stated in [CW], there is a unique solution to the functional equation
Figure imgf000040_0001
Put w = w o,o,o = Φ, and define recursively
Figure imgf000040_0002
Then set wnm k(t) = 2m/2wn00(2m t - k). Write W(R) = {wnmk : n, m, k∈Z} for the collection of functions so defined, which we shall call wave packets.
The quadrature mirror filters P, Q may be chosen so that W(R) is dense in many common function spaces. With the minimal hypotheses of [CW], W(R) will be dense in L2(R). Using the Haar filters P =
Figure imgf000040_0003
produces W(R) which is dense in Lp(R) for 1 < p <∞ . Longer filters can generate smoother wave packets, so we can also produce dense subsets of Sobolev spaces, etc.
Basis subsets. Define a basis subset σ of the set of indices {(n, m, k) ∈ Z3} to be any subcollection with the property that {wnmk : (n, m , k)∈ σ} is a Hilbert basis for L2(R). We characterize basis subsets in [W1]. Abusing notation, we shall also refer to the collection of wave packets {wnmk : (n, m, k)∈ σ} as a basis subset.
Since L2∩ Lp is dense in Lp for 1≥ p <∞ , with certain QMFs a basis subset will also be a basis for Lp. Likewise, for nice enough QMFs, it will be a Hilbert basis for the various Sobolev spaces.
Since L2 (R)
Figure imgf000040_0005
L2 (R) is dense in L2 (R2 ), the collection of vectors
Figure imgf000040_0004
W(X), wY∈ W(Y)} is dense in the space of Hilbert-Schmidt operators. Call σ C Z6 a III-2 basis subset if the collection {wnXmXkX wnYmYkY : (nX,mX,kX,nY,mY,kY)∈ σ} forms a Hilbert basis. Such two-dimensional basis subsets are characterized in [W2],
Ordering wave packets. Wave packets wnmk can be totally ordered. We say that w < w' if (m,n,k) < (m',n',k'). The triplets are compared lexicographically, counting the scale parameter m as most significant.
Tensor products of wave packets inherit this total order. Write wX = wnXmXKX, etc. Then we will say that wX
Figure imgf000041_0001
> w Y < wX'
Figure imgf000041_0002
wY' if wX < wX' , or else if wX = wX' but w Y < wY' . This is equivalent to
(mX,nX,kX,mY,nY,kY) < (m'X,n'X,kX' ,m'Y,nY' ,kY), comparing lexicographically from left to right.
Define the adjoint order <* by exchanging X and Y indices, namely wx
Figure imgf000041_0003
w Y <* wX' g wY' if and only if wY <g> wX <* wY' wX' . This is also a total order.
Figure imgf000041_0004
Projections. Let W1 denote the space of bounded sequences indexed by the three wave packet indices n, m, k. With the ordering above, we obtain a natural isomorphism between l and W1. There is also a natural injection J1 : L2(R) → W1 given by Cnmk = (v,wnmk), for v∈ L2(R) and wnmk ∈ W (R). If σ is a basis subset, then the composition J of j1 with projection onto the subsequences indexed by σ is also
Figure imgf000041_0005
injective. J\ is an isomorphism of L2(R) onto l2(σ), which is defined to be the square summable sequences of W1 whose indices belong to σ.
We also have a map R1 : W1 → L2(R) defined by
Figure imgf000041_0006
This map is defined and bounded on the closed subspace of W1 isomorphic to I2 under the natural isomorphism mentioned above. In particular. R1 is defined and bounded on the range of for every basis subset σ. The related restriction : W1
Figure imgf000041_0007
L2(R) defined by
Figure imgf000041_0008
= ∑(n,m,k)∈σcnmkWnm k(t) is a left inverse for J1 and J^. In addition, is a projection of W1. Likewise, if ∑iαi = 1 and is one of the
Figure imgf000041_0009
Figure imgf000041_0011
above maps for each i, then is also a projection of W1. It is an orthogonal
Figure imgf000041_0010
projection on any finite subset of W1.
Similarly, writing W2 for W1 x W1 , the ordering of tensor products gives a natural isomorphism between l and W2. The space L2(R2). i.e.. the Hilbert-Schmidt operators, inject into this sequence space W2 in the obvious way, namely M → ll l-3
(M, wnXmX kX
Figure imgf000042_0011
wnYmY kY ). Call this injection J2. If σ is a basis subset of W2, then the composition
Figure imgf000042_0012
of J2 with projection onto subsequences indexed by σ is also injective. is an isomorphism of L2(R2) onto l2(σ), the square summable sequences of W2 whose indices belong to σ.
The map R2 : W2→ L2(R2) given by R2c(x, y) =∑cXYwX(x)wY(y), is bounded on that subset of W2 naturally isomorphic to I2. In particular, it is bounded on the range of for every basis subset σ.
We may also define the restrictions
Figure imgf000042_0001
of R2 to subsequences indexed by σ, defined by c(x, y) = Σ ( w X ,wY )εσ cXYwX(x)wY(y). There is one for each basis subset σ of W2. Then
Figure imgf000042_0002
is a left inverse of J2 and
Figure imgf000042_0003
and
Figure imgf000042_0004
is a projection of W2. As before, if ∑i α i = 1 and σi is a basis subset for each i, then J2 Σ i is also a projection of
Figure imgf000042_0005
W2. It is an orthogonal projection on any finite subset of W2.
Applying operators to vectors. For definiteness, let X and Y be two named copies of R. Let v∈ L2 (X) be a vector, whose coordinates with respect to wave packets form the sequence J1v = {(v, wX) : w X∈ W(X)}.
Let M : L2(X)→ L2(Y) be a Hilbert-Schmidt operator. Its matrix coefficients with respect to the complete set of tensor products of wave packets form the sequence J2M = {(M, wX wY) : wX∈ W(X),wY∈ W(Y)}. We obtain the identity
Figure imgf000042_0006
∑]
Figure imgf000042_0007
This identity generalizes to a linear action of W2 on W1 defined by
Figure imgf000042_0008
Now. images of operators form a proper submanifold of W2. Likewise, images of vectors form a submanifold W1. We can hft the action of M on v to these larger spaces via the commutative diagram
Figure imgf000042_0009
The significance of this lift is that by a suitable choice of σ we can reduce the complexity of the map and therefore the complexity of the operator application.
Figure imgf000042_0010
III-4
Composing operators. Let X, Y, Z be three named copies of R. Suppose that M : L2(X) → L2(Y) and N : L2(Y)→ L2(Z) are Hilbert-Schmidt operators. We have the identity
Figure imgf000043_0001
This generalizes to an action of W2 on W2, which is defined by the formula
Figure imgf000043_0002
where c and d are sequences in W2. Using J2, we can hft multiplication by N to an action on these larger spaces via the commutative diagram
Figure imgf000043_0003
Again, by a suitable choice of σ the complexity of the operation may be reduced to below that of ordinary operator composition.
Operation counts: transforming a vector. Suppose that M is a non-sparse operator of rank r. Ordinary multiplication of a vector by M takes at least O(r2) operations, with the minimum achievable only by representing M as a matrix with respect to the bases of its r-dimensional domain and range.
On the other hand, the injection J2 will require O(r2[log r]2) operations, and each of J1 and R1 require O(r log r) operations. For a fixed basis subset σ of W2. the application of
Figure imgf000043_0004
to J1 v requires at most
Figure imgf000043_0005
operations, where #|U| denotes the number of nonzero coefficients in U. We may choose our wavelet library so that,
= O(r2). Thus the multiplication method described above costs an initial
Figure imgf000043_0006
investment of O(r2[log r]2), plus at most an additional O(r2) per right-hand side. Thus the method has asymptotic complexity O(r2) per vector in its exact form, as expected for what is essentially multiplication by a conjugated matrix.
We can obtain lower complexity if we take into account the finite accuracy of our calculation. Given a fixed matrix of coefficients C, write Cδ for the same matrix with all coefficients set to 0 whose absolute values are less than δ. By the continuity of the Hilbert-Schmidt norm, for every ε > 0 there is a δ > 0 such that ||C-Cδ || HS < ε. Given III-5
M and ε as well as a library of wave packets, we can choose a basis subset σ C W2 so as to minimize The choice algorithm has complexity O(r2[log r]2), as
Figure imgf000044_0001
shown in [W2]. For a certain class of operators, there is a library of wave packets such that for every fixed δ > 0 we have
(S)
Figure imgf000044_0002
with the constant depending, of course, on δ. We will characterize this class, give examples of members, and find useful sufficient conditions for membership in it. For the moment, call this class with property S the sparsifiable Hilbert-Schmidt operators S. By the estimate above, finite-precision multiphcation by sparsifiable rank-r operators has asymptotic complexity O(r log r).
Operation counts: composing two operators. Suppose that M and N are rank-r- operators. Standard multiplication of N and M has complexity O(r3). The complexity of injecting N and M into W2 is O(r2[logr]2). The action of
Figure imgf000044_0003
on J2M has complexity O(∑nm k #|
Figure imgf000044_0004
: (nY, mY, kY) = (n, m, k)l# lJ2MXY : (nY. mY. kY) = (n. m, k)|). The second factor is a constant rlogr, while the first when summed over all nmk is exactly Thus the complexity of the nonstandard multiplication
Figure imgf000044_0005
algorithm, including the conjugation into the basis set σ, is Since
Figure imgf000044_0006
the first factor is r2 in general, the complexity of the exact algorithm is O{rz log r) for generic matrices, reflecting the extra cost of conjugating into the basis set σ.
For the approximate algorithm, the complexity is
Figure imgf000044_0007
r For the sparsifiable matrices, this can be reduced by a suitable choice of σ to a complexity of O(r2[log r]2) for the complete algorithm. Since choosing σ and evaluating each
Figure imgf000044_0008
have this complexity, it is not possible to do any better by this method.
REFERENCE
[CW] -, Appendix II.
[W2] -, Appendix V. IV-1
Appendix IV
Entropy of a Vector Relative to a Decomposition
Let v H ||v|| = 1 and assume
Figure imgf000045_0001
an orthogonal direct sum. We define
Figure imgf000045_0002
as a measure of distance between υ and the orthogonal decomposition.
ε2 is characterized by the Shannon equation which is a version of Pythagoras' theorem.
Let
Figure imgf000045_0003
Hi and Hj give orthogonal decomposition H+ =∑Hi H_ =∑Hj. Then
Figure imgf000045_0004
This is Shannon's equation for entropy (if we interpret as in quantum mechanics || PH+v||2 as the "probability" of v to be in the subspace H+).
This equation enables us to search for a smallest entropy space decomposition of a given vector. We need the following H = H1
Figure imgf000045_0006
H2.
Figure imgf000045_0005
H1 has two decompositions in Hi or Kj. lV-2 Lemma 1. Let v ε H with ||v|| and v1 = PH1v
Figure imgf000046_0001
Assume also that
Figure imgf000046_0002
1 we have ε2{v,{Hi,Lj })<ε2{v,{Kj,Li})
Proof. By Shannon's equation ε2(v,{Hi,Lj }) = ε2{v,{H1,H2}) + ||v1||2 ε2
Figure imgf000046_0003
+ ||v2||2 ε2
Figure imgf000046_0004
j
< ε2(v, {H1,H2}) + ||v1||2 ε2 K, {Kj }) + ||v2||2 ε2 ( j
Figure imgf000046_0005
= ε2(v,{K\Li}).
Corollary. Assume ε2(
Figure imgf000046_0006
{Hi}) is the smallest entropy obtained for some collection of decompositins of H1 and similarly, ε2 {Li}) is minimal. Then ε2(υ; {Hi,Lj}) is
Figure imgf000046_0007
minimal for the direct sum of these collections.
We consider the following generic example on L2(R+).
Let l denote a dyadic interval of the form {2jk,2j(k + 1)] , j≥ 0 k≥ 0, and {Iα} a disjoint cover over (0,∞ ) consisting of dyadic intervals. We let H = L2(Iα) on which we chose an orthonormal basis { α fixed (say trig polynomials exp
Figure imgf000046_0008
Figure imgf000046_0009
and consider £ } as an orthonormal basis of L2(R+). Thus
Figure imgf000046_0010
Figure imgf000046_0011
L2(R+ =∑H-=
Figure imgf000046_0012
Given a vector υ we wish to find Iα such that ε2(υ,{eα,k}) is minimal. In order to find Iα we use a stopping time argument. Starting with intervals of length one I = (ℓ,ℓ + 1]. We pick a dyadic interval of length two which contains halves l1I2 of length one, i.e. J = I1 U I2. We compart
Figure imgf000046_0013
and pick the basis given the smallest entropy leading to a cover of L2 (R) by intervals of length one and two. We now consider dyadic intervals K of length 4 and compare
Figure imgf000046_0014
IV-3 where Iα form a cover of K by dyadic intervals of length one or two selected previously to minimize ε2 on each half of K.
(If the vector function υ has bounded support we restrict our attention only to dyadic intervals contained in the smallest dyadic interval containing the support of υ) and continue this procedure up to this largest scale. We claim that the final partition Iα and corresponding basis provides the minimal entropy decomposition. In fact, this is an immediate consequence of Lemma 1 which shows that given the optimal minimum entropy partition any refinement corresponds to worse entropy.
V-l
Appendix V
Higher-Dimensional Best Basis Selection
Introduction. We introduce a method of coding by orthogonal functions which may be used to compress digitized pictures or sequences of pictures, matrices and linear operators, and general sampled functions of several variables. The method selects a most efficient orthogonal representation from among a large number of possibilities. The efficiency functional need only be additive across direct sum decompositions. We present a description of the method for pictures, namely functions of two variables, using Shannon entropy as the efficiency functional, and mean-square deviation as the error criterion.
Best basis method. In Appendix II is developed a method for generating a library of orthogonal vectors in Rn (for large n) together with a notion of admissible subsets of these vectors. Admissible subsets form orthonormal bases of wavelet-packets, which because of their homogeneous tree structure may be rapidly searched for functional extrema. We can use a family of orthonormal vectors well suited to representing functions of 2 variables. These are products of quadrature mirror filters, as defined below:
Let {pk}, {qk} belong to I1, and define two decimating convolution operators P : I2→ I2, Q : I2→ I2 as follows:
Figure imgf000048_0001
P and Q are called quadrature mirror filters if they satisfy an orthogonality condition:
PQ* = QP* = 0, where P* denotes the adjoint of P. and Q* the adjoint of Q. They are further called perfect reconstruction filters if they satisfy the condition
P*P + Q*Q = I, V-2 where I is the identity operator. These conditions translate to restrictions on the sequences {pk}, {qk}. Let m0, m1 be (bounded) functions defined by
Figure imgf000049_0001
Then P, Q are quadrature mirror filters if and only if the matrix below is unitary for all ξ:
Figure imgf000049_0002
This fact is proved in [D].
Now we can define a number of orthogonal 2-dimensional convolution-decimation filters in terms of P and Q. Four of them are simply tensor products of the pair of quadrature mirror filters, as in the construction of 2-dimensional wavelets of Meyer [M].
Figure imgf000049_0003
There are also pairs of extensions of one dimensional filters:
Figure imgf000049_0004
V-3 These convolution-decimations have the following adjoints:
Figure imgf000050_0001
The orthogonality relations for this collection are as follows:
Figure imgf000050_0002
By a "picture" we will mean any function S = S(x, y) l2(Z2). The space l2(Z2) of pictures may be decomposed into a partially ordered set W of subspaces W{nX, nY, mX, mY), where m X≥ 0, m Y≥ 0, 0≤ nX < 2mX . and 0≤ n Y < 2mY . These are the images of orthogonal projections composed of products of convolution- V-4 decimations. Put W(0,0,0,0) = I2, and define recursively
W(2nX + i.2nY + j,mX + 1, mY + 1) =
Figure imgf000051_0002
+jF2i+jW(nX,nY,mX,mY),
W(2nX,nY,mX + 1,mY) =
Figure imgf000051_0003
χPXW(nX,nY,mX,mY),
W(2nX + 1,nY,mX + l,mY) =
Figure imgf000051_0004
QXW(nX,nY,mX,mY),
W(nX, 2nY,mX, mY + 1) =
Figure imgf000051_0005
γPY W(nX,nY,mx,mY),
W(nX,2nY + 1,mX,mY + 1) =
Figure imgf000051_0006
χQXW(nX,nY,mX,mY).
These subspaces may be partiaUy ordered by a relation which we define recursively as well. We say W is a precursor of W' (write W ~< W') if they are equal or if W' = G*GW for a convolution-decimation G in the set {F0,F1,F2,F3,PX,PY,QX,QY}. We also say that W
Figure imgf000051_0007
< W' if there is a finite sequence V1,...,Vn of subspaces in W such that W
Figure imgf000051_0008
< W. This is well defined, since each application of G*G increases at least one of the indices m X or mY .
While {W,
Figure imgf000051_0009
} is not a tree, it may be made into a tree if we select a subset of the relation
Figure imgf000051_0010
We will say that W = W(nX,nY,mX,mY) is a principal precursor of W' = W(n'X,n'Y,m'X,mY' ) (and write W -< W') if one of the following holds:
(1) mY = mX, and W' = G*GW for G {F0,F1,F2,F3,PX,PY,QX,QY}, or
(2) mY < mX, and W' = G*GW for G {PX,QX}, or
(3) mY > mX, and W' = G*GW for G {PY,Qy}.
Further, we will say that W -< W if there is a finite sequence V0,...,Vn of subspaces in W with W
Figure imgf000051_0011
W'. The relation
Figure imgf000051_0014
is well defined, since it is a subrelation of
Figure imgf000051_0012
and it is not hard to see that every subspace W W has a unique first principal precursor. Therefore,
Figure imgf000051_0013
forms a (nonhomogeneous) tree, with W(0,0,0,0) at its root.
Subspaces of a single principal precursor W W will be called its children. By the orthogonality condition,
(F)
(X)
(Y)
Figure imgf000051_0001
The right hand side contains all the children of W, divided into the groups "F." "X." and "Y." Each labelled group of children provides a one-step orthogonal decomposition of W. and in general we will have three subsets of the children to choose from. V-5
The coordinates with respect to the standard basis of W(nX,nY,mX,mY) form the sequence G 1... GmW(0,0,0,0), where ra = max{mX, mY}, and the particular filters G1...Gm are determined uniquely by nx and ray. This is described in Appendix II, attached hereto. Therefore we can express in standard coordinates the orthogonal projections of W(0,0,0,0) onto the complete tree of subspaces W by recursively convolving and decimating with the filters.
Relation with one-dimensional wave packets. Let wnm k be a one-dimensional wave packet at sequency n, scale ra and position k, in the notation of Appensix II. Then the element in the (kX,kY) position of the subspace W(nX,nY,mX,mY), at the index (x,y), may be written as wnX,mX,kX(x)wnY,mY,kY(y), which is evidently the tensor product of two one-dimensional wave packets. This is easily seen from the construction of W(nX,nY,mX,mY): in the x-direction, there will be a total of mX convolution-decimations in the order determined by nx, with the result translated to position kX, and similarly in the y-direction.
We will use the notation w
Figure imgf000052_0002
® υ for the tensor product of two one-dimensional wave packets, with the understanding that the second factor depends on the y-coordinate. Since the one-dimensional wave packets are themselves a redundant spanning set, their tensor products contain a redundancy of bases for l2R2. We can search this collection of bases efficiently for a best-adapted basis, using any additive measure of information, in a manner only slightly more complicated than for the one dimensional case.
Selecting a best basis. Let S = S(x,y) be a picture, and let W be a tree of wavelet, packets. Choose an additive measure of information as described in Appendix II, and attribute to each node W(nX,nY,mX,mY) the measure of information contained in the coordinates of S with respect to the wavelet packets it contains. For example, we may use Shannon entropy,
H(W)= p2logp2,
Figure imgf000052_0001
wherep = (S,wnXm XkX
Figure imgf000052_0003
wnYmYkY), and W = W(nX,mX,nY,mY). We will choose an arbitrary maximum level in the tree W. and mark all of its nodes as "kept." Proceeding up from this level to the root, we will compare H (W) for a node W of the tree W to the minimum of∑w
Figure imgf000052_0004
<w'εF H(W),∑w
Figure imgf000052_0005
<w'εX H(W'). and∑W
Figure imgf000052_0006
<W'εY H(W'). If H(W) is less, then mark W as "kept" and mark as "not kept" all nodes W' with W W; otherwise, markW as "not kept," but attribute to it the minimum of the entropies of its children. When this procedure terminates at the root, the nodes marked "kept" will comprise an orthogonal collection of wavelet packets. V-6
It is not necessary to mark all descendants of a "kept" parent as not kept. The complexity of the search algorithm is O(nlogn) if we never change the status of descendants, but instead take for the orthogonal coUection only those nodes marked "kept" which have no ancestors marked "kept." These may be listed efficiently by indexing the tree in the preorder or depth-first order.
Error estimates for the best basis. Let H(S) denote the entropy of the picture S in the best basis found above. This quantity will be found attributed to node W(0, 0, 0, 0) at the end of the search. It is related to the classical Shannon entropy H 0 by the equation
H0 (S) = ||5||- 2H(S) + log ||5||2
The largest exp H 0( S) = ||5||2 expΗ(5)/||5||2 terms of the wavelet packet expansion for S contain essentially all the energy of the original picture. Mean square error bounds for specific classes of signals are provided in Appendix IV.
REFERENCES
[D] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets. Communications on
Pure and Applied Mathematics XLI (1988), 909-996.
[M] Yves Meyer, De la recherche petroliere a la geometrie des espaces de Banach en passant par les paraproduits, Seminaire equations aux derivees partielles 1985-1986, Ecole Poly technique.
Palaiseaux.

Claims

CLAIMS :
1. A method for encoding and decoding an input signal, comprising the steps of:
applying combinations of dilations and translations of a wavelet to the input signal to obtain processed values;
computing the information costs of the processed values;
selecting, as encoded signals, an orthogonal group of processed values, the selection being dependent on the computed information costs; and
decoding the encoded signals to obtain an output signal.
2. The method as defined by claim 1, wherein said wavelet has a plurality of vanishing moments.
3. The method as defined by claim 1 or 2, further
comprising transmitting the encoded signals, and receiving the transmitted encoded signals before the decoding thereof .
4 . The method as defined by claim 3 , further comprising storing the encoded signals, and reading the stored encoded signals before the decoding thereof.
5. The method as defined by claim 2, wherein said step of applying combinations of dilations and translations of the wavelet to the input signal to obtain processed values comprises correlating said combinations of dilations and translations of the wavelet with the input signal.
6. The method as defined by claim 2 or 5, wherein
combinations of dilations and translations of the wavelet are designated as wavelet-packets, and wherein the step of applying wavelet-packets to the input signal to obtain processed values includes: generating a tree of processed values, the tree having successive levels obtained by applying to the input signal, for a given level, wavelet-packets which are combinations of the wavelet-packets applied at a previous level.
7. The method as defined by claim 6, wherein the steps of computing information costs and selecting an orthogonal group of processed values includes performing said computing at a number of different levels of said tree, and performing said selecting from among the different levels of the tree.
8. The method as defined by claim 2 or 7, wherein said step of selecting an orthogonal group of processed values
comprises selecting an orthogonal group having a minimal
information cost.
9. The method as defined by claim 8, wherein said step of selecting an orthogonal group of processed values includes generating encoded signals which represent said processed values in conjunction with their respective locations in said tree.
10. A method for encoding an input signal, comprising the steps of:
selecting a wavelet having a plurality of vanishing moments;
applying combinations of dilations and translations of the wavelet to the input signal to obtain processed values; and selecting, as encoded signals, an orthogonal group of processed values.
11. The method as defined by claim 10, further comprising decoding the encoded signals.
12. The method as defined by claim 10 or 11, further comprising transmitting the encoded signals, and receiving the transmitted encoded signals before the decoding thereof.
13. The method as defined by claim 10, wherein said step of applying combinations of dilations and translations of the wavelet to the input signal to obtain processed values comprises correlating said combinations of dilations and translations of the wavelet with the input signal.
14. A method for encoding an input signal, comprising the steps of:
applying combinations of dilations and translations of a wavelet to the input signal to obtain processed values;
computing the information costs of the processed
values; and
selecting, as encoded signals, an orthogonal group of processed values, the selection being dependent on the computed information costs.
15. The method as defined by claim 14, wherein said wavelet has a plurality of vanishing moments.
16. The method as defined by claim 15, further comprising transmitting the encoded signals, and receiving the transmitted encoded signals before the decoding thereof.
17. The method as defined by claim 15, further comprising storing the encoded signals.
18. The method as defined by claim 15, wherein said step of applying combinations of dilations and translations of the wavelet to the input signal to obtain processed values comprises correlating said combinations of dilations and translations of the wavelet with the input signal.
19. The method as defined by claim 15 or 18, wherein combinations of dilations of the wavelet are designated as wavelet-packets, and wherein the step of applying wavelet-packets to the input signal to obtain processed values includes:
generating a tree of processed values, the tree having successive levels obtained by applying to the input signal, for a given level, wavelet-packets which are combinations of the
wavelet-packets applied at a previous level.
20. The method as defined by claim 19, wherein the steps of computing information costs and selecting an orthogonal group of processed values includes performing said computing at a number of different levels of said tree, and performing said selecting from among the different levels of the tree.
21. The method as defined by claim 15, wherein said step of selecting an orthogonal group of processed values comprises selecting an orthogonal group having a minimal information cost.
22. The method as defined by claim 20, wherein said step of selecting an orthogonal group of processed values comprises selecting an orthogonal group having a minimal information cost.
23. The method as defined by claim 22, wherein said step of selecting an orthogonal group of processed values includes generating encoded signals which represent said processed values in conjunction with their respective locations in said tree.
24. For use in a system which receives an encoded signal obtained by: applying combinations of dilations and translations of a wavelet having a plurality of vanishing moments to the input signal to obtain processed values; and selecting, as encoded signals, an orthogonal group of processed values; a decoding method comprising: sequentially applying combinations of
dilations and translations of a wavelet having a plurality of vanishing moments to the encoded signals to decode said encoded signals; and outputting the decoded result.
25. The decoding method as defined by claim 24, wherein the encoded signals include identification of the selected orthogonal group of processed values, and further comprising the step of determining said identification, and performing the sequential decoding procedure in accordance with said identification.
26. Apparatus for encoding an input signal, comprising: means for applying combinations of dilations and translations of the wavelet to the input signal to obtain
processed values;
means for computing the information costs of the processed values;
means for selecting, as encoded signals, an orthogonal group of processed values, the selection being dependent on the computed information costs.
27. Apparatus as defined by claim 26, wherein said
wavelet has a plurality of vanishing moments.
28. Apparatus as defined by claim 27, wherein said means for applying combinations of dilations and translations of the wavelet to the input signal to obtain processed values comprises means for correlating said combinations of dilations and
translations of the wavelet with the input signal.
29. Apparatus for encoding an input signal, comprising: means for applying combinations of dilations and translations of a wavelet having a plurality of vanishing moments to the input signal to obtain processed values; and
means for selecting, as encoded signals, an orthogonal group of processed values.
30. For use in a system which receives an encoded signal obtained by: applying combinations of dilations and translations of a wavelet having a plurality of vanishing moments to the input signal to obtain processed values; and selecting, as encoded signals, an orthogonal group of processed values; a decoding apparatus comprising: means for sequentially applying
combinations of dilations and translations of a wavelet having a plurality of vanishing moments to the encoded signals to decode said encoded signals; and means for outputting the decoded result.
PCT/US1991/003504 1990-05-18 1991-05-17 Method and apparatus for encoding and decoding using wavelet-packets WO1991018361A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP91514408A JPH05507598A (en) 1990-05-18 1991-05-17 Method and apparatus for encoding and decoding using small wave packets
CA002083158A CA2083158C (en) 1990-05-18 1991-05-17 Method and apparatus for encoding and decoding using wavelet-packets

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/525,973 US5384725A (en) 1990-05-18 1990-05-18 Method and apparatus for encoding and decoding using wavelet-packets
US525,973 1990-05-18

Publications (1)

Publication Number Publication Date
WO1991018361A1 true WO1991018361A1 (en) 1991-11-28

Family

ID=24095386

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1991/003504 WO1991018361A1 (en) 1990-05-18 1991-05-17 Method and apparatus for encoding and decoding using wavelet-packets

Country Status (5)

Country Link
US (2) US5384725A (en)
EP (1) EP0531455A4 (en)
JP (1) JPH05507598A (en)
CA (1) CA2083158C (en)
WO (1) WO1991018361A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US5867602A (en) * 1994-09-21 1999-02-02 Ricoh Corporation Reversible wavelet transform and embedded codestream manipulation
US5881176A (en) * 1994-09-21 1999-03-09 Ricoh Corporation Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
US5966465A (en) * 1994-09-21 1999-10-12 Ricoh Corporation Compression/decompression using reversible embedded wavelets
US5999656A (en) * 1997-01-17 1999-12-07 Ricoh Co., Ltd. Overlapped reversible transforms for unified lossless/lossy compression
US6195465B1 (en) 1994-09-21 2001-02-27 Ricoh Company, Ltd. Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US6314452B1 (en) 1999-08-31 2001-11-06 Rtimage, Ltd. System and method for transmitting a digital image over a communication network
US6757437B1 (en) 1994-09-21 2004-06-29 Ricoh Co., Ltd. Compression/decompression using reversible embedded wavelets

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5384725A (en) * 1990-05-18 1995-01-24 Yale University Method and apparatus for encoding and decoding using wavelet-packets
DE69210689T2 (en) * 1991-01-08 1996-11-21 Dolby Lab Licensing Corp ENCODER / DECODER FOR MULTI-DIMENSIONAL SOUND FIELDS
GB2272554A (en) * 1992-11-13 1994-05-18 Creative Tech Ltd Recognizing speech by using wavelet transform and transient response therefrom
FR2720439B1 (en) * 1994-05-24 1996-07-05 Inst Francais Du Petrole Method and system for analyzing the behavior of a drill string.
US5604824A (en) * 1994-09-22 1997-02-18 Houston Advanced Research Center Method and apparatus for compression and decompression of documents and the like using splines and spline-wavelets
GB2295936B (en) * 1994-12-05 1997-02-05 Microsoft Corp Progressive image transmission using discrete wavelet transforms
US5666475A (en) * 1995-01-03 1997-09-09 University Of Washington Method and system for editing multiresolution images at fractional-levels of resolution using a wavelet representation
US5852681A (en) * 1995-04-20 1998-12-22 Massachusetts Institute Of Technology Method and apparatus for eliminating artifacts in data processing and compression systems
US6483946B1 (en) 1995-10-25 2002-11-19 Sarnoff Corporation Apparatus and method for encoding zerotrees generated by a wavelet-based coding technique
JPH09128375A (en) * 1995-10-27 1997-05-16 Hitachi Ltd Method for analyzing frequency of time sequence data
US5831625A (en) * 1996-01-02 1998-11-03 Integrated Device Technology, Inc. Wavelet texturing
US6144773A (en) * 1996-02-27 2000-11-07 Interval Research Corporation Wavelet-based data compression
US5999355A (en) 1996-04-30 1999-12-07 Cirrus Logic, Inc. Gain and phase constrained adaptive equalizing filter in a sampled amplitude read channel for magnetic recording
US5748116A (en) * 1996-11-27 1998-05-05 Teralogic, Incorporated System and method for nested split coding of sparse data sets
US5909518A (en) * 1996-11-27 1999-06-01 Teralogic, Inc. System and method for performing wavelet-like and inverse wavelet-like transformations of digital data
US5893100A (en) * 1996-11-27 1999-04-06 Teralogic, Incorporated System and method for tree ordered coding of sparse data sets
JPH10198657A (en) * 1997-01-08 1998-07-31 Toshiba Corp Signal processor
US6157746A (en) * 1997-02-12 2000-12-05 Sarnoff Corporation Apparatus and method for encoding wavelet trees generated by a wavelet-based coding method
DE69811072T2 (en) 1997-05-30 2004-01-15 Interval Research Corp METHOD AND DEVICE FOR DATA COMPRESSION BASED ON WAVELETS
US6167155A (en) * 1997-07-28 2000-12-26 Physical Optics Corporation Method of isomorphic singular manifold projection and still/video imagery compression
US6937659B1 (en) * 1997-11-14 2005-08-30 Ac Capital Management, Inc. Apparatus and method for compressing video information
US6700939B1 (en) * 1997-12-12 2004-03-02 Xtremespectrum, Inc. Ultra wide bandwidth spread-spectrum communications system
US6373986B1 (en) 1998-04-08 2002-04-16 Ncr Corporation Compression of data transmission by use of prime exponents
US6326965B1 (en) 1998-04-14 2001-12-04 International Business Machines Corp. Interactive representation and retrieval of multi-dimensional data using view elements
US6014671A (en) * 1998-04-14 2000-01-11 International Business Machines Corporation Interactive retrieval and caching of multi-dimensional data using view elements
EP1099124A2 (en) 1998-07-22 2001-05-16 Geo Energy, Inc. Fast compression and transmission of seismic data
US6570924B1 (en) * 1998-11-20 2003-05-27 Interval Research Corp Low cost video compression using fast, modified Z-coding of wavelet pyramids
US7346120B2 (en) * 1998-12-11 2008-03-18 Freescale Semiconductor Inc. Method and system for performing distance measuring and direction finding using ultrawide bandwidth transmissions
US6223183B1 (en) * 1999-01-29 2001-04-24 International Business Machines Corporation System and method for describing views in space, time, frequency, and resolution
US7180588B2 (en) * 1999-04-09 2007-02-20 Plain Sight Systems, Inc. Devices and method for spectral measurements
EP1188069A2 (en) 1999-06-09 2002-03-20 Beamcontrol Aps A method for determining the channel gain between emitters and receivers
US6466957B1 (en) 1999-09-02 2002-10-15 3Com Corporation Reduced computation system for wavelet transforms
AU2607601A (en) * 1999-12-30 2001-07-16 Comlink 3000 Electromagnetic matched filter based multiple access communications systems
JP2003535552A (en) * 2000-05-26 2003-11-25 エクストリームスペクトラム,インコーポレイテッド Ultra wideband spread spectrum communication method and system
US6590510B2 (en) 2000-06-16 2003-07-08 Lionel Jacques Woog Sample rate converter
AU2001282867A1 (en) 2000-08-07 2002-02-18 Xtremespectrum, Inc. Electrically small planar uwb antenna apparatus and system thereof
WO2002071256A1 (en) * 2001-02-20 2002-09-12 Brown University Research Foundation Signal adaptive filter bank optimization
US20030046322A1 (en) * 2001-06-01 2003-03-06 David Guevorkian Flowgraph representation of discrete wavelet transforms and wavelet packets for their efficient parallel implementation
US20030093451A1 (en) * 2001-09-21 2003-05-15 International Business Machines Corporation Reversible arithmetic coding for quantum data compression
US7065465B2 (en) * 2002-03-26 2006-06-20 Lockheed Martin Corporation Method and system for multi-sensor data fusion
US7017186B2 (en) * 2002-07-30 2006-03-21 Steelcloud, Inc. Intrusion detection system using self-organizing clusters
US7944974B2 (en) * 2002-12-17 2011-05-17 Zoran (France) Processing or compressing n-dimensional signals with warped wavelet packets and bandelets
US6859764B2 (en) * 2003-04-03 2005-02-22 The United States Of America As Represented By The Secretary Of The Army Detecting, classifying and localizing minor amounts of an element within a sample of material
US7653255B2 (en) 2004-06-02 2010-01-26 Adobe Systems Incorporated Image region of interest encoding
US7639886B1 (en) 2004-10-04 2009-12-29 Adobe Systems Incorporated Determining scalar quantizers for a signal based on a target distortion
US7904144B2 (en) * 2005-08-02 2011-03-08 Brainscope Company, Inc. Method for assessing brain function and portable automatic brain function assessment apparatus
US7720530B2 (en) * 2005-08-02 2010-05-18 Brainscope Company, Inc. Field-deployable concussion detector
US7496453B2 (en) * 2006-11-07 2009-02-24 The Hong Kong Polytechnic University Classification of herbal medicines using wavelet transform
WO2009011735A1 (en) * 2007-07-16 2009-01-22 Exxonmobil Upstream Research Company Geologic features from curvelet based seismic attributes
WO2009081238A1 (en) * 2007-12-26 2009-07-02 Zoran (France) Filter banks for enhancing signals using oversampled subband transforms
CN101577551A (en) 2009-05-27 2009-11-11 华为技术有限公司 Method and device for generating lattice vector quantization codebook
US9402579B2 (en) * 2010-02-05 2016-08-02 The Research Foundation For The State University Of New York Real-time assessment of absolute muscle effort during open and closed chain activities
EP2390821A1 (en) 2010-05-28 2011-11-30 Ecole Polytechnique Multiscale modulus filter bank and applications to pattern detection, clustering, classification and registration
US9030908B2 (en) * 2011-09-23 2015-05-12 Texas Instruments Incorporated Programmable wavelet tree
CN107635472A (en) 2015-06-19 2018-01-26 神经系统分析公司 Transcranial doppler detector
US10617388B2 (en) 2016-01-05 2020-04-14 Neural Analytics, Inc. Integrated probe structure
EP3399918A4 (en) 2016-01-05 2019-08-21 Neural Analytics, Inc. Systems and methods for determining clinical indications
US11589836B2 (en) 2016-01-05 2023-02-28 Novasignal Corp. Systems and methods for detecting neurological conditions
CN109740111B (en) * 2018-12-24 2023-09-22 华北科技学院 Method for predicting value of electric field to ground

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706499A (en) * 1986-05-02 1987-11-17 Anderson Forrest L Single pulse imaging device using huygens wavelet reconstruction
US4922465A (en) * 1989-05-30 1990-05-01 Geco A/S Interpolation of severely aliased events
US4974187A (en) * 1989-08-02 1990-11-27 Aware, Inc. Modular digital signal processing system
US5000183A (en) * 1988-09-30 1991-03-19 U.S. Philips Corporation Device for processing an echographic signal
US5014134A (en) * 1989-09-11 1991-05-07 Aware, Inc. Image compression method and apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4224678A (en) * 1976-04-05 1980-09-23 Northrop Corporation Method and apparatus for implementing a processor based on the rationalized Haar transform for the purpose of real time compression of video data
US4210931A (en) * 1978-12-28 1980-07-01 Discovision Associates Video player and/or recorder with Hadamard transform
US4675750A (en) * 1984-10-30 1987-06-23 Fuji Photo Film Co., Ltd. Video compression system
US4744028A (en) * 1985-04-19 1988-05-10 American Telephone And Telegraph Company, At&T Bell Laboratories Methods and apparatus for efficient resource allocation
JP2608400B2 (en) * 1986-06-16 1997-05-07 富士写真フイルム株式会社 Image reconstruction method from compressed image data
DE3815177C1 (en) * 1988-05-04 1989-09-28 Braun Ag, 6000 Frankfurt, De
US5384725A (en) * 1990-05-18 1995-01-24 Yale University Method and apparatus for encoding and decoding using wavelet-packets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706499A (en) * 1986-05-02 1987-11-17 Anderson Forrest L Single pulse imaging device using huygens wavelet reconstruction
US5000183A (en) * 1988-09-30 1991-03-19 U.S. Philips Corporation Device for processing an echographic signal
US4922465A (en) * 1989-05-30 1990-05-01 Geco A/S Interpolation of severely aliased events
US4974187A (en) * 1989-08-02 1990-11-27 Aware, Inc. Modular digital signal processing system
US5014134A (en) * 1989-09-11 1991-05-07 Aware, Inc. Image compression method and apparatus

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
G. STRANS, "Wavelets and Dilation Equations: A Brief Introduction", SIAM Review, August 1989, see whole document. *
I. DARBECHIES, "Oxthonormul Bases of Compactly Supported Wavelets", Comm. Pure, Applied Math, XL1, 1988, see whole document. *
R.R. LOIFMAN, "Wavelet Analysis and Signal Processing", IMA Volumes in Mathematics and its Applications, Vol. 22, Springer Verlag, 1990, see whole document. *
S. MALLAT, "Review of Multifrequency Channel Decomposition of Images and Wavelet Models", Technical Report 412, Robotics Report 1/8, NYU(1988), see whole document. *
S.G. MALLAT, "A Theory for Multiresoluction Signal Decomposition: The Wavelet Representation", IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. II, No. 7, July 1989, see whole document. *
See also references of EP0531455A4 *
T. MEYER, Wavelets and Operators, Analysis at Urbana, volil, edited by E. Berkson, N.T. Peck and J. Uhl, Lordon Math, Society, Lecture Notes Series 137, 1989, see whole document. *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US5867602A (en) * 1994-09-21 1999-02-02 Ricoh Corporation Reversible wavelet transform and embedded codestream manipulation
US5881176A (en) * 1994-09-21 1999-03-09 Ricoh Corporation Compression and decompression with wavelet style and binary style including quantization by device-dependent parser
US5966465A (en) * 1994-09-21 1999-10-12 Ricoh Corporation Compression/decompression using reversible embedded wavelets
US6195465B1 (en) 1994-09-21 2001-02-27 Ricoh Company, Ltd. Method and apparatus for compression using reversible wavelet transforms and an embedded codestream
US6222941B1 (en) 1994-09-21 2001-04-24 Ricoh Co., Ltd. Apparatus for compression using reversible embedded wavelets
US6757437B1 (en) 1994-09-21 2004-06-29 Ricoh Co., Ltd. Compression/decompression using reversible embedded wavelets
US5999656A (en) * 1997-01-17 1999-12-07 Ricoh Co., Ltd. Overlapped reversible transforms for unified lossless/lossy compression
US6314452B1 (en) 1999-08-31 2001-11-06 Rtimage, Ltd. System and method for transmitting a digital image over a communication network

Also Published As

Publication number Publication date
EP0531455A1 (en) 1993-03-17
US5384725A (en) 1995-01-24
EP0531455A4 (en) 1995-06-07
CA2083158C (en) 2001-07-17
CA2083158A1 (en) 1991-11-19
JPH05507598A (en) 1993-10-28
US5526299A (en) 1996-06-11

Similar Documents

Publication Publication Date Title
WO1991018361A1 (en) Method and apparatus for encoding and decoding using wavelet-packets
Coifman et al. Signal processing and compression with wavelet packets
Saito Simultaneous noise suppression and signal compression using a library of orthonormal bases and the minimum description length criterion
Jawerth et al. An overview of wavelet based multiresolution analyses
Daubechies et al. Wavelet transforms and orthonormal wavelet bases
Wickerhauser Adapted wavelet analysis: from theory to software
Gopinath et al. Optimal wavelet representation of signals and the wavelet sampling theorem
Strela et al. The application of multiwavelet filterbanks to image processing
Wei Wavelets generated by using discrete singular convolution kernels
US6944350B2 (en) Method for image coding by rate-distortion adaptive zerotree-based residual vector quantization and system for effecting same
Plonka The easy path wavelet transform: a new adaptive wavelet transform for sparse representation of two-dimensional data
Bultheel Learning to swim in a sea of wavelets
Aldroubi Oblique and hierarchical multiwavelet bases
Villasenor et al. Filter evaluation and selection in wavelet image compression
Behmard et al. Sampling of bandlimited functions on unions of shifted lattices
Meyer et al. Fast Wavelet Packet Image Compression.
Aase et al. Optimized signal expansions for sparse representation
Heller et al. Sobolev regularity for rank M wavelets
Li et al. On implementing transforms from integers to integers
Li et al. Lossy compression algorithms
Makur BOT's based on nonuniform filter banks
Njagi et al. On Pseudo-inverses and Duality of Frames in Hilbert Spaces
Wickerhauser Time localization techniques for wavelet transforms
Wickerhauser Time localization techniques for wavelet transforms
Yang et al. Data compression based on the cubic B-spline wavelet with uniform two-scale relation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1991915411

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2083158

Country of ref document: CA

WWP Wipo information: published in national office

Ref document number: 1991915411

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1991915411

Country of ref document: EP