WO2003090028A2 - Wavelet transform system, method and computer program product - Google Patents
Wavelet transform system, method and computer program product Download PDFInfo
- Publication number
- WO2003090028A2 WO2003090028A2 PCT/US2003/012078 US0312078W WO03090028A2 WO 2003090028 A2 WO2003090028 A2 WO 2003090028A2 US 0312078 W US0312078 W US 0312078W WO 03090028 A2 WO03090028 A2 WO 03090028A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- recited
- wavelet
- format
- inteφolation
- 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/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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
-
- 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/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/62—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
-
- 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/635—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 filter definition or implementation details
Definitions
- the present invention relates to data compression, and more particularly to compressing data utilizing wavelets.
- Video “codecs” are used to reduce the data rate required for data communication streams by balancing between image quality, processor requirements (i.e. cost/power consumption), and compression ratio (i.e. resulting data rate).
- the currently available compression approaches offer a different range of trade-offs, and spawn a plurality of codec profiles, where each profile is optimized to meet the needs of a particular application.
- Prior Art Figure 1 shows an example 100 of trade-offs among the various compression algorithms currently available. As shown, such compression algorithms include wavelet-based codecs 102, and DCT-based codecs 104 that include the various MPEG video distribution profiles.
- 2D and 3D wavelets are current alternatives to the DCT-based codec algorithms. Wavelets have been highly regarded due to their pleasing image quality and flexible compression ratios, prompting the JPEG committee to adopt a wavelet algorithm for its JPEG2000 still image standard. Unfortunately, most wavelet implementations use very complex algorithms, requiring a great deal of processing power, relative to DCT alternatives, hi addition, wavelets present unique challenges for temporal compression, making 3D wavelets particularly difficult.
- wavelets have never offered a cost-competitive advantage over high volume industry standard codecs like MPEG, and have therefore only been adopted for niche applications. There is thus a need for a commercially viable implementation of 3D wavelets that is optimized for low power and low cost focusing on three major market segments.
- PVR Personal Video Recorders
- These devices use digital hard disk storage to record the video, and require video compression of analog video from a cable.
- video compression encoders In order to offer such features as picture-in-picture and watch-while-record, these units require multiple video compression encoders.
- DVR Digital Video Recorders
- compression encoding is required for each channel of input video to be stored.
- the video In order to take advantage of convenient, flexible digital network transmission architectures, the video must be digitized at the camera. Even with the older multiplexing recorder architecture, multiple channel compression encoders are required.
- 3D wavelets that is optimized for low power and low cost.
- a good scheme uses a transformation that projects the low degree polynomial content of the function into the unquantized "low pass" subband. Such a scheme will, ideally, also produce zeros or very small values in the other subbands.
- Wavelet transformations have attracted a good deal of attention as a transform class that has the small domain neighborhood property, although with overlapping neighborhoods. Some wavelet transforms do a better job, compared to the DCTs of JPEG/MPEG, of projecting the function primarily into the low-pass subbands. Moreover, some wavelet transforms (not necessarily the same ones) are significantly less compute intensive. However, the domain neighborhood overlap imposes significant implementation problems in the area of data handling, memory utilization, and memory bandwidth. It is still useful to "block" the domain, bringing back their boundaries and the issue of approximation near those boundaries.
- Transforms at domain boundaries present a problem in that the domain neighborhood, centered at a boundary point, does not lie within the domain block to which the boundary point belongs.
- the conventional approach to this problem is to reflect symmetrically the domain values in a block across the boundary to create "virtual" values and a virtual function on the required neighborhood.
- this virtual function is typically a constant on the neighborhood, it will have a cusp or crease at the boundary resulting from a discontinuous first derivative.
- This discontinuity is not well modeled by a low degree polynomial and hence is reflected in large non-low-pass subband coefficients that remain large after quantization.
- the larger quantization error results in an increased approximation error at the boundary.
- One of the transforms specified in the JPEG 2000 standard 1) is the reversible 5-3 transform shown in Equations #1.1 and 1.2.
- Equation #1.1 cannot be calculated as the required value X 2N is not available.
- the JPEG-2000 formulation of the 5-3 wavelet filters involves addition of a constant 1 or 2 inside the calculation, as well as other limitations.
- these additions and other limitations can require a significant fraction of the total computational load, and cause a significant slowdown in performance.
- a system, method and computer program product are provided for compressing data. Initially, an interpolation formula is received. Such interpolation formula is utilized for compressing data. In use, it is determined whether at least one data value is required by the inte ⁇ olation formula, where the required data value is unavailable. If such is the case, an extrapolation operation is performed to generate the required unavailable data value.
- the interpolation formula maybe a component of a wavelet filter.
- the wavelet filter may be selectively replaced with a polyphase filter.
- a plurality of the data values may be segmented into a plurality of spans.
- an amount of computation involving the interpolation formula may be reduced by only utilizing data values within one of the spans.
- the data values may be quantized.
- an amount of computation associated with entropy coding may be reduced by reducing a quantity of the data values.
- the quantity of the data values may be reduced during a quantization operation involving the data values.
- an amount of computation associated with reconstructing the data values into a predetermined data range may be reduced. Such computation may be reduced by performing only one single clip operation.
- the wavelet filter includes an interpolation formula including:
- the wavelet filter includes an inte ⁇ olation formula including:
- the wavelet filter includes an inte ⁇ olation formula including:
- the wavelet filter includes an inte ⁇ olation formula including:
- the wavelet filter includes an inte ⁇ olation formula including:
- the wavelet filter includes an inte ⁇ olation formula including:
- the wavelet filter includes an inte ⁇ olation formula including:
- the wavelet filter includes an inte ⁇ olation formula including:
- Another system and method are provided for compressing data. Initially, data is received in a single device. Such data is encoded utilizing the single device to generate first compressed data in a first format. Moreover, the first compressed data is transcoded utilizing the single device to generate second compressed data in a second format.
- the encoding may occur in real-time. Moreover, the transcoding may occur off-line.
- the first compressed data may be transcoded to generate the second compressed data in the second format such that the second compressed data is adapted to match a capacity of a communication network coupled to the single device.
- the encoding may be carried out utilizing a first encoder.
- the transcoding may be carried out utilizing a decoder and a second encoder.
- the first format may include a wavelet-based format.
- the second format may include a DCT-based format.
- the second format may include an MPEG format.
- Another system and method are provided for compressing data utilizing multiple encoders on a single integrated circuit. Initially, data is received in a single integrated circuit. The data is then encoded utilizing a plurality of encoders inco ⁇ orated on the single integrated circuit.
- data may be encoded utilizing multiple channels on the single integrated circuit. Moreover, the data may be encoded into a wavelet-based format.
- Another single module system and method are provided for compressing data.
- photons are received utilizing a single module.
- compressed data representative of the photons is outputted utilizing the single module.
- the compressed data may be encoded into a wavelet-based format.
- the transform operations associated with the encoding may be carried out in analog.
- the single module may further include an imager.
- Prior Art Figure 1 shows an example of trade-offs among the various compression algorithms currently available.
- Figure 2 illustrates a framework for compressing/decompressing data, in accordance with one embodiment.
- Figure 3 illustrates a method for compressing/decompressing data, in accordance with one embodiment.
- Figure 4 shows a data structure on which the method of Figure 3 is carried out.
- Figure 5 illustrates a method for compressing/decompressing data, in accordance with one embodiment.
- Figure 6 illustrates a system for compressing data, in accordance with one embodiment.
- Figure 7 illustrates a system for compressing data utilizing multiple encoders on a single integrated circuit.
- FIG. 2 illustrates a framework 200 for compressing/decompressing data, in accordance with one embodiment. Included in this framework 200 are a coder portion 201 and a decoder portion 203, which together form a "codec.”
- the coder portion 201 includes a transform module 202, a quantizer 204, and an entropy encoder 206 for compressing data for storage in a file 208.
- the decoder portion 203 includes a reverse transform module 214, a de-quantizer 212, and an entropy decoder 210 for decompressing data for use (i.e. viewing in the case of video data, etc).
- the transform module 202 carries out a reversible transform, often linear, of a plurality of pixels (in the case of video data) for the pu ⁇ ose of de- correlation.
- the quantizer 204 effects the quantization of the transform values, after which the entropy encoder 206 is responsible for entropy coding of the quantized transform coefficients.
- Figure 3 illustrates a method 300 for compressing/decompressing data, in accordance with one embodiment.
- the present method 300 may be carried out in the context of the transform module 202 of Figure 2 and the manner in which it carries out a reversible transform. It should be noted, however, that the method 300 may be implemented in any desired context.
- an inte ⁇ olation formula is received (i.e. identified, retrieved from memory, etc.) for compressing data.
- the data may refer to any data capable of being compressed.
- the inte ⁇ olation formula may include any formula employing inte ⁇ olation (i.e. a wavelet filter, etc.).
- Such data value may include any subset of the aforementioned data. By being unavailable, the required data value may be non-existent, out of range, etc.
- the extrapolation formula may include any formula employing extrapolation. By this scheme, the compression of the data is enhanced.
- Figure 4 shows a data structure 400 on which the method 300 is carried out.
- a "best fit" 401 may be achieved by an inte ⁇ olation formula 403 involving a plurality of data values 402. Note operation 302 of the method 300 of Figure 3. If it is determined that one of the data values 402 is unavailable (see 404), an extrapolation formula may be used to generate such unavailable data value. More optional details regarding one exemplary implementation of the foregoing technique will be set forth in greater detail during reference to Figure 5.
- Figure 5 illustrates a method 500 for compressing/decompressing data, in accordance with one embodiment.
- the present method 500 may be carried out in the context of the transform module 202 of Figure 2 and the manner in which it carries out a reversible transform. It should be noted, however, that the method 500 may be implemented in any desired context.
- the method 500 provides a technique for generating edge filters for a wavelet filter pair.
- a wavelet scheme is analyzed to determine local derivatives that a wavelet filter approximates.
- a polynomial order is chosen to use for extrapolation based on characteristics of the wavelet filter and a numbers of available samples.
- extrapolation formulas are derived for each wavelet filter using the chosen polynomial order. See operation 506.
- specific edge wavelet cases are derived utlizing the extrapolation formulas with the available samples in each case.
- Equation # 1.1.R See Appendix A for one possible determination of this extrapolating quadratic.
- Equation # 1.1.R may be used in place of Equation #1.1 (see background section) when point one is right-most.
- the apparent multiply by 3 can be accomplished with a shift and add.
- the division by 3 is trickier. For this case where the right-most index is 2N - 1 , there is no problem calculating Y 2N __ 2 by means of
- Equation #1.2 (again, see background section). In the case where the index of the right-most point is even (say 2N ), there is no problem with Equation #1.1, but
- Equation #1.2 involves missing values.
- the object is to subtact an estimate of 7 from the even X using just the previously calculated odd indexed 7 s, Y x and 7 3 in the case in point.
- This required estimate at index 2N can be obtained by linear extrapolation, as noted above.
- the appropriate formula is given by Equation #1.2.R. Equation #1.2.R
- the reverse transform fiters can be obtained for these extrapolating boundary filters as for the original ones, namely by back substitution.
- the inverse transform boundary filters may be used in place of the standard filters in exactly the same circumstances as the forward boundary filters are used.
- Such filters are represented by Equations #2.1.Rinv, 2.2.Rinv, 2.1.L.inv, and 2.2.L.inv.
- one embodiment may utilize a reformulation of the 5-3 filters that avoids the addition steps of the prior art while preserving the visual properties of the filter. See for example, Equations #3.1, 3.1 R, 3.2, 3.2L.
- the JPEG-2000 inverse filters can be reformulated in the following Equations #4.2, 4.2L, 4.1, 4.1R. Equations #4.2.4.2L. 4.1. 4.1R
- a transform module may utilize a wavelet pyramid that acts as a filter bank separating the image into sub-bands each covering approximately one octave (i.e. factor of 2). At each octave, there may be three sub-bands corresponding to horizontal, vertical, and checkerboard features. In one embodiment, the pyramids may be typically three to five levels deep, covering the same number of octaves. If the original image is at all smooth, the magnitude of the wavelet coefficients decreases rapidly. Images may have a Holder coefficient of 2/3 meaning roughly that the image has 2/3 of a derivative. If the wavelet coefficients are arranged in descending order of absolute value, those absolute values may be seen to decrease as N "s where N is the position in the sequence and s is the smoothness of the image.
- the wavelet coefficients may be scaled (quantized) by a quantizer (i.e. see, for example, quantizer 204 of Figure 2, etc.) to render a result that is consistent with the viewing conditions and the human visual contrast sensitivity curve (CSF).
- a quantizer i.e. see, for example, quantizer 204 of Figure 2, etc.
- CSF human visual contrast sensitivity curve
- the codec may employ a group of pictures (GOP) of two interlaced video frames, edge filters for the boundaries, intermediate field image compression and block compression structure.
- GOP group of pictures
- Specific features of the implementation for a small single chip may be as follows in Table 1.
- One implementation may use short wavelet bases (the 2-6 wavelet) , which are particularly appropriate for those that focus on natural scene images quantized to match the HVS. Implementation can be accomplished with adds and shifts.
- a Mallat pyramid may be used resulting from five filter applications in the horizontal direction and three applications in the vertical direction for each field. This produces filters with dyadic coefficients, two coefficients in the low pass filter and two, four, or six coefficients in the wavelet filters (resulting in twelve wavelet sub- bands) .
- One may use modified edge filters near block and image boundaries so as to utilize actual image values.
- the resulting video pyramids may have substantial runs of zeros and also substantial runs of non-zeros. Encoding can therefore be done efficiently by table look-up.
- ⁇ Another solution may use motion image compression via 3D wavelet pyramid in place of the motion compensation search used in MPEG-like methods.
- One may apply transform compression in the temporal direction to a GOP of four fields .
- a two level temporal Mallat pyramid may be used as a tensor product with the spatial pyramid.
- the linear edge filters may be used at the fine level and the modified Haar filters at the coarse level, resulting in four temporal subbands. Each of these temporal subbands is compressed.
- ⁇ Processing can be decoupled into the processing of blocks of 8 scan lines of 32 pixels each. This helps reduce the RAM requirements to the point that the RAM can be placed in the ASIC itself. This reduces the chip count and simplifies the satisfaction of RAM bandwidth requirements.
- Compression processing may be performed stripe by stripe (two passes per stripe).
- a "stripe" is 8 pixels high and the full width of the picture.
- Quantization denominators are powers of two, enabling implementation by shifts. Quantization may refer to a process of assigning scaling factors to each subband, multiplying each coefficient in a sub band by the corresponding scaling factor, and fixing the scaled coefficient to an integer.
- the wavelet filters maybe selectively replaced with polyphase filters.
- such replacement may occur in a transform module (i.e. see transform module 202 and/orreverse transform module 214 of Figure 2) ofa data compression/decompression system.
- a transform module i.e. see transform module 202 and/orreverse transform module 214 of Figure 2
- Such feature may be implemented independent ofthe various other features described herein.
- More exemplary information regarding the present optional feature will now be set forth.
- the use of conventional [i.e. Finite Impulse Response (FIR)] information-discarding or smoothing filters may be combined with wavelet information-preserving filters in the design of a video compression codec.
- FIR filters may be distinguished from wavelet filters in that the conventional FIR filters are used singly, whereas wavelet filters always come as a complementary pair.
- the FIR filters in a wavelet transform are not necessarily related to each other as a polyphase filter bank.
- Video compression may be performed in a three-step process; sometimes other steps are added, but the three main phases are these: transformation, quantization, and entry coding, as set forth earlier. These operations, as usually practiced, typically only discard information during quantization. In fact, a lossless compression method may result if this operation is omitted. However, lossless compression is limited to much smaller compression ratios than lossy compression which takes advantage of the human visual system and discards mformation which makes no visual difference, or negligible visual difference, in the decoded result.
- One way to implement a smoothing filter is by use of a FIR structure.
- An alternative way to implement a smoothing filter is by use of an Infinite Impulse Response (HR) structure.
- HR Infinite Impulse Response
- a Polyphase Filter Bank composed of related FIR filters may be employed.
- Such method processes the image by removing some detail and producing a correspondingly smaller image for further processing.
- a polyphase filter bank may include a set of FIR filters that share the same bandwidth, or frequency selectivity properties, but generate pixels inte ⁇ olated at different locations on or between the original samples.
- a polyphase filter bank can be used to reduce an image (i.e. a frame of video) to 2/3 of its original width. It does this by computing inte ⁇ olated pixels midway between each of the original pixels, computing smoothed pixels at the original locations, then keeping only every third pixel of the resulting stream.
- the present embodiment combines the benefits of smooth detail removal with the picture quality of wavelet transform coding by using a polyphase filter as the first stage of a wavelet based image compression process.
- a polyphase filter as the first stage of a wavelet based image compression process.
- Wavelet filters may be designed in pairs that split the information into two parts without discarding information.
- an amount of computation associated with entropy coding may be reduced by reducing a quantity of the data values.
- reduction may occur in a quantizer (i.e. see quantizer 204 of Figure 2) of a data compression/decompression system.
- quantizer i.e. see quantizer 204 of Figure 2
- piles may be used as an operation in the decoding operation and are thus ready for use in computing the succeeding steps. See Appendix B for more information regarding piles.
- a pile consists of an array of pairs; each pair gives the address (or offset) in the ordinary data of a nonzero item together with the value of that item.
- the addresses or offsets are in sorted order, so that one can traverse the entire data set from one end to the other by traversing the pile and operating on the nonzero elements in it, taking account of their place in the full data set.
- Piles are specifically designed to be efficiently implementable on computers that process data in parallel using identical operations on several data items at once (i.e. SIMD processors), and on computers that make conditional transfers of control relatively expensive.
- SIMD processors are in common use to handle video and audio, and are sometimes called “media processors”.
- media processors When one needs to perform some operation on two data sets, both of which are sparse, there arises a consideration not present when the data are represented densely. That is, "when do the data items coincide with each other?"
- the basic operation for identifying coincident data items is called "match and merge".
- match and merge As one traverses the two piles, he or she may have at every operation after the beginning an address from each pile and an address for which an output value has been just produced. In order to find the next address for which one can produce a value, the minimum of the two addresses presented by the input piles may be found. If both piles agree on this address, there is a data item available from each and one can operate on the two values to produce the desired result. Then, one may step to the next item on both piles.
- next addresses in the two piles differ, a nonzero value is present in one pile (one data set) but a zero value in the other data set (implicitly represented by the pile); one may operate on the one value and zero, producing a value. Alternatively, if the operation one is performing produces zero when one input is zero, no value is produced. In either case, one may step to the next item only on the pile with the minimum address.
- the result values are placed in an output location, either a dense array (by writing explicit zeros whenever the address is advanced by more than one) or in an output pile.
- a wavelet transform comprises the repeated application of wavelet filter pairs to a set of data, either in one dimension or in more than one.
- a 2-D wavelet transform horizontal and vertical
- a 3-D wavelet transform horizontal, vertical, and temporal
- the intent of the transform stage in a video compressor is to gather the energy or information of the source picture into as compact a form as possible by taking advantage of local similarities and patterns in the picture or sequence. No compressor can possibly compress all possible inputs; one may design compressors to work well on "typical” inputs and ignore their failure to compress "random" or "pathological" inputs.
- the typical output of the first decoding step, entropy-code decoding is a set of significant coefficients with large numbers of non- significant coefficients, considered by default to be zero, among them.
- the pile representations resemble run-of-zero representations but usually store an address or offset, rather than the run length (a difference of addresses). This allows faster processing both to create the pile and to expand the pile into a dense representation later.
- the data are not in a dense form and it is more natural to construct the piles directly in the entropy decoder.
- decoding a compressed frame of video where the encoding process has resulted in very many of the coefficients being quantized to zero.
- the first stages of decompression undo the entropy-encoding or bit-encoding of the nonzero coefficients, giving the values and the location of each value in the frame. This is just the information represented in a pile, and it is very convenient to use a pile to store it, rather than expanding it immediately to a dense representation by explicitly filling in all the intervening zero values.
- the first stage of the inverse wavelet transform (like each stage) is a filter computation that takes data from two areas or "bands" of the coefficient data and combines them into an intermediate band, which will be used in further stages of the same process.
- the data for both bands is sparse and represented in piles.
- the computation below in Table 3 operates on "band" piles P ⁇ and Pz, produces its result in new pile R, and performs the filter computation step W(p, q) on pairs of coefficients from the two bands.
- the time taken to compute the wavelet transform may be reduced by using a sparse representation, piles, for intermediate results that have many zero values. Such method improves the performance and computational efficiency of wavelet- based image compression and video compression products.
- an amount of computation associated with reconstructing the data values into a predetermined data range may be reduced. Such computation may be reduced by performing only one single clip operation. In one embodiment, such reduction may occur in a de-quantizer module (i.e. see de- quantizer 212 of Figure 2) of a data compression/decompression system.
- a de-quantizer module i.e. see de- quantizer 212 of Figure 2
- Such feature may be implemented independent of the various other features described herein. More exemplary information regarding the present optional feature will now be set forth.
- images (or frames) are represented as arrays of numbers, each number representing the brightness of an area or the quantity of a particular color (such as red) in an area. These areas are called pixels, and the numbers are called samples or component values.
- Image compression or video compression is done using a wide range of different methods.
- many of these methods involve, as a step, the computation of a transform: through a sequence of arithmetic operations, the array of samples representing an image is transformed into a different array of numbers, called coefficients, that contain the image information but do not individually correspond to brightness or color of small areas.
- the transform contains the same image information, this information is distributed among the numbers in a way that is advantageous for the further operation of the compression method.
- the compressed data When an image or frame, compressed by such a method, is to be replayed, the compressed data must be decompressed. Usually this involves, as a step, computing an inverse transform that takes an array of coefficients and produces an array of samples.
- the samples of an image or frame are commonly represented by integers of small size, typically 8 binary bits. Such an 8 bit number can represent only 256 distinct values, and in these applications the values are typically considered to be the range of integers [0, 255] from zero through 255 inclusive.
- the pixel component (Y, U, V) sample values in CCIR-601 (ITU- R BT.601-4) digital video are specified to lie within smaller ranges than [0, 255].
- the luma Y component valid range in the lit part of the screen is specified to lie within [16, 235]
- the chroma U, V range is specified to line within [16, 240]. Values outside these ranges can have meanings other than brightness, such as indicating sync events.
- Image and video compression methods can be divided into two categories, lossless and lossy.
- Lossless compression methods operate in such a way as to produce the exact same values from decompression as were presented for compression. For these methods there is no issue of range, since the output occupies the same range of numbers as the input.
- Lossy compression however, produces a decompressed output that is only expected to approximate the original input, not to match it bit for bit. By taking advantage of this freedom to alter the image slightly, lossy methods can produce much greater compression ratios.
- the samples computed are not guaranteed to be the same as the corresponding original sample and thus are not guaranteed to occupy the same range of values.
- Another way to perform this step uses the MAX and MIN operators found in some computing platforms; again, on may apply two operations to each sample. Both the ways shown, and many others, are more computationally expensive than a simple arithmetic operation such as an add or subtract.
- Transform computations as described above commonly have the following property: one of the resulting coefficients represents the overall brightness level the entire frame, or a significant part of the frame (a block, in MPEG terminology). This coefficient is called a "DC coefficient.” Because of the way the transform is computed, altering the DC coefficient alters the value of all the samples in its frame or block in the same way, proportionally to the alteration made. So it is possible, for example, to increase the value of every sample in a block by the same amount, by adding a properly chosen constant to the DC coefficient for the block just before computing the inverse transform.
- Table 4 1 Apply a bias to the DC coefficient in each block which will result , after all the transform filters , in each part being offset by negative 16 ( -Him in general) .
- Cost one arithmetic operation per block or image .
- Step 4 need not use the special partitioned ADD, but can use an ordinary ADD to operate on several samples at once as if partitioned.
- FIG. 6 illustrates a system 600 for compressing data, in accordance with one embodiment.
- the system 600 may be implemented in the context of the foregoing concepts set forth hereinabove. Of course, however, the system 600 may be implemented in any desired context.
- an encoder 602 embodied on a single device 604 for encoding data to generate first compressed data in a first format.
- a transcoder 606 is embodied on the same single device 604 as the encoder 602 for transcoding the first compressed data to generate second compressed data in a second format.
- data is received in the single device 604.
- Such data is encoded utilizing the single device 604 to generate first compressed data in a first format.
- the first compressed data is transcoded utilizing the single device 604 to generate second compressed data in a second format.
- the encoding may occur in real-time. Moreover, the transcoding may occur off-line. In another embodiment, the first compressed data may be transcoded to generate the second compressed data in the second format, such that the second compressed data is adapted to match a capacity of a communication network coupled to the single device 604.
- the encoding may be carried out utilizing a first encoder.
- the transcoding may be carried out utilizing a decoder and a second encoder, as shown in Figure 6.
- the first format may include a wavelet-based format.
- the second format may include a DCT-based format.
- the second format may include an MPEG format. More exemplary information regarding additional optional features will now be set forth. As set forth earlier, there are several modes of communication using images and video sequences. In addition to direct real-time viewing, one can capture the image(s) or video sequence and transmit it at a later time, either immediately following capture or delayed until a more advantageous time.
- the receiving of a video sequence can be done either in a realtime mode in which the video seen but not stored, like watching TV, or in another mode where the sequence is stored for later viewing.
- Streaming operation in which the video is captured and stored at the source or in the network and viewed at the receiver in real time. This requires realtime decoding, but allows time for processing the sequence before transmission. This mode requires the transmission channel, at least from the network to the receiver, to carry the full rate of the compressed video. In addition, for most transmission channels, the receiver must buffer some amount of the sequence to maintain smooth playback in the presence of variance in the transmission rate.
- Messaging or File-transfer mode in which the video is captured and stored at the source, transferred in non-real-time to the receiver, and stored at the receiver for later playback. This mode allows for operation on transmission channels that cannot carry the full rate of real-time video, and allows for the recipient to replay, pause, and otherwise control the experience.
- Images or video that have been captured and compressed in one format may be converted into another compression format. This operation is called transcoding. It is done, in the worst case, by decompressing the input format into a full picture or video, then compressing in the desired output format. For many pairs of formats there may be less-expensive methods than this worst-case method available.
- transcoding When transcoding is required as part of a connection, it can be performed either in the originating device or in some intermediate location.
- Some networks may offer transcoding services as part of the operation of the network, in order to provide for mutual communication among devices with disparate local capabilities. This will help to keep the complexity, and hence the cost, of the mobile units low.
- the device captures video, compresses it in real time using a low- complexity compression method such as that to be described hereinafter, and stores the compressed video sequence. Then at a later time the device can tianscode the video sequence into a format that is acceptable to the recipient or to the network. This allows for low power operation, long battery life, and simpler circuitry in the device, along with complete compatibility with network format standards.
- An optional advantage of this operating style is flexibility: the choice of realtime compression does not limit the range of receivers with which the device can communicate directly.
- the transmission format can be negotiated at the time of the transfer call, as described above.
- the device can support a broader range of formats this way, because it need not have an extensively optimized real-time implementation of every one.
- transcoding need not operate at the speed of video capture, but can be matched to the speed of the transmission network which is often much lower.
- the lower speed transcoding operation in turn, can be done in circuitry that is smaller and consumes less power than a standard real-time compressor would take. Thus the overall power consumption, battery life, complexity, and cost of the device is reduced.
- Yet another optional advantage of this style of operation is the possibility of postponing transmission of images and video from times when the cost is high, such as daytime telephone rates, to times when the cost is lower (or, in current cell phone pricing schemes, even free) such as night rates.
- the transmission may have lower cost at another time because of other factors than time. For example, a cell phone may incur lower charges when it returns to its home territory than when it is "roaming".
- Deferred transmission as described does not necessarily require the user of the device to take any deferred action.
- the transmission can be scheduled automatically by the device, based on information it has about rates and schedules. Thus the user's convenience is preserved. Of course, some messages have higher perceived urgency than others; users can easily specify whether and how long to defer transmission.
- interruptible transfers will allow both for deliberate interruption such as placing a call and for unexpected interruption such as a dropped connection.
- a transcoding source device can send to a streaming-mode receiver, including a receiver that is much simpler and much less capable than the sender. This allows for easy adoption of advanced transcoding devices into an existing network of devices.
- Standard image and video formats provide error detection, error correction, and burst-error control methods. By transcoding into these standard formats, the device can take full advantage of standard error resilience features while using a low-complexity, low-power capture compression method.
- the idea of capturing a signal of interest using low-complexity real-time processing, then transcoding it later into a format better suited to transmission, storage, or further processing, can be applied to signals other than images and video, and to uses other than wireless transmission, and to devices other than mobile personal conveniences.
- military intelligence sensing, infrared remote sensing, sonar, telescope spectra, radio telescope signals, SETI channels, biochemical measurements, seismic signals, and many others can profit from this basic scheme.
- Figure 7 illustrates a system 700 for compressing data utilizing multiple encoders 702 on a single integrated circuit 704 (i.e. ASIC).
- the system 700 may be implemented in the context of the foregoing concepts set forth hereinabove. Of course, however, the system 700 may be implemented in any desired context.
- a first encoder is embodied on the single integrated circuit 704 for encoding a first set of data.
- a second encoder is embodied on the same single integrated circuit 704 as the first encoder for encoding a second set of data.
- more encoders may be embodied on the single integrated circuit 704 for similar pu ⁇ oses.
- data is received in the single integrated circuit.
- the data is then encoded utilizing a plurality of encoders inco ⁇ orated on the single integrated circuit.
- data may be encoded utilizing multiple channels on the single integrated circuit. Moreover, the data may be encoded into a wavelet-based format.
- Indirect advantages include the possibility to inco ⁇ orate video selection and multiplexing circuitry on the same chip, further reducing the pin count and board area.
- Video compression methods for example the algorithms described during reference to Figures 2-5 developed by Droplet Technology, Inc.(R), that require far less circuitry to implement than the conventional and standard compression methods. Due to their superior design, multiple instances of these advanced compression methods may now be integrated onto a single ASIC or other integrated circuit.
- Another single module system and method for compressing data are further provided.
- photons are received utilizing a single module.
- compressed data representative of the photons is outputted utilizing the single module.
- the compressed data may be encoded into a wavelet-based format.
- the transform operations associated with the encoding may be carried out in analog.
- the single module may further include an imager.
- the present embodiment may be implemented for building imager arrays - CMOS or CCD cameras or other devices - to facilitate the whole process of capturing and delivering compressed digital video.
- Directly digitized images and video take lots of bits; it is common to compress images and video for storage, transmission, and other uses.
- Several basic methods of compression are known, and very many specific variants of these.
- a general method can be characterized by a three-stage process: transform, quantize, and entropy-code.
- the intent of the transform stage in a video compressor is to gather the energy or information of the source picture into as compact a form as possible by taking advantage of local similarities and patterns in the picture or sequence.
- the present embodiment works well on “typical” inputs and ignores their failure to compress "random” or "pathological” inputs.
- DCT discrete cosine transform
- Some newer image compression and video compression methods such as JPEG-2000 [3] and MPEG-4 textures [4], use various wavelet transforms as the transform stage.
- a wavelet transform comprises the repeated application of wavelet filter pairs to a set of data, either in one dimension or in more than one.
- a 2-D wavelet transform horizontal and vertical
- a 3-D wavelet transform horizontal, vertical, and temporal
- a wavelet filter pair processes an image (or a section of an image) to produce two images, each typically half the size of the input, that can generally be regarded as "low-pass” or average or blurred, for one, and "high-pass” or detail or edges, for the other.
- the full information in the input picture is retained, and the original can be reconstructed exactly (in many cases), from the transformed image pair.
- a wavelet filter pair generally processes an image in one dimension, either horizontally, vertically, or temporally (across a time sequence of frames).
- the full wavelet transform is composed of a series of these steps applied in several dimensions successively. In general, not all of the results of earlier steps are subjected to later steps; the high-pass image is sometimes kept without further filtering.
- a camera has at its heart an imager device: something that responds to and records varying intensities and colors of light for later display and other uses.
- imager devices for digital still cameras and video cameras today are CCDs and CMOS arrays. Both accumulate an electric charge in response to light at each pixel; they differ in the way they transfer and read out the amount of charge.
- CMOS complementary metal-oxide semiconductor
- a key advantage of CMOS imagers is that the processing of the imager chip resembles the processing of digital logic chips rather closely. This makes it easier to include control and other functions on the same chip. Both kinds of chip, however, are necessarily built from analog circuits at the lowest level to measure the analog charge or voltage or current that represents the amount of light seen.
- CMOS imagers are very similar in structure to DRAMs ("dynamic random- access memories"), and transfer the charge that represents the light seen in a pixel to the edge of the array along a grid of metal traces that cross the array.
- This readout method is standard practice for memory chips and is well developed in the industry.
- CCD imagers While an older technology, are well developed and offer lower noise and better sensitivity.
- CCDs charge-coupled devices
- a CMOS imager or CCD imager differs from a digital memory device in that the charge transferred to the edge of the array represents not just a "0" or "1" bit value, but a range of brightness values.
- an analog-to-digital conversion is required. Preceding this conversion, the signal is amplified; it is often subjected to other processing to cancel out errors and variability in the chip fabrication and operation.
- a common processing step is "correlated double sampling", in which a dark sample is taken and stored as a measure of the leakage current for this part of the circuit, and subtracted from the image sample to reduce noise patterns.
- the analog processing is done in a differential amplifier, a circuit that responds primarily to the difference between its inputs rather than to the absolute size of either one.
- the signal must be converted from analog (charge, voltage, or current) representation to digital representation.
- the wavelet filter pair that is a step of a wavelet consists, in some implementations, of a very simple set of additions and subtractions of adjacent and nearby pixel values.
- useful filter pair called the "Haar Wavelet” is just the sum and difference as follows in Equations #1.1H, and 1.2H.
- H n X 2n -X 2n+. eq ⁇ .2H This generates one sample of the "High” transformed image and one sample of the "Low” transformed image from the same two samples of the input image "X".
- wavelet filters are possible and are used; some are very complex, but some are as simple as doing a few Haar steps, summing them together, and scaling them by constant amounts.
- one of the transforms specified in the JPEG 2000 standard [1] is the reversible 5-3 transform set forth earlier in Equations #1.1, and 1.2.
- the entire wavelet filter pair takes 5 add/subtract operations and two scaling operations; in the continuous analog domain the floor operations disappear.
- CMOS and CCD imagers are presently built using differential amplifiers to amplify and subtract noise from the pixel samples on the chip, it is fairly easy to do some simple processing steps on the chip before digital-to-analog conversion. Doing these steps adds some analog circuitry to the chip, but it can be a small amount of circuitry.
- the first step computed is the most expensive. This is because each of the first several steps reduces the amount of image to be processed by later stages; one does not necessarily further process the "high pass" image output by each filter stage.
- implementing the first step or first few steps in analog, before doing analog-to-digital conversion can reduce the digital processing significantly, since only the "low pass" image must be digitally processed.
- the benefit can be taken either by reducing the amount of digital circuitry, thus reducing the chip area it occupies, or by running the digital circuitry slower, thus reducing its power consumption and heat generation.
- the transform stage of image or video compression can be done using a
- DCT this process transforms an image into a spectrum, whose successive samples represent the content of a range of spatial frequencies in the image.
- Some implementations of DCT use Haar steps, and these could benefit from being done in analog as well.
- Imager chips that capture color images typically place a color filter in front of each pixel, restricting it to one of red, green, or blue response. These filters are arranged in a pattern so that all three colors are sampled adjacently everywhere in the image. Digital video standards, however, prefer an arrangement of components other than RGB. The most widely used is YUV, or YCt,C r , in which the Y component represents black-and-white brightness or "luma" and the U and V components represent color differences between blue or red and luma. The reason for this representation is that human visual response allows lower resolution in the C components, thus allowing smaller digital representations of images. The YUV representation is convenient for compression as well. Color imager chips sometimes provide circuitry to do the operation of transforming RGB pixel values into YUV values, either analog (before conversion) or digital (after conversion).
- the analog color conversion can precede the first analog wavelet filter step; in this case the wavelet filters work on full-bandwidth Y component and on half-bandwidth U and V components.
- the wavelet filters can be applied to the R, G, and B components from the imager array first, followed by color conversion to YUV; in this case the filters work on three full-bandwidth component signals.
- the analog circuitry that does the color conversion is replaced by the analog circuitry that does the first wavelet steps, for no net increase in analog circuitry, reduced digital circuitry, and a very clean interface with the digital wavelet compression processing.
- the negative of half the 2 n derivative may be — 2 2 so interest may only be in ⁇ 2 . In that case, it is more simple to find the quadratic:
- the first type is supported by multiple functional units and allows processing to proceed simultaneously in each functional unit.
- Super-sealer processor architectures and VLIW (Very Long Instruction Word) processor architectures allow instructions to be issued to each of several functional units on the same cycle.
- VLIW Very Long Instruction Word
- the latency, or time for completion varies from one type of functional unit to another.
- the most simple functions e.g. bitwise AND
- a floating add function my take 3 or more cycles.
- a floating add may take 3 cycles to complete and be implemented in three sequential sub-functions requiring 1 cycle each.
- a second floating add may be initiated into the first sub-function on the same cycle that the previous floating add is initiated into the second sub-function.
- the third type of parallel processing available is that of devoting different field- partitions of a word to different instances of the same calculation.
- a 32 bit word on a 32 bit processor may be divided into 4 field-partitions of 8 bits each. If the data items are small enough to fit in 8 bits it is may possible to process all 4 values with the same single instruction.
- n 0:4:255, ⁇ S ⁇ ( «); S ⁇ (n+1); S_(n+2); S ⁇ (»+3); S 2 (n); S 2 («+7); S 2 (n+2); S 2 (n+3); S 3 («); S 3 (n+1); S 3 (»+2); S 3 (n+3); S 4 (.z); S 4 (n+7); S 4 ( «+2); S 4 («+3); S 5 (n); $ 5 (n+l); S 5 (n+2); S 5 (n+3);
- guarded instructions a facility available on many processors.
- a guarded instruction specifies a Boolean value as an additional operand with the meaning that the instruction always occupies the expected functional unit, but the retention of the result is suppressed if the guard is false.
- the guard is taken to be the if condition.
- the instructions of the then clause are guarded by the if condition and the instructions of the else clause are guarded by the negative of the if condition.
- both clauses are executed. Only the instances with the guard true are updated by the results of the then clause - only the instances with the guard false are updated by the results of the else clause. All instances execute the instructions of both clauses, enduring this penalty rather than the pipeline delay penalty required by a conditional change in the control flow.
- the guarded approach suffers a large penalty if, as in program A'), the guards are preponderantly true and the else clause is large. In that case all instances pay the large else clause penalty even though only a few are affected by it. If one has an operation S to be guarded by a condition C one may program that as gu rd(C, S);
- a novel alternative is Pz7e Processing.
- a pile is a sequential memory object typically stored in RAM. Piles are intended to be written sequentially and to be subsequently read sequentially from the beginning.
- a number of methods are defined on Pz7e objects.
- a pile is created by the CreateJPile(P) method. This allocates storage and initializes the internal state variables.
- Conditional_Append(pile, condition, record) The primary method for writing to a pile is Conditional_Append(pile, condition, record). This method appends the record to the pile pile if and only if condition is true.
- the method EOF(P) produces a boolean value indicating whether or not all of the records of the pile have been read.
- Destroy _Pile(P) destroys the pile P by deallocating all of its state variables.
- Program E' operates by saving the required information I for the exception computation T on the pile P. Just I records corresponding to the exception condition C(n) are written so that the number (e.g., 16) of I records in P is much less than the number of loop turns (e.g., 256) in the original program A). Afterwards a separate while loop reads through the pile P performing all of the exception computations T. Since P contains records I only for the cases where C(AZ) was true, only those cases are processed.
- the second loop is a little trickier than the first loop because the number of turns of the second loop, while 16 on the average in this example, is indeterminate. Therefore a while loop rather than a for loop is required, terminating when the EOF method indicates that all records have been read from the pile.
- Conditional _Append method invocations can be implemented inline and without branches. This means that the first loop is still unrolled in an effective manner, with few unproductive issue opportunities.
- Destroy pP ⁇ le P ⁇
- Destroy JPile P ⁇
- Destroy _Pile P 3
- Destroy _Pile P 4
- Program F' is program ⁇ ') with the second loop unrolled.
- the unrolling is accomplished by dividing the single pile of program ⁇ ') into four piles, each of which can be processed independently of the other.
- Each turn of the second loop in program F') processes one record from each of these four piles. Since each record is processed independently the operations of each T can be interleaved with the operations of the 3 other Ts.
- T itself contains a lengthy conditional clause T'
- T' one can split T' out of the second loop with some additional piles and unroll the third loop.
- Many practical applications have several such nested exception clauses.
- a pile consists of an allocated linear array in RAM and a pointer, index, whose current value is the location of the next record to read or write.
- the written size of the array, sz is a pointer whose value is the maximum value of index during the writing of the pile.
- the EOF method can be implemented as the inline conditional (sz ⁇ index).
- the pointer base has a value which points to the first location to write in the pile. It is set by the Create JPile method.
- the Pile_Read method copies the next portion of the pile(of length sz_record) to I and increments index.
- index index + sz_record;
- Destroy JPile deallocates the storage for the Pile.
- Pile Processing thus enables the unrolling of loops and the consequent improved performance in the presence of branches.
- This technique particularly enables the parallel execution of lengthy exception clauses. The cost for this is the requirement to write and reread a modest amount of data to/from RAM.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003586705A JP2005523615A (en) | 2002-04-19 | 2003-04-17 | Wavelet transform system, method, and computer program product |
EP03724105A EP1500268A2 (en) | 2002-04-19 | 2003-04-17 | Wavelet transform system, method and computer program product |
AU2003230986A AU2003230986A1 (en) | 2002-04-19 | 2003-04-17 | Wavelet transform system, method and computer program product |
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37406902P | 2002-04-19 | 2002-04-19 | |
US37406102P | 2002-04-19 | 2002-04-19 | |
US37396602P | 2002-04-19 | 2002-04-19 | |
US37397402P | 2002-04-19 | 2002-04-19 | |
US60/374,069 | 2002-04-19 | ||
US60/373,974 | 2002-04-19 | ||
US60/373,966 | 2002-04-19 | ||
US60/374,061 | 2002-04-19 | ||
US38525402P | 2002-05-28 | 2002-05-28 | |
US60/385,254 | 2002-05-28 | ||
US39038002P | 2002-06-21 | 2002-06-21 | |
US39038302P | 2002-06-21 | 2002-06-21 | |
US60/390,383 | 2002-06-21 | ||
US60/390,380 | 2002-06-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2003090028A2 true WO2003090028A2 (en) | 2003-10-30 |
WO2003090028A3 WO2003090028A3 (en) | 2004-03-25 |
Family
ID=29255754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2003/012078 WO2003090028A2 (en) | 2002-04-19 | 2003-04-17 | Wavelet transform system, method and computer program product |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1500268A2 (en) |
JP (2) | JP2005523615A (en) |
CN (2) | CN1663257A (en) |
AU (1) | AU2003230986A1 (en) |
WO (1) | WO2003090028A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007040367A1 (en) * | 2005-10-05 | 2007-04-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
WO2007040371A1 (en) * | 2005-10-05 | 2007-04-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
US7653533B2 (en) | 2005-10-24 | 2010-01-26 | Lg Electronics Inc. | Removing time delays in signal paths |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8731062B2 (en) * | 2008-02-05 | 2014-05-20 | Ntt Docomo, Inc. | Noise and/or flicker reduction in video sequences using spatial and temporal processing |
FR2998078A1 (en) * | 2012-11-09 | 2014-05-16 | I Ces Innovative Compression Engineering Solutions | METHOD FOR LIMITING THE MEMORY NECESSARY FOR RECORDING AN AUDIO, IMAGE OR VIDEO FILE CREATED THROUGH AN APPARATUS IN SAID APPARATUS. |
CN104346819B (en) * | 2014-11-10 | 2017-09-05 | 河北省科学院应用数学研究所 | Based on the worst error method for compressing image for limiting small echo outline |
CN107196660A (en) * | 2017-04-24 | 2017-09-22 | 南京数维康信息科技有限公司 | Low power consumption data compression algorithm |
CN107238817B (en) * | 2017-07-04 | 2020-03-03 | 中国人民解放军海军航空大学 | Radar radiation source signal sorting method with parameter self-adaptive setting and automatic adjustment |
CN109410891B (en) * | 2017-08-17 | 2021-01-01 | 群创光电股份有限公司 | Display and operation method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148110A (en) * | 1997-02-07 | 2000-11-14 | Matsushita Electric Industrial Co., Ltd. | Image data processing apparatus and method |
US6195465B1 (en) * | 1994-09-21 | 2001-02-27 | Ricoh Company, Ltd. | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream |
US6332043B1 (en) * | 1997-03-28 | 2001-12-18 | Sony Corporation | Data encoding method and apparatus, data decoding method and apparatus and recording medium |
US6360021B1 (en) * | 1998-07-30 | 2002-03-19 | The Regents Of The University Of California | Apparatus and methods of image and signal processing |
US6407747B1 (en) * | 1999-05-07 | 2002-06-18 | Picsurf, Inc. | Computer screen image magnification system and method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858017A (en) * | 1988-01-22 | 1989-08-15 | The Trustees Of Columbia University In The City Of New York | System and method for hierarchal image encoding and decoding |
JPH07135446A (en) * | 1993-11-11 | 1995-05-23 | Takayama:Kk | Frequency conversion circuit |
JP3197420B2 (en) * | 1994-01-31 | 2001-08-13 | 三菱電機株式会社 | Image coding device |
JP3277677B2 (en) * | 1994-04-01 | 2002-04-22 | ソニー株式会社 | Signal encoding method and apparatus, signal recording medium, signal transmission method, and signal decoding method and apparatus |
JPH0850486A (en) * | 1994-06-02 | 1996-02-20 | Matsushita Electric Ind Co Ltd | Sound data access device, sampling data string interpolation device, sampling data string access device, sampling data string interpolation method, multimedium apparatus using sound data access device and electronic musical instrument |
US5568142A (en) * | 1994-10-20 | 1996-10-22 | Massachusetts Institute Of Technology | Hybrid filter bank analog/digital converter |
JP2914891B2 (en) * | 1995-07-05 | 1999-07-05 | 株式会社東芝 | X-ray computed tomography apparatus |
JPH09107548A (en) * | 1995-10-11 | 1997-04-22 | Matsushita Electric Ind Co Ltd | Image compression device and image compression method |
JPH1188183A (en) * | 1997-09-11 | 1999-03-30 | Seiko Epson Corp | Wavelet converter, its method, wavelet inverse converter, its method, image coder, its method, image decoder and its method |
JP3152197B2 (en) * | 1998-01-07 | 2001-04-03 | ヤマハ株式会社 | Musical tone generation method |
US6546143B1 (en) * | 1999-03-12 | 2003-04-08 | Hewlett-Packard Development Company | Efficient wavelet-based compression of large images |
US6643406B1 (en) * | 1999-07-28 | 2003-11-04 | Polaroid Corporation | Method and apparatus for performing linear filtering in wavelet based domain |
CN1322014A (en) * | 2000-04-29 | 2001-11-14 | 双汉科技股份有限公司 | Optical diode complementary metal oxide semiconductor image sensor production method |
JP4625565B2 (en) * | 2000-06-28 | 2011-02-02 | 東芝情報システム株式会社 | X-ray computed tomography system |
-
2003
- 2003-04-17 AU AU2003230986A patent/AU2003230986A1/en not_active Abandoned
- 2003-04-17 EP EP03724105A patent/EP1500268A2/en not_active Withdrawn
- 2003-04-17 CN CN 03814097 patent/CN1663257A/en active Pending
- 2003-04-17 JP JP2003586705A patent/JP2005523615A/en not_active Abandoned
- 2003-04-17 CN CN2010102713429A patent/CN101902648A/en active Pending
- 2003-04-17 WO PCT/US2003/012078 patent/WO2003090028A2/en active Application Filing
-
2010
- 2010-02-22 JP JP2010036657A patent/JP2010141922A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195465B1 (en) * | 1994-09-21 | 2001-02-27 | Ricoh Company, Ltd. | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream |
US6148110A (en) * | 1997-02-07 | 2000-11-14 | Matsushita Electric Industrial Co., Ltd. | Image data processing apparatus and method |
US6332043B1 (en) * | 1997-03-28 | 2001-12-18 | Sony Corporation | Data encoding method and apparatus, data decoding method and apparatus and recording medium |
US6360021B1 (en) * | 1998-07-30 | 2002-03-19 | The Regents Of The University Of California | Apparatus and methods of image and signal processing |
US6407747B1 (en) * | 1999-05-07 | 2002-06-18 | Picsurf, Inc. | Computer screen image magnification system and method |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007040367A1 (en) * | 2005-10-05 | 2007-04-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
WO2007040371A1 (en) * | 2005-10-05 | 2007-04-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
WO2007040368A1 (en) * | 2005-10-05 | 2007-04-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
US7653533B2 (en) | 2005-10-24 | 2010-01-26 | Lg Electronics Inc. | Removing time delays in signal paths |
Also Published As
Publication number | Publication date |
---|---|
CN101902648A (en) | 2010-12-01 |
AU2003230986A1 (en) | 2003-11-03 |
EP1500268A2 (en) | 2005-01-26 |
AU2003230986A8 (en) | 2003-11-03 |
WO2003090028A3 (en) | 2004-03-25 |
CN1663257A (en) | 2005-08-31 |
JP2005523615A (en) | 2005-08-04 |
JP2010141922A (en) | 2010-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6229929B1 (en) | Border filtering of video signal blocks | |
JP5257447B2 (en) | Shutter time compensation | |
US6023295A (en) | ADPCM recompression and decompression of a data stream of a video image and differential variance estimator | |
KR100937378B1 (en) | Method, computer program product and device for processing of still images in the compressed domain | |
US20060088098A1 (en) | Method and arrangement for reducing the volume or rate of an encoded digital video bitstream | |
JP2010141922A (en) | System and method for converting wavelet and computer program product | |
WO2014120374A1 (en) | Content adaptive predictive and functionally predictive pictures with modified references for next generation video coding | |
WO2012076646A1 (en) | High-dynamic range video tone mapping | |
US6825780B2 (en) | Multiple codec-imager system and method | |
US6396948B1 (en) | Color rotation integrated with compression of video signal | |
JP5133317B2 (en) | Video compression method with storage capacity reduction, color rotation, composite signal and boundary filtering and integrated circuit therefor | |
Lee et al. | Lossless compression of HDR color filter array image for the digital camera pipeline | |
US6516030B1 (en) | Compression of combined black/white and color video signal | |
US20030198395A1 (en) | Wavelet transform system, method and computer program product | |
Lee et al. | Lossless white balance for improved lossless CFA image and video compression | |
AU2022202473B2 (en) | Method, apparatus and system for encoding and decoding a tensor | |
AU2022202470A1 (en) | Method, apparatus and system for encoding and decoding a tensor | |
Katsigiannis et al. | A contourlet transform based algorithm for real-time video encoding | |
KR20050018659A (en) | Wavelet transform system, method and computer program product | |
Zhang et al. | Real-time lossless compression of mosaic video sequences | |
Apostolopoulos et al. | Video compression for digital advanced television systems | |
Apostolopoulos | Video compression | |
US7130351B1 (en) | Storage reduction during compression | |
US20030235340A1 (en) | Chroma temporal rate reduction and high-quality pause system and method | |
JP2004007266A (en) | Image encoder and its method, image decoder and its method, and program and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2003586705 Country of ref document: JP Ref document number: 1020047016832 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003724105 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20038140977 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2003724105 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020047016832 Country of ref document: KR |