WO2000058911A9 - Advance memory reduction system for image processing systems - Google Patents
Advance memory reduction system for image processing systemsInfo
- Publication number
- WO2000058911A9 WO2000058911A9 PCT/US2000/008684 US0008684W WO0058911A9 WO 2000058911 A9 WO2000058911 A9 WO 2000058911A9 US 0008684 W US0008684 W US 0008684W WO 0058911 A9 WO0058911 A9 WO 0058911A9
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bit
- coefficients
- bits
- group
- outputting
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Definitions
- the present invention is directed to a system and method for reducing memory consumption in image processing systems. More specifically, it relates to a system for reducing the amount of memory required to store decoded graphic image frames compressed using the MPEG-2 image compression standard and similar techniques.
- MPEG-2 formally described in International Standards Organization document ISO/IEC 13818 (incorporated herein by reference), is an international standard for compressing moving images such as video and their associated audio information.
- Video or other moving picture information to be compressed is, if necessary, transformed into the YUN (luminance-chrominance) color space, and divided into macro-blocks each consisting of, e.g., a 2x2 array of 8x8 blocks of Y components and an 8x8 block each of Cb and Cr components (alternatively, other formats may be used).
- I-frames intra-frames
- P-frames predictive frames
- B-frames bidirectional frames
- I, P and B frames are particularly important to the MPEG-2 scheme. Since the I frames are calculated independently of other frames, they can be used as arbitrary selection points for fine-grain accessing of the image sequence after it begins. In contrast, since the P and B frames require decoding of I frames and possibly P-frames before they can be accessed, they aren't as readily employed for random accessing of the image sequence.
- the decompression process is essentially the reverse of the compression process.
- Compressed MPEG-2 data is Huffman decoded, transformed by an inverse DCT, and the original image frames are recovered by a complementary motion compensation algorithm. If necessary, the image is transformed from the YUN color space to an appropriate space such as RGB space.
- the MPEG-2 standard provides excellent compression results for image data so that it can be transmitted or stored efficiently, its encoding and decoding processes can be quite memory-intensive.
- a memory must be capable of containing two frames, e.g., an I and P frame, as well as the B frame.
- the memory may need to be a large as 12 MB.
- the MPEG-2 standard may alleviate data transmission and storage demands, it at least partially does so by increasing the burden on the MPEG decoder.
- this technique does realize some reduction in memory requirements, it can achieve only a 2:1 reduction in data size. Further, it complicates the recompression process because luminance and chrominance data are compressed and decompressed by different amounts, thereby requiring different actions depending on whether the data is luma data or chroma data. Further, this prior art technique places additional constraints on the system by requiring a separate memory for storing data required by the decompression process.
- the method comprises partitioning of coefficients into groups so that coefficients expected to have the same magnitude on average are grouped together and encoding grouped coefficients into a compressed bit stream.
- FIGURE 1 is a block diagram of one embodiment of an image processor
- FIGURE 2 shows an exemplary ordering of DCT coefficients prior to scalable encoding
- FIGURE 3 A and 3B are a flowchart showing one embodiment of a DCT tree encoding process
- FIGURE 4 is a block diagram of one embodiment of a tree encoder
- FIGURE 5 is a block diagram of one embodiment of an AC encoder in the tree encoder of FIG. 3;
- FIGURE 6 is a flowchart showing one embodiment of a DCT tree decoding process
- FIGURE 7 is a block diagram of one embodiment of a tree decoder implementing a DCT coefficient procedure
- FIGURE 8 is a block diagram of one embodiment of a bit classifier in the tree decoder of FIG. 6;
- FIGURE 9 shows an alternative ordering of DCT coefficients prior to scalable encoding.
- a system and method which can perform encoding and decoding of data, particularly MPEG-2 image data, while, in one embodiment, requiring a relatively small amount of memory space.
- One or more embodiments of the system and method may perform encoding and decoding of image data with little or no loss in final image quality.
- One or more embodiments of the system and method may perform encoding and decoding of image data while preserving the fine-grain positional accessibility of the final image sequence as well as fine-grain temporal accessibility even in encoded form and/or at various fixed compression rates.
- the system and method may perform encoding and decoding of image data using a uniform algorithm for data in each component of the image data color space.
- the decoding of image data may be performed in such a way so as to not be processor-intensive nor significantly increase the complexity or cost of the system.
- an image processing system receives discrete cosine transform coefficients derived from decompressed MPEG-21, P and B frames and applies a scalable tree encoding to the transformed coefficients.
- the I, P and B frames can be stored in a compact form and sections thereof can be quickly and efficiently retrieved.
- the system decodes the coefficients and applies an inverse DCT to obtain the I, P and B frames.
- the I, P and B frames may be passed to the MPEG-2 motion compensation algorithm to generate I and B frames.
- I, P and B frames may be decompressed and passed on for recovery of the original image frames and subsequent display.
- FIG. 1 The basic structure of one embodiment of an MPEG-2 decoder is shown in FIG. 1, in which a memory 10 storing graphics data is writeable via a write bus 12 and independently and simultaneously readable via two read buses 14 (of course, the use of this bus structure is simply an implementation choice, and other architectures such as a single shared bus may be used).
- the write bus 12 writes data from an Advanced Memory Reduction (AMR) encoder 16 into the memory 10.
- AMR Advanced Memory Reduction
- One of the read buses 14 provides data from the memory 10 to an AMR decoder 18, and the other read bus 14 provides data from the memory 10 to another AMR decoder 20.
- AMR Advanced Memory Reduction
- Two AMR decoders are used so that while one decoder is used to drive a display processor 22, the other can be used by MPEG core engine 24 to decode MPEG I and P frames stored in memory 10 for use in generating MPEG P and B frames as will be familiar to those skilled in the art.
- AMR encoder 16 intercepts frames sent from the MPEG core engine 24 to the system write bus 12 to compress the data before putting it on the write bus 12 for storage by memory controller 10, and the AMR decoder 18 intercepts compressed data on the read bus 14 which is destined for the MPEG core engine 24 and decodes it to generate blocks suitable for the MPEG core engine 24 before passing them thereto.
- AMR decoder 20 receives data from the memory controller 10 destined for display processor 22 and decodes the data to generate lines before providing them to the display processor 22.
- the MPEG core engine generates I, P and B frames in a manner well-known in the art.
- these frames are divided into 8x2 blocks of bytes, transformed by a DCT into 8x2 blocks, and the 8x2 blocks of DCT data are output to the AMR encoder 16.
- the frames may be divided into other block sizes in alternative embodiments.
- the DCT coefficients can be used to model the original image data set, where each coefficient is associated with a corresponding frequency term of the model.
- An example of an 8x2 block of luminance data is shown in TABLE I below.
- the DCT coefficients are assembled into a histogram-like structure as shown in TABLE m in which the DCT coefficients are linearly arrayed along the abscissa of the histogram and the binary representation of each coefficient extending along the ordinate of the histogram, with the least significant bit of each being lowermost and leading zeroes being omitted.
- TABLES II and IQ the DCT coefficients are not merely transferred to the histogram in left-to-right, top-to-bottom order; rather, a transformational mapping is applied as in FIG. 2.
- the first four coefficients in the upper row of the DCT coefficient array occupy the first four columns of the binary coefficient array, followed by the first four coefficients in the lower row of the DCT coefficient array. These are followed by the fifth coefficients in the upper and lower rows of the DCT coefficient array, the sixth coefficients in the upper and lower rows, etc. The reason for this mapping will be explained shortly.
- This embodiment is shown in FIG.3A and FIG.3B and reference may also be made to the C source code of APPENDIX I.
- This embodiment may be understood to include two parts: a DC encoding process which codes all bits down to the first bit plane having non-zero AC coefficient bits; and an AC encoding process which codes all remaining bits beginning with the first non-zero AC plane.
- a DC encoding process which codes all bits down to the first bit plane having non-zero AC coefficient bits
- an AC encoding process which codes all remaining bits beginning with the first non-zero AC plane.
- Step S100 of FIG. 3 A the most significant bit (here, the 512-place bit) of the DC coefficient is output (see Step S100 of FIG. 3 A).
- Step S102 the bit of the DC coefficient is output as is (Step S104) (the non-DC bits in the 512- place plane are not checked because they are necessarily "0" due to the nature of the DCT).
- Step S106 the non-DC bits in the 512- place plane are not checked because they are necessarily "0" due to the nature of the DCT.
- Step S106 a single "0" is output to signify that all of the remaining bits in the plane are zero (Step S 108).
- a bit plane has a "1" bit in a non-DC coefficient, a "1" is output to end DC encoding and begin AC encoding (Step SI 10).
- Step SI 12 For each of groups 1-4 (Steps SI 12 - S136), if no "1" has appeared in any coefficient in the group in a higher-order bit plane (Step SI 14) and there are no "1" bits in the group in the current bit plane (Step SI 16), a "0" flag is output to signify that all bits in the group are zero (Step S132). If, on the other hand, there are no "1" bits in higher-order bit planes for this group but there is a "1" bit in the current bit plane (Step SI 16), a "1" flag is output (Step SI 18).
- Step SI 18 If there are “1" bits in the group in the current bit plane and a "1" flag has been output (step SI 18) or, also, if there were “1" bits in higher-order bit planes for this group (Step SI 14), then, beginning with the first coefficient in the group (Step S 120), each bit is checked to see if it is "1" (Step S122). If so and it is the first "1” for that coefficient (Step S124), the "1" is output with its sign (Step S126) ("0" may be used to represent a positive sign and "1” may be used to represent a negative sign). If it is not the first "1” for that coefficient, the "1” is output without its sign (Step S128).
- Step S130 If the bit is not "1", a "0" is output (Step S130).
- Step SI 34 execution proceeds to the next group (Step S 136).
- Step S138 execution proceeds to the next bit plane (Step S138) and its DC bit is output (Step S140), and the process repeats until all bit planes have been processed.
- a "0" is output for the DC coefficient bit followed by a “0” indicating that all non-DC coefficients in the plane are “0".
- a "0” is output for the DC coefficient followed by a "1” indicating the presence of at least one non-zero AC coefficient bit in the plane.
- each group is handled in turn. There are no non-zero coefficient bits in this plane in Group 1 (nor in higher-order bit planes), so a single "0" is output.
- Group 2 has a nonzero AC coefficient for the first time, so a "1" indicating the existence of the first non-zero AC coefficient bit for this group is output.
- each bit in the group is output, followed by its sign if the bit is a "1" (sign bits are only output for the first non-zero bit in a coefficient, and since this bit plane is the first to have a non-zero coefficient for this group, any "1" occurring therein can be assumed to be the first).
- Groups 3 and 4 have no non-zero coefficients; thus, zeroes are output for them.
- the DC coefficient "0" is output, followed by the Group 1 and 2 bits as is (with the inclusion of sign bits as appropriate, of course), since "1" bits have previously occurred in those groups.
- the process continues as described above, and the result is shown in TABLE IV.
- the result of the scalable transformation may be thought of as having a number of bit planes, where each bit plane includes an uncompressed section (the DC coefficient bit) and a compressed section (the AC coefficient bits).
- the result of the encoding operation is a net increase from 128 bits (the 8x2 block of bytes) to 134 bits — a less than effective result if this were the end of the compression method.
- the DCT coefficients have been arranged and encoded to take advantage of their inherent redundancies, the data can be compressed by truncating the encoded bit stream to give an arbitrary compression ratio.
- the coefficients are grouped so that coefficients which tend to be of the same general power-of-two magnitude, i.e., all coefficients within a group tend to fall within the range 2 N"K ⁇ ICI ⁇ 2 N , where C is a coefficient in the group, N is an arbitrary integer and K is a small integer, i.e., 1, 2 or 3; preferably, the smaller the better. That is, within a group the binary magnitudes of the coefficients tend to differ by only a few orders.
- TABLE HI usually ensures that the coefficients contributing most to the image are most likely to survive the truncation step.
- TABLE m orders the DCT coefficients so that the coefficients which are most likely to make a larger contribution are ordered toward the beginning of each bit plane, and therefore are likely to have more of their bits included in the truncated bit stream.
- the grouping of coefficients and the ordering of the groups is not infallible for a given set of coefficients and is merely designed to meet the above requirements for the largest number of cases on average. For example, in the example given above, in no group do all coefficients of the group have the same power-of-two magnitude as described in connection with the first point above. Further, with respect to the second point, the first coefficient of Group 3 has been ordered behind coefficients which are smaller in magnitude. However, it has been found that in most cases the above grouping and ordering satisfactorily predicts which coefficients will have like magnitudes as well as the largest magnitudes among the DCT coefficients. The ordering of the coefficients based on their expected magnitudes, rather than their actual magnitudes in a particular block, will be called the "expected magnitude" of the coefficients.
- Optional features may be added to provide further compression.
- the grouping of the coefficients is designed so that coefficients which tend to differ in binary magnitude by only a few orders are in the same group. If the ordering is designed so that within the group, the coefficient most likely to be largest is at a known position, e.g., in the first position within the group, the coefficient next most likely to be largest is at another known position, etc.
- the encoding of the groups can be partially tokenized for additional compression. For example, suppose that coefficients are ordered within a given group so that the coefficient most likely to be the largest is first; the coefficient next most likely to be largest is second; etc. This information can be used to assign tokens to the most common combinations and an escape code for the remaining combinations.
- Another alternative technique makes use of the fact that given a "1" flag indicating the existence of the first non-zero AC coefficient in any bit plane (e.g., in the 128-place bit plane in TABLE SI) or a "1" flag indicating the existence of the first non-zero AC coefficient within a group (e.g., for Group 3 in the 64-place bit plane in TABLE SI), a combination of all zeroes encoding the bit plane or the group, respectively, is not allowed. That is, suppose the encoding process produces the partial output shown in Table V below. Now, since the initial "1" flag indicates there must be a non-zero
- One hardware implementation of the AMR encoder 16 preferably reflects the DC- AC encoding structure of the encoding process described above. As shown in FIG. 4, DCT coefficients are stored in an input buffer 200. Both the DC encoder 202 and the AC encoder
- the DC encoder 202 receives the coefficient bits one bit plane at a time.
- the DC encoder 202 essentially performs the operations shown in the first part of the flowchart of FIG. 3 A, i.e., encoding the DC coefficient and AC coefficients up to the first bit plane which has a nonzero AC coefficient bit.
- controller 206 activates the AC encoder 204 to encode the bit planes starting with the one having the first nonzero AC coefficient bit.
- the outputs of the DC encoder 202 and the AC encoder 204 are fed to a code combiner 208 which performs bit manipulations as described below to provide a steady bit stream to output buffer 210. Once the bits are stored in the output buffer 210, they may be read and passed on to the memory 10 via the write bus 12.
- the AMR system is used in a real-time image processing environment, for example, in an HDTV-to-NTSC converter or the like, it is preferable that the system be implemented in hardware and provide at least a minimum number of encoded bits each cycle, where the minimum number is determined according to the speed, latencies and the like of the various components used in the image processor as will be readily apparent to those of skill in the art. For example, it may be desirable that the encoder write seven bits to the output buffer 210 each cycle.
- the DC encoder 202 processes four bit planes at a time to ensure that even in the worst-case scenario where four contiguous planes have no non-zero AC coefficients, at least seven (actually, eight) bits can be generated.
- the code combiner 208 When the number of bits produced by the DC encoder 202 is not exactly seven (as is usually the case), the code combiner 208 outputs the first seven bits, advances the write pointer in the output buffer 210, and holds the remaining bits to be appended as the head of the next output group.
- the controller 206 causes the code combiner 208 to begin using the output of the AC encoder 204.
- the AC encoder uses at most five bits of state information describing the contents of previous planes: one bit denotes whether the group had a nonzero coefficient bit on any higher-order plane, and four bits (three in the case of Group 1) denote whether the corresponding coefficient within the group had a nonzero coefficient bit on any higher-order plane (the former may of course be derived by logical ORing together the bits of the latter to reduce the amount of state information that must be carried). As shown in FIG. 5, this information is received by four AC code generators 212 and four corresponding AC count generators 214.
- Each of the AC code generators 212 uses the corresponding coefficient data from the input buffer 200 and the above-described state information to encode its group, and each of the AC count generators 214 computes the number of bits in the group encoded by the corresponding AC code generator 212. This count information is used by a shift generator 216 to enable the code combiner 208 to align the bits of the encoded groups to assemble the bit stream outputted to the output buffer 210. As in the case of the DC encoder 202, the code combiner 208 holds the output of the AC encoder 204 until seven bits are available for writing to the output buffer 210 and holds the remainder for writing in a subsequent cycle.
- the complementary decoding operation may also be understood to have two parts, a DC decoding process which decodes bits down to and including the first plane containing a non-zero AC coefficient bit, and an AC decoding process which handles the remaining bits.
- the DC decoding process begins by outputting the first bit in the bit stream as the most significant bit of the DC coefficient as shown at Step S300 in FIG. 6. Then, the decoding operation enters a loop in which the next bit is output as the DC coefficient bit for a given bit plane (Step S302) and, if the following bit is a zero (Step S304), indicating the entire AC portion of the bit plane is zero, fifteen zeroes are output to finish the plane (Step S306).
- Step S304 If, on the other hand, the bit following the DC coefficient bit is a one (Step S304), the plane is the first to contain a nonzero AC coefficient bit and execution moves from DC encoding to AC encoding. At this point, the current group is set to Group 1 (Step S310).
- Step S312 the current group is checked to determine if any of its coefficients have had a nonzero bit in a higher-order bit plane (Step S312). If not, the process checks the next bit in the bit stream to see if it is a one, indicating that the group contains a nonzero bit for the first time (Step S314). If the bit is zero, there are no one bits in this group, a string of four zeroes are output (only three for Group 1), and the group is finished. If, on the other hand, the bit examined in Step S314 is a one, the group contains a one for the first time.
- Step S3128 each bit in the group is examined (Step S318), and if it is a one, a one is output with the following bit as its sign (Step S320); if it is not a one, zero is output (Step S322). This process is repeated for each bit in the group (Step S324).
- each bit in the group is examined to see if it is a one (Step S326). If not, a zero is output (Step S328); if so, the bit is output with its sign if it is the first one to occur for that coefficient (Steps S330, S332) or it is output alone if it is not the first one for that coefficient (Step S334). The process is repeated for each bit in the group (Step S338).
- the hardware implementation of the AMR decoders 18 and 20 may be constrained by speed requirements of the circuitry in which it is used. Assuming the decoders 18 and 20 need to decode seven bits per cycle, one hardware implementation of the AMR decoder 18 is shown in FIG. 7. Here, encoded bits stored in an input buffer 400 (read from the memory 10 via one of read buses 14) are presented to a bit classifier 402. The bit classifier 402 receives the encoded bits seven at a time and, for each provides a seven-bit representation thereof (described in greater detail below) to a set enable generator 404. The set enable generator 404 uses the seven-bit representation to selectively set bits in an output buffer 406 (initialized to all zeroes at the beginning of the block decode).
- the bit classifier 402 when the bit classifier 402 receives seven bits from the input buffer 400, it classifies each into one of thirty-six categories based on the bit itself and twenty state bits for a given bit plane (fifteen bits indicating whether the corresponding coefficient has had any nonzero bits in higher-order bit planes, four bits indicating whether the corresponding group has had any non-zero bits in higher-order bit planes, and one bit indicating whether any AC coefficient has had a nonzero bit in a higher-order bit plane). Categorization of each encoded bit is possible given the bit itself, the state information and the state of the previous bit, so a pipeline architecture as shown in FIG. 8 is used for the bit classifier 402.
- the encoded bits from the input buffer 400 are provided at inputs 408a-408g of bit parsers 410a-410g, and the state information and classification information for the previous bit generated by state logic 412 and classification logic 414, respectively, is passed from stage to stage in the pipeline.
- One category classifies the bit as a DC coefficient bit; fifteen categories classify the bit as one of the fifteen AC coefficient bits; fifteen categories classify the bit as a sign of one of the fifteen AC coefficient bits.
- one category is for the flag indicating that the entire AC plane is zero, one category is for the flag indicating that a bit plane is the first to contain a non-zero AC coefficient, and four categories are for each of the four flags indicating that all bits in the corresponding group are zero.
- the classification of each bit is represented in one-hot form (the bit corresponding to the appropriate category is set and all others are zero) and converted into a seven-bit representation of the classification, where the first bit is the actual encoded bit, the next two bits denote whether the bit is a DC bit, AC bit, sign bit or flag bit. The lower four bits denote the coefficient to which the bit belongs if it is an AC bit or sign bit.
- This seven-bit classification appears on the outputs 416a-416g of the bit parsers 410a-410g for use by the set enable generator 404.
- the set enable generator 404 Based on the seven-bit representation of each of the encoded bits from the input buffer 400, the set enable generator 404 can reproduce the original DCT coefficient bits and store them in the output buffer 406. Additionally, after all encoded bits have been read from the input buffer 400, the set enable generator 404 generates a final coefficient to avoid low-magnitude bias as described above.
- the technique is not limited to use with YUV image data in an MPEG-2 environment, and other color spaces, for example, RGB, monochrome or the like may be used.
- the image data need not be processed in 8x2 byte blocks, and blocks of a different size may be selected depending on such criteria as compression efficiency, granularity of addressability, speed (the larger the block, the larger the number of intermediate values and operations) and the like (however, it is preferable that the blocks have dimensions which are powers of two to ensure easy addressability).
- the coefficients need not be partitioned in the DC-3-4-4-4 format used in the preferred embodiment, and alternative groupings such as DC-3-3-4-5 or DC-3-3-3-3 can alternatively be used.
- Figure 9 shows an alternative grouping of DC-3-3-4-5. This grouping was found to have approximately the same quality as the DC-3-4-4-4 partitioning. Whatever grouping is used, the coefficients should be assigned to the groups so that as many zeroes as possible uniformly appear in the high-order bit planes of the group.
- a buffer system be used with at least one surplus buffer that can be written to or read from by external circuitry while the other buffers are in use.
- the same number of encoders and decoders need not be used, and a system according to the present invention may employ, e.g., three encoders and four decoders.
- a DCT need not be used to generate coefficients, and another transform such as projection of the data onto various orthonormal basis functions can be used instead.
- the transform is one that will generate coefficients which can be generally characterized as to their relative contributions to the original data.
- the system may reduce the amount of data stored by dividing some DCT coefficients by a power of two prior to encoding, an operation which may be implemented in hardware easily with shift registers.
- compression ratios other than 2: land 4:1 can be implemented by truncating the encoded bit stream at the appropriate position.
- the decoder may generate random bits as replacements for the truncated bits. Such variations as those mentioned above are intended to be within the spirit and scope of the present invention.
- int input_bit (char *x) ; void encode (double x[16]); void output_bit (int b) ; void idct(double x[2] [8] , int *buff) ;
- Decode8x2 (int *buff, char *x) ⁇ double dc_mag; int flag_nonzero; int tmp, num, pos, index; int i, j, k, z; int nbit, bi, addr, done; double mag; double magnitude [16] ; int sign [16] ; double zz[2] [8] ; int flag [16] ; int grp_flag[NGRP] ;
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU40615/00A AU4061500A (en) | 1999-03-31 | 2000-03-30 | Advance memory reduction system for image processing systems |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28377199A | 1999-03-31 | 1999-03-31 | |
US09/283,771 | 1999-03-31 |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2000058911A2 WO2000058911A2 (en) | 2000-10-05 |
WO2000058911A9 true WO2000058911A9 (en) | 2002-04-04 |
WO2000058911A3 WO2000058911A3 (en) | 2012-01-26 |
Family
ID=23087477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/008684 WO2000058911A2 (en) | 1999-03-31 | 2000-03-30 | Advance memory reduction system for image processing systems |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU4061500A (en) |
WO (1) | WO2000058911A2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPO472897A0 (en) * | 1997-01-22 | 1997-02-20 | Canon Information Systems Research Australia Pty Ltd | A method for digital image compression |
-
2000
- 2000-03-30 WO PCT/US2000/008684 patent/WO2000058911A2/en active Search and Examination
- 2000-03-30 AU AU40615/00A patent/AU4061500A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2000058911A3 (en) | 2012-01-26 |
WO2000058911A2 (en) | 2000-10-05 |
AU4061500A (en) | 2000-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5982936A (en) | Performance of video decompression by using block oriented data structures | |
US6301392B1 (en) | Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage | |
US6002801A (en) | Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics | |
US6219457B1 (en) | Method and system for decoding data encoded in a variable length code word | |
US5864637A (en) | Method and apparatus for improved video decompression by selective reduction of spatial resolution | |
US8639049B1 (en) | Systems and methods for image coding and processing | |
US20020131084A1 (en) | Storing coding image data in storage of fixed memory size | |
US6859561B2 (en) | Faster lossless rotation of JPEG images | |
CN1108020A (en) | Decoder for a compressed digital video signal using a common memory for decoding and 2/3 pull-down conversion | |
JPH06326996A (en) | Method and equipment for decoding compressed video data | |
JPH06326615A (en) | Method and equipment for decoding code stream comprising variable-length codes | |
US20040013312A1 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
US20140043347A1 (en) | Methods for jpeg2000 encoding and decoding based on gpu | |
US20060280245A1 (en) | MPEG video storage address generation apparatuses and methods for uniformly fetching and storing video data | |
KR100944928B1 (en) | Apparatus and method for encoding and computing a discrete cosine transform using a butterfly processor | |
US7929777B2 (en) | Variable length decoding device, variable length decoding method and image capturing system | |
CN1170310A (en) | Image decoding apparatus and process thereof and image reproduction apparatus | |
JPH0746139A (en) | Signal processor and application thereof | |
US20210250575A1 (en) | Image processing device | |
WO2000058911A9 (en) | Advance memory reduction system for image processing systems | |
JPH10234036A (en) | Tree search vector quantization method for digital image data compression stored in buffer, mpeg decoder with reduced required memory amount and tsvq processing unit | |
Bruns et al. | Sample-parallel execution of EBCOT in fast mode | |
US6377627B1 (en) | Method and apparatus for decoding MPEG video data | |
JPH11155143A (en) | Image compression coding/decoding method, image compression coding and decoding device, image compression coding transmission method, image compression coding transmission system, and record medium with image compression coding and decoding program recorded therein | |
JPH08116268A (en) | Information processing unit |
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 CA CH CN CR CU CZ DE DK DM DZ 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
AK | Designated states |
Kind code of ref document: C2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
COP | Corrected version of pamphlet |
Free format text: PAGES 1-26, DESCRIPTION, REPLACED BY NEW PAGES 1-25; PAGES 27-36, CLAIMS, REPLACED BY NEW PAGES 26-33; PAGES 1/8-8/8, DRAWINGS, REPLACED BY NEW PAGES 1/8-8/8; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |
|
DPE2 | Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101) |