WO1999008449A1 - Signal coding and decoding - Google Patents
Signal coding and decoding Download PDFInfo
- Publication number
- WO1999008449A1 WO1999008449A1 PCT/GB1998/001246 GB9801246W WO9908449A1 WO 1999008449 A1 WO1999008449 A1 WO 1999008449A1 GB 9801246 W GB9801246 W GB 9801246W WO 9908449 A1 WO9908449 A1 WO 9908449A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- coefficient
- coefficients
- data
- transform
- symbols
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
Definitions
- This invention relates to methods and apparatus for signal coding and decoding, and particularly but not exclusively to such methods and apparatus for encoding and decoding image signals such as still pictures or video.
- JPEG joint picture expert group
- MPEG moving picture expert group
- One known image type of image transformation is the discrete wavelet transform, described in Antonioni, M et al, "Image coding using wavelet transform", IEEE Trans. Image Processing, Vol. 1 , No. 2, pp205-220, April 1992.
- Some coding schemes organise the coefficients into a single sequence; for example, in the JPEG and MPEG schemes, the transform coefficients are organised into a linear array in order of sequency. Runs of coefficients are then encoded, so as to encode continuous sequences of zero valued coefficients efficiently.
- Other schemes order the coefficients into a tree structure, rather than a linear sequence, and then make use of the tree structure to indicate groups of coefficients to be encoded in some manner rather than runs of coefficients as in the above described JPEG and MPEG schemes. For example several such schemes are described in "Image coding using optimised significance tree quantisation", Davis and Chawla, Proc. IEEE Data Compression Conference, Snowbird, Utah, 1997, pages 387-396.
- the present invention provides, in one aspect, a method of signal coding comprising the step of decomposing the signal into transform coefficients, further comprising the step of generating mask data representing a significance mask indicating for which, of said transform coefficients, transform data will not be sent.
- the present invention may be employed in encoders and decoders coupled to transmission channels such as RF or telephone channels, or in encoders and decoders employed in image storage, but is not limited to these applications.
- the transform coefficients are ordered into layers of significance (e.g. bitpianes), and at each bitplane, coefficient data is sent before an indication of those coefficients for which, in following less significant layers, data will be sent (i.e. "mask" data).
- significance e.g. bitpianes
- coefficient data is sent before an indication of those coefficients for which, in following less significant layers, data will be sent (i.e. "mask" data).
- the order of transmission is determined taking into account the power contribution of each unit of data, relative to the bits required to represent it.
- This incremental power contribution depends, for each coefficient, upon the magnitude of coefficient data already sent. This principle could also be used independently of the use of mask data, as described above.
- Figure 1 a is a block diagram showing the structure of an image transmission encoder incorporating an embodiment of the present invention.
- Figure 1 b is a block diagram of a corresponding image transmission decoder
- Figure 2a is a block diagram of the transmission encoder within the embodiment of Figure 1 a; and Figure 2b is block diagram of the corresponding decoder within Figure 1 b;
- Figure 3 is a block diagram indicating the elements of a transform coder forming part of Figure 2a and of a transform decoder forming part of Figure 2b;
- Figure 4 is an illustrative diagram showing stages of a one dimensional wavelet transform and reverse transform applied by the structures of Figure 3;
- Figure 5 is an illustrative diagram showing the stages of a two dimensional wavelet transform;
- Figures 6a and 6b are illustrative diagrams illustrating the relationship between groups of coefficients resulting from a two dimensional wavelet transform
- Figure 7 is a flow diagram showing the process of applying a wavelet transform in the embodiment of Figures 1 to 3;
- Figure 8 is a diagram illustrating a hierarchical arrangement of coefficients according to embodiments of the invention
- Figure 9 is a flow diagram showing schematically the operation of an encoder according to a first embodiment of the invention
- Figure 10 is a flow diagram showing schematically the operation of a corresponding decoder
- Figure 1 1 is a diagram showing schematically the arrangement of data transmitted according to the first embodiment
- Figure 12 is a diagram illustrating the bit planes used in embodiments of the invention.
- Figure 13 (comprising Figures 13a-13c) is a flow diagram showing the operation of an encoder according to a third embodiment of the invention.
- Figure 14 is a flow diagram showing the operation of the corresponding decoder
- Figure 15 is a flow diagram showing the operation of an encoding according to a fourth embodiment of the invention.
- Figure 16 is a flow diagram showing the operation of the corresponding decoder;
- Figure 17 is a flow diagram showing the operation of an encoding according to an eighth embodiment of the invention.
- Figure 18 is a flow diagram showing the operation of the corresponding decoder.
- an image transmission system with which the present invention may be used comprises a camera 1 2 (or other image source); an image coder 14 according to the present embodiment; a channel coder 16; and a communications interface 18.
- the image signal scanned by the camera 12 is encoded by the image coder as will be described further below, and the encoded image data is supplied to the channel coder 1 6 which applies error protection encoding (e.g. block or convolutionai encoding).
- error protection encoding e.g. block or convolutionai encoding
- the transmission-coded image signal is then supplied to an interface 18 (such as an modem or an RF transmission circuit) from which it is supplied to a transmission path such as a radio path (either terrestrially or via a satellite); a telephone line; or a virtual circuit such as a data transmission channel carried over a network using, for example, Internet protocols (i.e. "the Internet").
- a transmission path such as a radio path (either terrestrially or via a satellite); a telephone line; or a virtual circuit such as a data transmission channel carried over a network using, for example, Internet protocols (i.e. "the Internet").
- the signal is received at an interface 28 such as a modem or RF interface, corresponding to the functional inverse of the interface 18; the received signal is applied to a channel decoder 26 which decodes the transmission coding applied by the transmission coder 16; and the image signal thus decoded is supplied to an image decoder 24 in accordance with the present embodiment, which decodes the image to an image format suitable for display on a display terminal (i.e. VDU 22).
- an interface 28 such as a modem or RF interface, corresponding to the functional inverse of the interface 18
- the received signal is applied to a channel decoder 26 which decodes the transmission coding applied by the transmission coder 16
- the image signal thus decoded is supplied to an image decoder 24 in accordance with the present embodiment, which decodes the image to an image format suitable for display on a display terminal (i.e. VDU 22).
- each terminal comprises both the apparatus shown in Figure 1 a and the apparatus shown in Figure 1 b so as to enable a bi-directional image communications session to be carried out.
- the analogue image signal from the camera 1 2 is digitised by an analogue to digital converter 32 and the resulting stream of (for example, 8 bit) samples are formatted into image rows by a formatter 34 and stored within a frame store 36, so that the frame store 36 receives digitised pixels corresponding to the entire image.
- a transform coder 38 applies a spatial transform (in this case, a discrete wavelet transform) to the image within the frame store 36, to generate a set of coefficients which are stored within a coefficient store 40.
- a spatial transform in this case, a discrete wavelet transform
- the components of the coder correspond to those of a conventional signal coder.
- a coefficient coder 42 and a mask buffer 44.
- the mask buffer stores a significance mask, giving an indication of which coefficients are to be masked (and their values correspondingly not sent), as will be described in greater detail below.
- the coefficient coder accesses the coefficient store, reads values of the coefficients stored therein, and controls the contents of the mask buffer in dependence thereon. It also accesses the coefficient store for those coefficients which are not masked and supplies their coefficient values, together with data indicating the contents of the mask buffer 44, for output as the coded image signal.
- the coded image signals are received by a coefficient decoder 62, which receives the data representing the contents of the mask buffer 44 and sets corresponding data within a decoder mask buffer 64.
- the coefficient decoder 62 receives transform coefficients contained within the coded image data for those coefficients which are not indicated to be masked by the contents of the mask buffer 64, and writes the coefficients into corresponding locations within a receiver coefficient store 60.
- the coefficient store 60 contains the values of those coefficients which have been transmitted, the remaining coefficients being set to some predetermined value such as zero.
- the contents of the coefficient store 60 are supplied to a transform decoder 58, which performs the reverse spatial transform to the transform coder 38, and supplies output image values to the frame store 56, equivalent to the frame store 36 at the encoder, from which the values are read out, formatted into lines by a formatter 54 arranged to perform the reverse operation to the formatter 34, and supplied to a digital to analogue converter 52 the output of which comprises an analogue image signal.
- the components 60 to 52 correspond to those of a conventional transform decoder, and mirror the operation of the corresponding components of the encoder shown in Figure 2A.
- the formatter 54, transform decoder 58 and coefficient decoder 62 may all be providing by a single programmed processor such as a microprocessor, microcontroller or digital signal processor (DSP) device, and the frame store, coefficient store and mask buffer may all be provided by partitioned areas of a common random access memory (RAM) or other read/ write memory such as a disk drive; the same is true of the corresponding components of the encoder of Figure 2a.
- DSP digital signal processor
- FIG 3 shows the structure of the transform coder 38 and transform decoder 58.
- the transform coder 38 comprises a cascade of analysis filters, each followed by a down-conversion (i.e. sub-sampling) stage correspondingly, the transform decoder 58 comprises a cascade of synthesising filters, each preceded by an up-sampler (i.e. interpolator) stage.
- the image signal is received by a pair of mirror filters comprising a high pass filter 102 and a low pass filter 104, the crossover frequency of the two filters lying at around half the maximum spatial frequency present (i.e. half the data rate of the image signal).
- the output of the high pass filter 102 is then sub-sampled by a factor of two, as is the output of the low pass filter 104, by down samplers 106a, 106b, by ignoring every other sample, or averaging adjacent pairs of samples, for example. Since the output of each filter now only contains half the bandwidth of the input, the sub sampling does not result in loss of data, and the overall volume of the data (ignoring differences in precision and hence number of bytes between the input and the output) is the same.
- the output of the low pass filter is then passed to a further pair of mirror filters 108, 1 10 which likewise have their transitional crossover frequency at the centre of the maximum spatial frequency of the output of the sub sampler 106b.
- the outputs of the filters 108, 1 10 are down sampled to half the rate of the input by a pair of sub-samplers 1 1 2a, 1 12b.
- the outputs of the low pass filter 1 10 for the pair is again split and sub-sampled by a pair of filters 1 14, 1 16 and sub samplers 1 18a, 1 18b, and the process is repeated a number of times (for example five) to result in a set of parallel streams of data, at differing data rates.
- each signal stream is up-sampled by a factor of two, for example by interpolating between each pair of adjacent signal values a new signal value corresponding to the average of its neighbours, or by repeating each signal value.
- the filters may be finite impulse response filters with high regularity, as described in Villasenor et al, "Wavelet filter evaluation for Image Compression", IEEE Trans. On Image Processing, Vol. 4, No. 8, pp1053-1060, August 1995.
- step 702 of Figure 7 a line of the image signal is read from the frame store 36 and the first filter pair 102, 104 is applied to generate two corresponding filtered lines, each containing half the number of data of the original line after subsampling by the downsamplers 106a, 106b.
- step 704 the original line is replaced with the two filtered bands, shown as occupying the space left by the original line.
- step 706 it is determined whether the last line in the frame store 36 has been reached and, if not, the next line is selected in step 708, and the process recommences at step 702.
- the frame store will therefore contain a low frequency line image and a high frequency line image, as shown at stage 1 of Figure 5.
- the columns still contain full bandwidth vertical image information.
- step 712 the first column of the image held in the frame store 36 is filtered by the first pair of filters 102, 104 and down sampled.
- step 714 the data previously stored in the columns (i.e. the line filtered image) is replaced with the high frequency and low frequency filtered signals, each of which comprises half as many data as the original column.
- step 716 it is determined whether the last column in the frame store 36 has been reached and if not, in step 718 the next column is selected.
- the contents of the frame store will therefore correspond to the product of stage 2 shown in Figure 5; one quarter of the frame store will be occupied by data which corresponds to an image which has been low pass filtered both vertically and horizontally (and is therefore a lower spatial resolution version of the original image labelled LL); one quarter will be occupied by an image which has been high pass filtered both vertically and horizontally (labelled HH); and the remaining two quarters of the frame store will be occupied by an image which has been low pass filtered horizontally and high pass filtered vertically (labelled LH) and an image which has been high pass filtered horizontally and low pass filtered vertically (labelled HL).
- step 720 it is determined whether the last level of filter has been reached and, in step 722 the next level of filtering is selected (corresponding in this case to the pair of filters (108, 1 10) and in step 724, the lowest frequency band (i.e. of the four filtered sets of data just previously produced, that which has been low pass filtered both horizontally and vertically) is selected.
- the process just described in relation to steps 702 through 720 is then repeated on just this low spatial frequency component, to split it into four spectral frequency components each represented by one quarter the volume of data, and shown after step 3 of Figure 5 as LLLL, LLHL, LLLH and LLHH.
- step 720 (which may, for example, be the fifth level as shown in Figure 5).
- the "LL” components contain, as noted, a lower resolution version of the original image; the "LH” components retain high frequency vertical information and therefore retain vertical edges; the “HL” bands retain high frequency horizontal information and therefore represent a horizontal edge image; and the "HH” components maintain diagonal edge information, noise and texture.
- the "LL” components contain, as noted, a lower resolution version of the original image; the "LH” components retain high frequency vertical information and therefore retain vertical edges; the “HL” bands retain high frequency horizontal information and therefore represent a horizontal edge image; and the "HH” components maintain diagonal edge information, noise and texture.
- the top left hand coefficient shown in Figure 6 represents the lowest horizontal and vertical frequency components into which the image has been resolved, and each pixel has four corresponding pixels resulting from the same stage of filtering, in the LH, HL and LH bands.
- Figure 6b illustrates the order in which the subbands or subsets of Figure 6a are scanned according to embodiments of the present invention.
- the first coefficients scanned are those of the lowest frequency subblock, labelled 1.
- the subbands 2, 3, 4 are then scanned, in numerical order; these three bands (rightwards and below the first) thus form a layer of coefficients next higher in frequency than the lowest.
- subbands 5, 6, 7 are then scanned; these three subbands may be considered to form the next layer.
- subbands 8, 9 and 10 form the next layer and subbands 1 1 , 12 and 13 the last layer.
- each subband the coefficients are scanned in a raster sequence although other sequences can be employed. It will be seen that this ordering of coefficients results in coefficients having similar frequency content being scanned in adjust subbands (i.e. in the same layer) and coefficients relating to adjacent image areas being adjacent within each scan within a subband. Where spatial and spectral correlation exists, this scan order therefore permits runs of similar mask values (as discussed below) to be encoded efficiently; more so than, for example, the zigzag scan method employed in JPEG or MPEG transform coding methods. Hierarchical arrangement
- each pixel for every sub-band other than the lowest low frequency sub-band (the top left hand corner of Figure 6) is, in this embodiment, regarded as being hierarchically related to a pixel in a lower frequency sub-band (the "controlling" or "parent” pixel).
- the top left hand corner of Figure 6 resulting from the last stage of filtering, are four sets of filtered coefficients.
- Each pixel in the LL band i.e. low frequency vertical/low frequency horizontal band
- each pixel in the HL band controls a group of four pixels at a corresponding position in the next level of filtering up from the lowest, as shown in Figure 6; thus, a pixel in the HH band controls a group of four pixels in the HH band of the filter level below (shown as the block diagonally below and to the right in Figure 6); each pixel in the HL band controls a group of four pixels in the block to the right of it in Figure 6; and each pixel in the LH band controls the group of four in the block below it in Figure 6.
- the second, and each successive, layer of the hierarchy provides a four to one mapping. This hierarchy is therefore as schematically illustrated in Figure 8 (in which many of the coefficients are omitted for clarity). All pixels in all bands relating to a common area of the image are hierarchically grouped by direct or indirect reference to a controlling pixel in the lowest frequency LL band.
- Each controlling pixel in the lowest band (the top left hand band in Figure 6) therefore defines a tree of data linked to the same spatial position in the image as that pixel.
- a threshold pixel magnitude is set by scanning all the stored values in the coefficient store 40, locating the maximum magnitude (positive or negative), incrementing that magnitude by one and dividing by two.
- This first threshold therefore represents the mid value within the scale of values actually present in the coefficients within the coefficient store 40.
- the first subset or frequency layer of coefficients is selected (i.e. the pixels within the lowest frequency subband).
- step 806 it is then determined whether a mask value had already been set in the mask buffer 44; if not (as will be the case for the first threshold), the value of the coefficient is compared with the threshold in step 808.
- step 810 the value in the mask buffer 44 is set depending on the results of the comparison; if the magnitude of the coefficient (positive or negative) exceeds the threshold, the mask value is set ON, otherwise it remains set OFF.
- the polarity of the coefficient value is saved; in other words, it is noted whether the coefficient lies above the positive threshold or below the negative threshold.
- step 812 it is determined whether the last coefficient in the subset has been thus processed and, if not, in step 814, the next coefficient is selected and the process returns to step 806.
- the mask values are coded and sent by the use of four codes (which may be represented by four different two bit digits); a first code (ZERO) indicating that the mask for the relevant coefficient should remain OFF (because the coefficient value did not exceed the threshold); a second value (PSIG) indicating that the relevant coefficient exceeded the threshold and had a positive value; a third coefficient (NSIG) indicating that the coefficient exceed the threshold and had a negative polarity; or a fourth value (STOP) indicating that the coefficient is the last in the layer which is not OFF.
- four codes which may be represented by four different two bit digits
- ZERO first code
- PSIG second value
- NIG third coefficient
- STOP fourth value
- Mask symbols are only sent in respect of those coefficients which were not previously found to be set ON in the mask buffer. For the first threshold pass just described above, using the mask coding scheme described above, this will mean that mask data is sent in respect of all coefficients in order until the STOP value is sent, but it will be seen that it is not the case for subsequent thresholds as described below.
- any coefficients already had mask values set in the mask buffer 44 (as determined in step 806), the one bit data values for such coefficients are then sent in step 817.
- the order of transmission of data is therefore as shown in Figure 1 1 .
- step 818 it is determined whether the layer was the last layer present in the image (the least filtered layer, comprising the blocks shown on the rightmost and lowermost sides of Figure 6). If not, then in step 820 the next layer is selected and the process returns to step 806. After the last layer has been processed, the entire image will have been coded and transmitted at a low level of accuracy and can, as described hereafter, be reconstructed in an approximate form.
- the coefficients will typically be encoded to eight or twelve bits of precision, and accordingly a corresponding number (e.g. eight) of thresholds will be employed.
- step 822 it is determined whether the last (e.g.
- the eighth) threshold corresponding to the least significant bit of image information, has yet been employed and, if not, in step 824, the next threshold is calculated by dividing the existing threshold by two. Each successive threshold therefore represents one further bit of precision in the encoding of the coefficients.
- Figure 12 illustrates the bit pianes; each plane corresponds to one bit of each of the transform coefficients of the transformed image. The process then returns to step 804.
- the receiver has a corresponding mask buffer 64, it is able to determine for which coefficients masks have already been set ON and to read received data sequentially as relating to those coefficients.
- the present invention reduces the volume of data which is to be sent, achieving high compression, by not sending higher order bits of low valued coefficients.
- the grouping of the data into subsets or subbands produces an efficient coding of the masks (for example using run length coding or a STOP code as described above) since adjacent coefficients are of similar frequencies and regions of the image.
- step 902 the contents of the mask buffer 64 are set to "OFF" and the contents of the coefficient store 40 are set to zero (or, in general, some predetermined value).
- step 904 the mask symbols are received from the coefficient decoder
- the coefficient decoder 62 writes the values of any such received data bits into the corresponding bit positions of coefficients within the coefficient store 60.
- the addresses to which the coefficients are written are determined by, for each received datum, locating the address of the next mask within the mask buffer 64 which is set to "ON" and using the corresponding address within the coefficient store 60.
- the mask buffer 64 serves to map the received bits of data onto the corresponding addresses within the coefficient store 40.
- the received mask symbols are used to set new addresses within the mask buffer 64 to "ON", and in step 912, the values of the received mask symbols (i.e. whether they have positive significance or negative significance) are used to set the values of the coefficients within the coefficient store 40 correspondingly.
- the pass (bit plane, or level of thresholding) within which the mask symbol is received is used to select which bit of the coefficient is set (all higher order bits being left at zero) and the value (i.e. positive significance or negative significance) of the mask symbol is used to set a sign bit of the coefficient, and to interpret the meaning of the following bits (depending upon the convention used to represent negative numbers).
- step 914 the coefficient decoder 62 determines whether the last subset of data has been received and, if not, selects the next subband (step 916) and proceeds to step 904.
- step 918 the coefficient decoder 62 determines whether the last bit plane (i.e. last threshold) has been employed and, if not, in step 920 the next threshold level is selected (i.e. the next lowest significance bit plane is selected) and the process proceeds to step 904 to receive image data for this next bit plane.
- the last bit plane i.e. last threshold
- the next threshold level is selected (i.e. the next lowest significance bit plane is selected) and the process proceeds to step 904 to receive image data for this next bit plane.
- Figure 1 1 illustrates the format in which a frame of data is sent, comprising, for each bit plane in turn, the mask symbols and associated data values for those coefficients for which mask symbols have already been set previously.
- the mask symbols described above may conveniently be encoded using run length coding for runs of zero value (i.e. "OFF" mask symbols), rather than explicitly sending a zero value for each.
- run length coding may be implemented in ways familiar to one of skill in the art; for example, entropy coding or other types of variable length coding may be used to represent runs of commonly occurring lengths.
- a multibit symbol is sent for each mask indicating at which bit plane that mask should be turned on. For example, if eight bit planes (i.e. threshold levels) are used, and a given coefficient becomes non zero only at the fifth bit, a mask value of 5 is transmitted for that coefficient.
- variable length coding for, for example, eight bit planes, a three bit mask symbol may be used for each coefficient to indicate one of eight possible bit plane values. For all coefficients which turn ON later than the third bit, this embodiment therefore provides additional lossless coding gain.
- the processes described in relation to the first embodiment are varied in that all stages of thresholding are performed before any mask or image data is sent. Then, a block of mask data is sent indicating, for each coefficient, the bit plane at which the mask for that coefficient should be turned on. Finally, the data for the coefficients are sent, one bit plane at a time, starting, for each coefficient, at the first bit plane at which a non zero bit is encountered.
- the mask symbols (hereafter referred to as "mask depth” symbols) may be entropy encoded, using variable length codes, to give the most commonly occurring mask depths the shortest code words. A special code indicating that the mask never turns on may be sent.
- bit planes are sent one plane at time, it is possible for the receiver to terminate reception prior to reception of later bit planes, and still reconstruct a coarsely quantised image. In such cases, it will not have been necessary to send any image data for those coefficients for which the depth value is greater than the last bit plane received (although mask data will have been sent in respect of those coefficients).
- mask and symbol data could be combined rather than represented completely separately, for example by sending a first "pass" in which depth values of "always off", positive significance (i.e. on above a first threshold number of levels), negative significance (i.e. on below that threshold number of levels) and/or a STOP code to indicate all following coefficients are always off, could be sent.
- the first threshold is calculated as in the first embodiment.
- a first tree of coefficients is selected comprising one of the coefficients of the lowest frequency band (shown at the top left hand block of coefficients in Figure
- each coefficient is compared with the first threshold as in the first embodiment, and all subsequent, reduced thresholds, to generate a quantised transform coefficient.
- a step 1006 the value of each quantised coefficient is examined, and the position at which the first significant (i.e. non zero) bit occurs is noted, and buffered as a depth mask value.
- the depth mask values may be directly calculated, as the logarithm (to base 2) of the value of the coefficient (or the integer part thereof).
- the lower frequency coefficients generally have higher amplitudes, and therefore shorter runs of leading zeros, than the higher frequency coefficients.
- a step 1008 it is determined whether the last coefficient in the tree has been reached and, if not, in a step 1010 the next coefficient is selected.
- a step 1012 starting from the highest frequency (i.e. lowest layer of hierarchy) coefficients, it is determined for each coefficient whether an offspring coefficient (i.e. one lower in the hierarchy of Figure 8) has a shorter run of leading zeros (in other words becomes significant earlier) than the coefficient in question. If not, the existing depth mask value (equal to the number of leading zeros plus one, i.e. the position of the first significant bit within the coefficient) is retained for that coefficient within the mask buffer 44. If so, the depth value set within the mask buffer is set equal to that of the highest valued offspring coefficient in step 1014. Additionally, a flag is set indicating that the data values for that coefficient should be adjusted, as described below.
- step 1016 it is determined whether the last coefficient has been processed and if not, in step 1018, the next coefficient is selected, until it is determined in step 1016 that all coefficients have finally been processed (ending with the lowest frequency).
- step 1020 starting with the lowest frequency coefficients (i.e. those within the first layer of Figure 8) for each coefficient, the depth mask value within the mask buffer 44 is re-written as a difference from the depth value of the parent coefficient in the layer above.
- the last coefficient i.e. the highest frequency coefficient has been reached and, if not, in step 1024 the next coefficient is selected, until ail coefficients have thus had differential depth mask values written into the mask buffer 44.
- step 1030 the process is initialised with the first bit plane, and the first subset or layer of data as in the first embodiment.
- step 1032 it is determined whether the bit plane is yet that one for which the parent coefficient (if any) of the current coefficient turns "ON" (i.e. is significant). For example, if the parent of the current coefficient indicates a depth mask value of two, and the bit plane is the second plane, then the parent will already be "ON".
- step 1034 the depth mask value for the current coefficient is queued for sending in step 1034. If not, the process proceeds to step 1036, in which it is determined whether the last coefficient of the current layer has been reached. If not, then in step 1038, the next coefficient is selected and the process returns to step 1032.
- step 1040 the mask and image data is sent.
- the image data is represented by three symbols; two representing 0 or 1 (or + or -) and a third, rarely used, symbol indicating that the data is not significant. This last symbol is used where, as described above in relation to step 1014, the depth of a parent symbol is reset to that of a child symbol; for bit planes between that in which the parent is actually turned on due to the child and that at which it should have turned on (i.e. significant data first occurs) this symbol is sent for the parent coefficient, and the decoder relates it to the parent coefficient and ignores its value.
- step 1042 it is determined whether the subset is the last subset and, if not, the next subset is then selected in step 1044.
- step 1046 it is determined (step 1046) whether the last plane has been reached and, if not, the next plane is selected (step 1048) and the process resumes at step 1032.
- the hierarchical arrangement is utilised in two ways. Firstly, the length of depth mask values of coefficients lower in the hierarchy (which generally have lower magnitudes than those higher in the hierarchy) are defined relative to the depth masks of those higher in the hierarchy and can therefore generally be represented by lower numbers of bits. Either shorter symbols (i.e. comprising fewer bits) can be allocated for coding them, or they can be represented using variable length codes in which the more frequently occurring offset lengths are represented by shorter codes. In either case, the volume of coding data necessary to represent the depth masks is generally reduced.
- this embodiment is a "progressive" coder; if the operator of the receiver wishes only to reproduce a low resolution image making use of the first or a few subsequent bit planes, he never needs to receive the depth masks for those coefficients which only become significant subsequently and which are, in this embodiment, only transmitted after their parent becomes significant.
- depth mask values could be defined differentially as described above but all transmitted at the beginning of the transmission prior to any image data where it is not required to implement a progressive coding scheme, or likewise all depth masks could be defined in absolute values rather than differentially, but a progressive scheme could be employed.
- a step 1 162 the values in the mask buffer 64 are set to the maximum possible lengths, and the coefficient values in the coefficient store 60 are set to zero (or some predetermined value).
- step 1 162 depth mask data are received and, in step 1 164, image data are received.
- step 1 166 it is determined which coefficients are now, having regard to the current bit plane being received, to be turned on, (i.e., those for which the current bit plane number being received matches the depth value stored in the mask buffer 64). By reference to these, it is determined which offspring depth mask values are now being received in step 1 1 62, and these values are then written to the depth mask buffer 64, overwriting the previously stored maximum values therein, in step 1 1 68.
- step 1 170 the values currently stored in the depth mask buffer 64 are reviewed to determine which are currently on (including those just written in the preceding step), and by reference to these, the data received in step 1 164 are allocated to the relevant plane of the relevant coefficient addresses in the coefficient store 60. As noted above, where a special symbol is received indicating that it is insignificant, but relates to a coefficient which is ON because of an offspring coefficient, that data is allocated to the correct coefficient but ignored.
- step 1 172 it is determined whether the current subset is the last subset of the image, and if not, then in step 1 174 the next subset is selected and the process resumes at step 1 162.
- step 1 176 After processing the last subset, it is determined in step 1 176 whether the current image plane is the last image plane in the image and, if not, in step 1 178 the next bit plane is selected and the process resumes at step 1 162.
- the decoder may be equipped with a control circuit (not shown) arranged to terminate reception at some point, either because enough image data has been received to reconstruct a recognisable image on the VDU 22 or because of external time constraints. It will be seen that, at each cycle passing through step 1 180, an entire bit plane of the image has been received and written to corresponding bit positions within the coefficient store 60 and, accordingly, upon such early termination an image can be reconstructed by the transform decoder 58. Additionally, within a bit plane, low resolution coefficients are received first, allowing the image to be partially reconstructed even where only part of the image data is received. This may be described as an "embedded" coding scheme.
- the depth values are treated by the receiver in such a way as to expect image data for all transform coefficients of the last plane, since most of such coefficient may be "ON" for the least significant bit, thus avoiding the need to send separate mask data and image data.
- the depths could be encoded using run-length coding, rather than fixed- length symbols, or other convenient encoding schemes as desired.
- the fourth embodiment utilises the hierarchical arrangement of the third embodiment but retains the simple mask symbols of the first.
- steps 902-916 of Figure 13 are performed, as described above, to create a depth mask within the mask buffer 44, in which each coefficient is represented by a mask value which does not turn ON at bit plane later than that of any of its offspring coefficients.
- step 1204 the process is initialised at the first subset of coefficients and the first bit plane.
- step 1206 for the current coefficient, it is determined whether the bit plane is such that the parent coefficient is ON yet in the mask buffer 44, as described above in relation to the second embodiment. If so, in a step 1208, it is determined whether the bit plane is such that the current coefficient is yet ON, and in dependence on this, either a one (if the coefficient should be ON) and a zero (if not) is queued for sending in step 1 208.
- step 1210 it is determined whether the current coefficient is the last of the current subband and, if not, the next coefficient is selected in step 1212 and the process resumes at step 1206. If the current coefficient is the last of the subset, then in step 1214, the mask symbols are transmitted together with bits of image data for all coefficients which are now ON in the mask buffer 44 (i.e. have been turned on in this and all previous bit plane passes). As in the previous embodiments, where a coefficient has been turned on "early" because an offspring coefficient is of greater magnitude, a special data symbol is sent for that coefficient indicating that it does not have a significant value for that bit plane.
- step 1 216 it is determined whether the last subset has been processed and, if not, in step 1218, the next subset is selected and the process returns to step 1206.
- step 1220 it is determined in step 1220 whether the last bit plane has been processed and, if not, in step 1 222 the next bit plane is selected, the first subset is selected and the process returns to step 1206.
- mask data for each plane is sent only after the parent coefficient is ON, as in the second embodiment.
- this enables early termination of the reception process, which will now be described with reference to Figure 16.
- a first step 1302 as in the first embodiment, the contents of the mask buffer 64 are set to OFF and the contents of the coefficient store 60 are set to zero. It is noted that the mask buffer 64 of the receiver in this instances merely retains an ON/OFF flag, regardless of whether that at the transmitter stores depth information or ON/OFF flags.
- step 1304 mask data for a transmitted subband is received and in a step 1306, image data corresponding to that subband is received. In a step 1308, the masks which are already ON within the mask buffer
- the mask data received at step 1304 is interpreted as including offspring mask symbols (either OFF or ON) for each of the offspring.
- step 1310 the new mask values are set in the mask buffer 64, and in step 1312, the image data bit values received in step 1306 are allocated to bit positions corresponding to the current bit plane of the coefficients within the coefficient store 60 for which the masks are set ON within the mask buffer 64 (those symbols indicating non-significant values, if any, being allocated but not written to the coefficient store).
- step 1314 it is determined whether the current subband is the last subband of the image and, if not, in step 1316 the next subset is selected, and the process resumes at step 1304.
- step 1318 it is determined whether the current bit plane is the last bit plane and, if not, in step 1320 the next bit plane is selected and the process resumes at step 1304.
- This may be well adapted to some forms of encoding of the image data (for example, arithmetic coding), but where it is desired to code the image data using only binary values (and to be able to use entropy or variable length coding such as Huffman coding) an alternative is needed.
- a special mask data symbol is used indicating that the mask is to be set ON but no significant data is to be expected (because it is set ON due to an offspring coefficient).
- the set of symbols representing the mask data includes not only "normal" depth symbols as described in relation to that embodiment, but also symbols which indicate (for a coefficient with a higher- valued offspring) not only the true depth of the coefficient (as opposed to the adjusted depth as in the third embodiment) but also the fact that the coefficient has offspring which turn ON earlier.
- the transmitted image data is then binary, and runs of binary values may be Huffman encoded.
- the decoder On receipt of such a symbol, the decoder expects mask data for one or more of the offspring coefficients earlier than the image data for the parent.
- a special symbol indicating that a given coefficient never turns on may be sent.
- a symbol is provided for the situation where such a coefficient has a higher valued offspring, to indicate that data and a mask value should be expected at the decoder for the offspring of such a symbol.
- the receiver in addition to sending a depth value at which a coefficient is turned ON at the receiver, as in the second or third embodiments, the receiver also has information enabling it automatically to turn a coefficient OFF again, thus truncating its value by omitting lower order bits.
- This may be arranged by providing that the receiver automatically expects no data for the last bit planes for the highest frequency coefficients (which need not always be represented to high accuracy).
- the depth values for some or all coefficients may extend only over a limited number of bit planes, so that the receiver automatically resets the mask for a given coefficient OFF, say, three bits after it is turned ON. In this case, where it is desired to send further image data, a further depth symbol turning the coefficient ON again can also be sent.
- the data is sent in the following order; new coefficient data bits for existing "ON" coefficients; then, either mask symbols which combine the mask and data values (as in the first embodiment) or mask bits followed by the data bits for them (as described in the second embodiment).
- reception is terminated during a given bit plane, it is a more efficient use of available bits prior to termination to use as many as necessary to represent coefficient data for existing ON coefficients rather than for turning on new coefficients.
- This embodiment extends more generally the principle expressed above in the seventh embodiment, to allow coefficient data of a given bit plane to be sent for coefficients which are already ON before sending mask data for other coefficients, even where they become significant at a higher order bit plane.
- the object of an embedded coding scheme is to send the highest significance information first, in the fewest bits - in other words, to ensure that each item of data is sent in as fine a resolution as possible, and contributes .
- This can be approximated by sending data carrying the highest image power first - in other words, at each stage of transmission, maximising 5P/B where dP is the change in power of the received signal and SB is the number of bits to transmit that change.
- the amplitude of a coefficient is the sum of amplitudes of its bits. Each zero-valued bit contributes nothing to the amplitude, and all other bits contribute in proportion to 2', where i indicates the bit plane (starting at zero for the least significant bit, and in order of significance).
- the power of a coefficient is proportional to the square of its amplitude, in other words to ( ⁇ b'.2' ) 2 where b is the bit value.
- b is the bit value.
- each bit makes a contribution to the overall power of the coefficient which is a cross-product of its amplitude and that of other (non-zero) bits.
- the 2 2i term will, of course, have the same value for all non-zero bits of that bit plane, but the value of the cross-product term will vary, and will be greater for coefficients which are higher-valued. In schemes, such as those described above, in which mask bits are sent, then the cross-product term will always be zero for coefficients which are not yet ON.
- the impact (i.e. the power change at the receiver) of transmitting a given bit can be determined by evaluating the cross-product terms of the amplitude represented by that bit and those of the bits of the same coefficient which have gone before it.
- each coefficient or mask symbol is transmitted, in turn, for the first bit plane in step 2002.
- the next bit or symbol of the coefficient having the highest of these power increments is then sent (step 2006). Where multiple coefficients have the same power increment value, the order of the previous embodiments (i.e. within each bitplane, coefficient order within each subband) is preserved.
- the receiver likewise, the first bit-plane is received (step 2012) and the power increment for each coefficient is calculated (step 2014), in exactly the same way, from the same data as at the transmitter.
- step 201 5 The next bit to be received in step 201 5 is then allocated to the coefficient with the highest power increment. Since this calculation is based on the same data as at the transmitter, the coefficient selected will be correct.
- the incremental power is recalculated for that coefficient, by examining the next bitplane for that coefficient.
- each coefficient incremental power is re-examined at the transmitter.
- the highest valued is again transmitted.
- this may be a bit of a next coefficient, of the same plane as that before it, or a mask symbol of a next coefficient in the same plane.
- it may be the next bit of the coefficient which has just been transmitted, depending upon whether the power increment for the next bitplane b j ' + 1 of that coefficient is greater than that b for the same bitplane of the next coefficient.
- bits are transmitted, received and allocated in order of the incremental power which would have been received by a non-zero bit sent next for each coefficient.
- the actual (zero or non-zero or mask) value is, in each case, sent.
- the incremental power values of all mask symbols will be the same, and lower than the incremental power values of data bits, for the same plane, of each ON coefficient as noted above.
- all the mask values for the plane will be sent.
- a demarcation flag code indicating the start of a block of mask symbols may be sent.
- the order of transmission of bits therefore lies between transmission of entire coefficients, in order of magnitude, and transmission in the order described in the preceding embodiments.
- 5R 5POWER/5BITS FOR REFINING IF 5R >5S REFINE IT END
- the decoder is able to perform the reverse process to allocate the bits, as it has the same information as at the encoder.
- Discrete Wavelet Transform has been disclosed, we have found that the present invention is also applicable to other transforms. Also, Discrete Wavelet Transforms in which high frequency bands are also further filtered are known; these are referred to as "Wavelet Packets" in Strong & Nguyen, “Wavelets and Filter banks”, Wellesley, 1996.
- the Fourier, Discrete Fourier or Fast Fourier transforms may be used, as may the Discrete Cosine Transform (DCT), the Walsh transform, the Lapped Orthogonal Transform (LOT), the Karhunen-Loeve transform (KLT) and others.
- DCT Discrete Cosine Transform
- LOT Lapped Orthogonal Transform
- KLT Karhunen-Loeve transform
- the coefficients should be ordered into subbands which are analogous to those produced in the Discrete Wavelet Transform described above, and that the subbands should be organised into layers as described above.
- the partitioning which may be employed for Discrete Cosine Transforms is described in "A DCT-based embedded image coder", Xiong et al, IEEE signal processing letters Vol. 3 No. 1 1 November 1996; other partitioning methods applicable to wavelet transforms are described in Davis & Chawla, referred to above.
- the above description discloses the use of bit planes, it will be understood that ternary or other symbols could be employed rather than binary bits, or more general arrangements of thresholds could be employed.
- the present invention does not require the presence of peripherals such as cameras, displays and analogue to digital converters, but could instead receive image data already in digital form (or even in transformed form) and process the data directly.
- the present invention may be employed to record data onto a record carrier such as a CD ROM or other record carrier. In such cases, the invention requires only a digital processor and associated memory for either the decoding or encoding process, or both.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU72214/98A AU7221498A (en) | 1997-08-05 | 1998-04-29 | Signal coding and decoding |
JP2000506773A JP2001513608A (en) | 1997-08-05 | 1998-04-29 | Signal encoding and decoding |
EP98919337A EP1110406A1 (en) | 1997-08-05 | 1998-04-29 | Signal coding and decoding |
CA002298687A CA2298687A1 (en) | 1997-08-05 | 1998-04-29 | Signal coding and decoding |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9716579.9 | 1997-08-05 | ||
GB9716579A GB9716579D0 (en) | 1997-08-05 | 1997-08-05 | Signal coding and decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1999008449A1 true WO1999008449A1 (en) | 1999-02-18 |
Family
ID=10817043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB1998/001246 WO1999008449A1 (en) | 1997-08-05 | 1998-04-29 | Signal coding and decoding |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1110406A1 (en) |
JP (1) | JP2001513608A (en) |
AU (1) | AU7221498A (en) |
CA (1) | CA2298687A1 (en) |
GB (1) | GB9716579D0 (en) |
WO (1) | WO1999008449A1 (en) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002031687A2 (en) * | 2000-10-13 | 2002-04-18 | Image D.C. Gmbh Interfunctional Medical And General Electronic Data Compression | Digital image data compression |
US6501397B1 (en) | 2000-05-25 | 2002-12-31 | Koninklijke Philips Electronics N.V. | Bit-plane dependent signal compression |
US7352298B2 (en) | 2003-09-18 | 2008-04-01 | Ayscough Visuals Llc | Data compression |
US7508325B2 (en) | 2006-09-06 | 2009-03-24 | Intellectual Ventures Holding 35 Llc | Matching pursuits subband coding of data |
US7511639B2 (en) | 2007-07-12 | 2009-03-31 | Monro Donald M | Data compression for communication between two or more components in a system |
US7511638B2 (en) | 2007-07-12 | 2009-03-31 | Monro Donald M | Data compression for communication between two or more components in a system |
US7545291B2 (en) | 2007-07-12 | 2009-06-09 | Donald Martin Monro | FIFO radix coder for electrical computers and digital data processing systems |
US7548176B2 (en) | 2007-07-12 | 2009-06-16 | Donald Martin Monro | Data coding buffer for electrical computers and digital data processing systems |
US7570817B2 (en) | 2000-08-03 | 2009-08-04 | Ayscough Visuals Llc | Signal compression and decompression |
US7586424B2 (en) | 2006-06-05 | 2009-09-08 | Donald Martin Monro | Data coding using an exponent and a residual |
US7602316B2 (en) | 2007-07-12 | 2009-10-13 | Monro Donald M | Data coding/decoding for electrical computers and digital data processing systems |
US7671767B2 (en) | 2007-07-12 | 2010-03-02 | Donald Martin Monro | LIFO radix coder for electrical computers and digital data processing systems |
US7689049B2 (en) | 2006-08-31 | 2010-03-30 | Donald Martin Monro | Matching pursuits coding of data |
US7707214B2 (en) | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location with indirect addressing |
US7707213B2 (en) | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location |
US7737869B2 (en) | 2007-07-12 | 2010-06-15 | Monro Donald M | Symbol based data compression |
US7770091B2 (en) | 2006-06-19 | 2010-08-03 | Monro Donald M | Data compression for use in communication systems |
US7783079B2 (en) | 2006-04-07 | 2010-08-24 | Monro Donald M | Motion assisted data enhancement |
US7813573B2 (en) | 2005-09-08 | 2010-10-12 | Monro Donald M | Data coding and decoding with replicated matching pursuits |
US7845571B2 (en) | 2006-06-19 | 2010-12-07 | Monro Donald M | Data compression |
US7848584B2 (en) | 2005-09-08 | 2010-12-07 | Monro Donald M | Reduced dimension wavelet matching pursuits coding and decoding |
US7974488B2 (en) | 2006-10-05 | 2011-07-05 | Intellectual Ventures Holding 35 Llc | Matching pursuits basis selection |
US7990289B2 (en) | 2007-07-12 | 2011-08-02 | Intellectual Ventures Fund 44 Llc | Combinatorial coding/decoding for electrical computers and digital data processing systems |
US8055085B2 (en) | 2007-07-12 | 2011-11-08 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US8121848B2 (en) | 2005-09-08 | 2012-02-21 | Pan Pacific Plasma Llc | Bases dictionary for low complexity matching pursuits data coding and decoding |
US8144037B2 (en) | 2007-07-12 | 2012-03-27 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US8674855B2 (en) | 2006-01-13 | 2014-03-18 | Essex Pa, L.L.C. | Identification of text |
US10194175B2 (en) | 2007-02-23 | 2019-01-29 | Xylon Llc | Video coding with embedded motion |
US11354822B2 (en) * | 2017-05-16 | 2022-06-07 | Google Llc | Stop code tolerant image compression neural networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2293733A (en) * | 1994-09-20 | 1996-04-03 | Ricoh Kk | Apparatus for image data compression using reversible embedded waveletts |
WO1997016029A1 (en) * | 1995-10-25 | 1997-05-01 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
-
1997
- 1997-08-05 GB GB9716579A patent/GB9716579D0/en active Pending
-
1998
- 1998-04-29 AU AU72214/98A patent/AU7221498A/en not_active Abandoned
- 1998-04-29 CA CA002298687A patent/CA2298687A1/en not_active Abandoned
- 1998-04-29 JP JP2000506773A patent/JP2001513608A/en active Pending
- 1998-04-29 WO PCT/GB1998/001246 patent/WO1999008449A1/en not_active Application Discontinuation
- 1998-04-29 EP EP98919337A patent/EP1110406A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2293733A (en) * | 1994-09-20 | 1996-04-03 | Ricoh Kk | Apparatus for image data compression using reversible embedded waveletts |
WO1997016029A1 (en) * | 1995-10-25 | 1997-05-01 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
Non-Patent Citations (3)
Title |
---|
JUN TIAN ET AL: "Image data processing in the compressed wavelet domain", ICSP '96. 1996 3RD INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING PROCEEDINGS (CAT. NO.96TH8116), PROCEEDINGS OF THIRD INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING (ICSP'96), BEIJING, CHINA, 14-18 OCT. 1996, ISBN 0-7803-2912-0, 1996, New York, NY, USA, IEEE, USA, pages 978 - 981 vol.2, XP002073985 * |
SAID A ET AL: "A NEW, FAST, AND EFFICIENT IMAGE CODEC BASED ON SET PARTITIONING INHIERARCHICAL TREES", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 6, no. 3, 1 June 1996 (1996-06-01), pages 243 - 250, XP000592420 * |
SHAPIRO J M: "EMBEDDED IMAGE CODING USING ZEROTREES OF WAVELET COEFFICIENTS", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 41, no. 12, 1 December 1993 (1993-12-01), pages 3445 - 3462, XP000426658 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6501397B1 (en) | 2000-05-25 | 2002-12-31 | Koninklijke Philips Electronics N.V. | Bit-plane dependent signal compression |
US7570817B2 (en) | 2000-08-03 | 2009-08-04 | Ayscough Visuals Llc | Signal compression and decompression |
WO2002031687A2 (en) * | 2000-10-13 | 2002-04-18 | Image D.C. Gmbh Interfunctional Medical And General Electronic Data Compression | Digital image data compression |
WO2002031687A3 (en) * | 2000-10-13 | 2003-07-31 | Image D C Gmbh Interfunctional | Digital image data compression |
US7352298B2 (en) | 2003-09-18 | 2008-04-01 | Ayscough Visuals Llc | Data compression |
US8121848B2 (en) | 2005-09-08 | 2012-02-21 | Pan Pacific Plasma Llc | Bases dictionary for low complexity matching pursuits data coding and decoding |
US7848584B2 (en) | 2005-09-08 | 2010-12-07 | Monro Donald M | Reduced dimension wavelet matching pursuits coding and decoding |
US7813573B2 (en) | 2005-09-08 | 2010-10-12 | Monro Donald M | Data coding and decoding with replicated matching pursuits |
US8674855B2 (en) | 2006-01-13 | 2014-03-18 | Essex Pa, L.L.C. | Identification of text |
US7783079B2 (en) | 2006-04-07 | 2010-08-24 | Monro Donald M | Motion assisted data enhancement |
US7586424B2 (en) | 2006-06-05 | 2009-09-08 | Donald Martin Monro | Data coding using an exponent and a residual |
US7770091B2 (en) | 2006-06-19 | 2010-08-03 | Monro Donald M | Data compression for use in communication systems |
US7845571B2 (en) | 2006-06-19 | 2010-12-07 | Monro Donald M | Data compression |
US8038074B2 (en) | 2006-06-19 | 2011-10-18 | Essex Pa, L.L.C. | Data compression |
US7689049B2 (en) | 2006-08-31 | 2010-03-30 | Donald Martin Monro | Matching pursuits coding of data |
US7508325B2 (en) | 2006-09-06 | 2009-03-24 | Intellectual Ventures Holding 35 Llc | Matching pursuits subband coding of data |
US7974488B2 (en) | 2006-10-05 | 2011-07-05 | Intellectual Ventures Holding 35 Llc | Matching pursuits basis selection |
US8184921B2 (en) | 2006-10-05 | 2012-05-22 | Intellectual Ventures Holding 35 Llc | Matching pursuits basis selection |
US7707214B2 (en) | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location with indirect addressing |
US7707213B2 (en) | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location |
US11622133B2 (en) | 2007-02-23 | 2023-04-04 | Xylon Llc | Video coding with embedded motion |
US10958944B2 (en) | 2007-02-23 | 2021-03-23 | Xylon Llc | Video coding with embedded motion |
US10523974B2 (en) | 2007-02-23 | 2019-12-31 | Xylon Llc | Video coding with embedded motion |
US10194175B2 (en) | 2007-02-23 | 2019-01-29 | Xylon Llc | Video coding with embedded motion |
US7907068B2 (en) | 2007-07-12 | 2011-03-15 | Intellectual Ventures Fund 44 Llc | FIFO radix coder for electrical computers and digital data processing systems |
US7843367B2 (en) | 2007-07-12 | 2010-11-30 | Monro Donald Martin | Data coding buffer for electrical computers and digital data processing systems |
US7990289B2 (en) | 2007-07-12 | 2011-08-02 | Intellectual Ventures Fund 44 Llc | Combinatorial coding/decoding for electrical computers and digital data processing systems |
US7511638B2 (en) | 2007-07-12 | 2009-03-31 | Monro Donald M | Data compression for communication between two or more components in a system |
US8055085B2 (en) | 2007-07-12 | 2011-11-08 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US7511639B2 (en) | 2007-07-12 | 2009-03-31 | Monro Donald M | Data compression for communication between two or more components in a system |
US8144037B2 (en) | 2007-07-12 | 2012-03-27 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US7671767B2 (en) | 2007-07-12 | 2010-03-02 | Donald Martin Monro | LIFO radix coder for electrical computers and digital data processing systems |
US7545291B2 (en) | 2007-07-12 | 2009-06-09 | Donald Martin Monro | FIFO radix coder for electrical computers and digital data processing systems |
US7548176B2 (en) | 2007-07-12 | 2009-06-16 | Donald Martin Monro | Data coding buffer for electrical computers and digital data processing systems |
US7602316B2 (en) | 2007-07-12 | 2009-10-13 | Monro Donald M | Data coding/decoding for electrical computers and digital data processing systems |
US7737869B2 (en) | 2007-07-12 | 2010-06-15 | Monro Donald M | Symbol based data compression |
US7728740B2 (en) | 2007-07-12 | 2010-06-01 | Monro Donald M | Data compression for communication between two or more components in a system |
US11354822B2 (en) * | 2017-05-16 | 2022-06-07 | Google Llc | Stop code tolerant image compression neural networks |
Also Published As
Publication number | Publication date |
---|---|
EP1110406A1 (en) | 2001-06-27 |
GB9716579D0 (en) | 1997-10-08 |
CA2298687A1 (en) | 1999-02-18 |
AU7221498A (en) | 1999-03-01 |
JP2001513608A (en) | 2001-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1110406A1 (en) | Signal coding and decoding | |
US7437010B2 (en) | Method for imaging coding by rate-distortion adaptive zero-tree-based residual vector quantization and system for effecting same | |
US6466698B1 (en) | Efficient embedded image and video compression system using lifted wavelets | |
US7167592B2 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
KR100664932B1 (en) | Video coding method and apparatus thereof | |
US5757973A (en) | Compression of image data seperated into frequency component data in a two dimensional spatial frequency domain | |
Jasmi et al. | Comparison of image compression techniques using huffman coding, DWT and fractal algorithm | |
US5260781A (en) | Data compression apparatus and method | |
GB2252021A (en) | Data compression | |
JPH08107556A (en) | Compression of video image | |
JP2003534734A (en) | Bit plane dependent signal compression method | |
IL123770A (en) | Adaptive filtering for use with data compression and signal reconstruction | |
KR100561587B1 (en) | Method and apparatus for three-dimensional wavelet transform | |
CN1813479A (en) | Video coding in an overcomplete wavelet domain | |
JP3466080B2 (en) | Digital data encoding / decoding method and apparatus | |
EP0790741B1 (en) | Video compression method using sub-band decomposition | |
GB2325584A (en) | Reversible embedded wavelet transform system implementation | |
JPH08294119A (en) | Image coder/decoder | |
Kim et al. | Wavelet transform image compression using human visual characteristics and a tree structure with a height attribute | |
US6754433B2 (en) | Image data recording and transmission | |
Medouakh et al. | Study of the standard JPEG2000 in image compression | |
JP2000032464A (en) | Image compression | |
JPH0779350A (en) | Picture data compression processing method and picture data re-configuration method | |
WO1999025121A1 (en) | Method for compressing and decompressing motion video | |
JPH09182074A (en) | Image signal encoding method and device therefor and image signal decoding method and device therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2298687 Country of ref document: CA Ref country code: CA Ref document number: 2298687 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 72214/98 Country of ref document: AU |
|
NENP | Non-entry into the national phase |
Ref country code: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09485407 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1998919337 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 1998919337 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1998919337 Country of ref document: EP |