US 6310972 B1 Abstract A method for encoding an image-representative signal, including the following steps: for shapes of the image, applying a transform to a segment of pixels of the shape to obtain a low pass transform component and a high pass transform component; and for segments with an odd number of pixels, including the odd pixel in the low pass transform component and excluding the odd pixel from the high pass transform component.
Claims(11) 1. A method for encoding an image-representative signal, comprising the steps of:
for shapes of said image, applying a transform to a segment of pixels of said shape to obtain a low pass transform component and high pass transform component; and
for segments with a total number of (2N−1) pixels, including the (2N−1)th pixel in the low pass transform component and excluding the (2N−1)th pixel from high pass transform component, where N is a positive integer.
2. The method as defined by claim
1, further comprising scaling the transform of said odd pixel.3. The method as defined by claim
2, wherein said segment of pixels comprises a sequence of pixels having non-zero values.4. A method for wavelet encoding image-representative signals, comprising the steps of:
identifying shape information of a shape in the image;
within each row of pixels in the shape, identifying a segment of consecutive pixels;
for an even number of consecutive pixels, N
_{i}, performing a wavelet transformation on the N_{i }pixels to generate N_{i}/2 low pass wavelet coefficients and N_{i}/2 high pass wavelet coefficients, and for an odd number of pixels, N_{i}, performing a wavelet transformation on the first N_{i}−1 pixels to generate (N_{i}−1)/2 low pass wavelet coefficients and (N_{i}−1)/2 high pass wavelet coefficients and scaling the left over pixel with the low pass coefficients at an end of the segment; repeating said wavelet transformations a number of times to obtain wavelet decomposition; and
repeating said wavelet decomposition steps for further rows of pixels in the shape.
5. The method as defined by claim
4, wherein said wavelet coefficients are placed into locations that depend on said shape information.6. The method as defined by claim
3, wherein said wavelet decomposition is performed for a further segment of consecutive pixels of a row of said shape.7. The method as defined by claim
5, wherein the recited wavelet decomposition is also performed for columns of said shape.8. The method as defined by claim
5, wherein, when N_{i }is less than the number of taps of the wavelet filter used for wavelet transformation, applying a Haar wavelet transformation.9. The method as defined by claim
4, wherein said wavelet decomposition is performed for a further segment of consecutive pixels of a row of said shape.10. The method as defined by claim
4, wherein the recited wavelet decomposition is also performed for columns of said shape.11. The method as defined by claim
4, wherein, when N_{i }is less than the number of taps of the wavelet filter used for wavelet transformation, applying a Haar wavelet transformation.Description This application claims priority from U.S. Provisional Patent Application No. 60/020,768, filed Jun. 28, 1996, and said Provisional Patent Application is incorporated herein by reference. This invention relates to compression of image-representative signals and, more particularly, to a method and apparatus for encoding and decoding image-representative signals. Image-representative signals can be digitized, encoded, and subsequently decoded in a manner which substantially reduces the number of bits necessary to represent a decoded reconstructed image without undue or noticeable degradation in the reconstructed image. Coding methods that use transforms, for example wavelet transforms, are well known in this art. One known approach to image compression is to identify individual objects in an image and to encode information about each object for subsequent recovery at a decoder. Techniques are known for specifying the shape and location of the object, such as by producing a bitmap which precisely defines which pixels are within the object (e.g. by using 1's within the object and 0's outside the object). As is also known, the object can be represented by a wavelet transform which, in conjunction with the known techniques of eliminating certain transformed information, results in a compressed encoded bit stream that can be decoded for reconstruction of the object with substantial saving of bandwidth. However, there are several problems encountered when transforming the pixels of an object with a wavelet transform. As will be described further herein, problems are encountered in handling boundaries and doing so in a way that maintains the integrity of the coding without being wasteful of bandwidth. For small objects, or small shape features of larger objects, the handling of coding at boundaries under certain conditions can have a very substantial effect on compression efficiency. It is among the objects of the present invention to provide improved techniques and apparatus for encoding objects of arbitrary shape to achieve efficient image compression. FIG. 1 is block diagram of an apparatus which can be used in practicing embodiments of the invention for encoding and decoding images. FIG. 2 illustrates an example of how a signal of an even number of pixels can be transformed using orthogonal transforms and then reconstructed using prior art technique. FIG. 3 illustrates a technique used in a form of the invention. FIG. 4 illustrates three known types of symmetric extensions for leading boundaries. FIG. 5 illustrates three known types of symmetric extension for a trailing boundary. FIGS. 6 and 7 show two cases of wavelet transforms as used in the prior art for wavelet transformation of even length data. FIGS. 8 and 9 show wavelet transforms as in FIGS. 6 and 7, which again used bi-orthogonal wavelets with symmetric filter coefficients. FIG. 10 illustrates how a short data sequence can be symmetrically extended for implementation of wavelet transformation using a filter that is longer than the data. FIG. 11, which includes diagrams (a) and (b), shows how data on different lines of an object, which are not aligned vertically, can be positioned upon horizontal wavelet transformation such that the vertical component of wavelet transformation can be efficiently performed. FIG. 12 illustrates the handling of situations where the data goes in and out of the object, such as may occur for an arbitrarily shaped object. FIG. 13 is a flow diagram of a routine for programming the encoder processor to implement the coding to form a zero tree with “don't care” nodes. FIG. 14 shows an example of conventional wavelet decomposition with three levels of decomposition. FIG. 15 shows a conventional zero tree. FIG. 16 shows an example of a zero tree with “don't care” nodes. FIG. 17 is a diagram showing how shape adaptive discrete wavelet transform can be utilized in a vector transform system. FIG. 18 is a flow diagram of a procedure for a shape adaptive transform. Referring to FIG. 1, there is shown a block diagram of an apparatus which can be used in practicing embodiments of the invention for encoding and decoding images With the processor appropriately programmed, as described hereinbelow, an encoded output signal Coupled with the receiver A form of the procedure for shape adaptive wavelet transform can be described as follows and is shown in a flow diagram of FIG. within each frame, use shape information to identify the first row of pixels belonging to the object to be transformed (blocks within each row, identify the first segment of consecutive pixels (blocks if the number of consecutive pixels, N if N the left-over pixel in the previous step is scaled and grouped into the low-pass object at the end of the segment (block if N if N perform the above operations until the number of wavelet decomposition is reached; perform the above operations for the next segment of consecutive pixels in each row (blocks perform the above operations for the next row of pixels; perform the above operations for each column of the low-pass and high-pass objects. Since the subsampled small objects may not have exactly the same number of pixels (blocks This method ensures that the number of vectors to be coded in the transform domain is exactly the same as that in the image domain. The treatment of odd number of pixels in a segment ensures that the total energy in the transform domain is exactly the same as that in the image domain. Therefore, coding efficiency on the boundary vectors is the same as that on the vectors in the middle of the object. FIG. 2 illustrates an example of how a signal of an even number of pixels (input signal “abcdefgh”, with a pixel length of eight) can be transformed using orthogonal wavelet transforms and then reconstructed using prior art technique. As shown in diagram G, the (low pass) wavelet or filter function weightings applied to the signal is designated ABCD and the orthogonal wavelet or filter function used for the high pass transform, shown in diagram H, is D(−C)B(−A). The input signal data sequence is shown with a so-called periodic extension; that is, with the end of the sequence preceding the beginning thereof and vice versa. In other words, the beginning of the sequence is preceded by hgf and the end of the sequence is succeeded by abc, etc. The wavelet is shown as being shifted two samples to the right at a time, since there is effective decimation in the result in each of the two transformation components in any event. The decimated results, klmn (with periodic extension) and a tuvw (with periodic extension) are respectively shown in the blocks G and H. These encoded signals are represented as being transmitted over a channel (downward pointing arrows crossing the dashed line), and the blocks E and F, together with an adder, are illustrated as implementing the decoding to reconstruct the signal, namely pixels abcdefgh. The orthogonal wavelets used for reconstruction are seen to be designated with weighting factors DCBA (in block E) and (−A)B(−C)D (in block F). The signals to be decoded are seen to have zeros at the decimation positions, and the wavelet functions move one sample at a time, and produce the results represented by the respective Greek letter sequences at the bottoms of blocks E and F, respectively (each with periodic extension), and these are added to recover the reconstructed signal. FIG. 3 illustrates one of the techniques used in a form of the invention. In each of the diagrams [(a) through (e)] the top portion shows the sequence to be wavelet transformed and the bottom portion shows the low and high pass transformed components. In diagram (a) there is only one pixel, and it results in just the scaled L. In diagram (b), there are two pixels, and the Haar wavelet transform is conventionally used to obtain L and H. In diagram (c) there are three pixels, and this situation of an odd number of pixels is handled as follows: the first two pixels are transformed as in the previous case (b). Then, the third pixel is taken by itself as a further low pass transform signal, but with the appropriate scaling, which would be 1/{square root over (2)} for the Haar case. Diagrams (d) and (e) are similar to (b) and (c), respectively, but for an even case of six pixels and an odd case of seven pixels, the latter case resulting in the scaled extra pixel becoming the fourth L in the transform part of the diagram. FIG. 4 illustrates three known types of symmetric extensions for leading boundaries (type A, type B and type C, respectively), and FIG. 5 illustrates three known types of symmetric extension for a trailing boundary (type A, type B and type C, respectively). [Reference can be made, for example, to “Multirate Systems And Filter Banks”, P. Vaidyanathan, Prentice Hall, 1993, for this and other prior art portions referenced herein with regard to extensions and wavelets.] FIG. 5 also shows a fourth type of symmetric extension (called type D) which is used to advantage in an embodiment hereof (see e.g. FIG. 9 below). FIGS. 6 and 7 show two cases of wavelet transforms (in these cases, bi-orthogonal wavelets with symmetric filter coefficients) as used in the prior art for wavelet transformation of even length data (the input signal in this case being the eight pixels abcdefgh). The types of extensions used are indicated in the Figures. In FIG. 6 (which employs an odd length filter), type B extensions are used for both the leading and trailing boundaries for the input data. The encoded low pass data (which is upsampled, as indicated by the inserted zeros) has a type B extension at the leading boundary and a type A extension at the trailing boundary. The high pass encoded data (also upsampled) has a type A extension at the leading boundary and type B extension at the trailing boundary. In FIG. 7 (which employs an even length filter), type A extensions are used at the leading and trailing boundaries of the input data. A type A extension is used at both the leading and trailing boundaries of the low pass encoded data (which is upsampled), and a type C extension is used at both the leading and trailing boundaries of the high pass encoded data (which is also upsampled). FIGS. 8 and 9 show wavelet transforms as in FIGS. 6 and 7, which again use bi-orthogonal wavelets with symmetric filter coefficients. In these cases, however, in accordance with the principles hereof, odd length data is handled in an advantageous way. The case of FIG. 8 uses an odd length filter on odd length data and the case of FIG. 9 uses an even length filter on odd length data. In FIG. 8 it can be noted that the high pass encoded data has one less point in the output than the low pass encoded data (that is, three points for the high pass transform versus four points for the low pass transform). In this case, the decoding operations use type B extensions at the leading and trailing boundaries of the low pass component (which is upsampled) and type A extensions at the leading and trailing boundaries of the encoded data (which is also upsampled) in the high pass component. FIG. 9 shows the case for an even length filter and odd length data, with the low pass transform again having an extra data point. As previously noted, a new “type D” extension is used in the high pass transform component. FIG. 10 illustrates how a short data sequence can be symmetrically extended for implementation of wavelet transformation using a filter that is longer than the data. FIG. 11, in diagrams (a) and (b) shows, in accordance with a feature hereof, how data on different lines of an object, which are not aligned vertically (which is typical for an object of arbitrary shape) can be positioned upon horizontal wavelet transformation such that the vertical component of wavelet transformation can be efficiently performed. In both diagrams, the data points in dashed lined are “don't care” (outside the object). In diagram (a) both the low pass and high pass transformation components start at position FIG. 12 shows the handling, in accordance with a feature hereof, of situations where the data (designated as original mask) goes in and out of the object, such as may occur for an arbitrarily shaped object, for example one having indentations in its outline. The two top diagrams show how two different lines of data (where FIG. 13 is a flow diagram of a routine for programming the encoder processor to implement the coding to form a zero tree with “don't care” nodes, of the type shown in FIG. In FIG. 13, the block FIG. 14 shows an example of conventional wavelet decomposition with three levels of decomposition. FIG. 15 shows a conventional zero tree where the filled dots indicate non-zero and the unfilled dots indicate zero. FIG. 16 shows an example of a zero tree with “don't care” nodes. Again, the filled dots indicate non-zero and the unfilled dots indicate zero. In this case, the unfilled squares indicate “don't care”. In the example of FIG. 16, the four “children” of node FIG. 17 is a diagram showing how shape adaptive discrete wavelet transform (SA-DWT) can be utilized in a vector transform system of the type shown in U.S. Pat. No. 5,436,985, which is incorporated herein by reference. The image can be sub-sampled, resulting in the sub-sampled images depicted in block Patent Citations
Non-Patent Citations
Referenced by
Classifications
Legal Events
Rotate |