In an adaptive block size image compression method and system for compressing image data, a respective method and system for further compressing the image data for transmission. Each block and corresponding sub-blocks of pixel data is subjected to a discrete cosine transform (DCT) operation. Varying levels of sub-blocks of resulting corresponding transform coefficients are selected for construction into a composite transform coefficient block corresponding to each input block of pixel data. The selection of transform coefficient block size for the composite block is determined by a comparison process between transform block and sub-block coding efficiency. The composite block is variable length coded to further reduce bit count in the compressed data. A discrete quadtree transform (DQT) operation is in supplement of the adaptive block size block selection with coefficient replacement to optimize image data compression. |
Citations|
| US4774574 | Jun 2, 1987 | Sep 27, 1988 | Eastman Kodak Company | Adaptive block transform image coding method and apparatus | | US4776030 | Mar 28, 1986 | Oct 4, 1988 | GTE Laboratories Incorporated | Block quantizer for transform coding | | US4922341 | Sep 26, 1988 | May 1, 1990 | Siemens Aktiengesellschaft | Method for scene-model-assisted reduction of image data for digital television signals | | US4924309 | Aug 23, 1988 | May 8, 1990 | Deutche Thomson-Brandt GmbH | Method and circuit arrangement for improving the resolution of the coefficients of digital signals, particularly digital TV signals | | US4984076 | Jul 26, 1989 | Jan 8, 1991 | Kabushiki Kaisha Toshiba | Image compression coding system | | US5021891 | Feb 27, 1990 | Jun 4, 1991 | Qualcomm, Inc. | Adaptive block size image compression method and system | | US5045938 | Jul 24, 1990 | Sep 3, 1991 | Victor Company of Japan, Ltd. | Method and apparatus for encoding using variable length codes | | US5073820 | Oct 23, 1990 | Dec 17, 1991 | Olympus Optical Co., Ltd. | Image data coding apparatus and coding method | | US5073821 | Jun 8, 1990 | Dec 17, 1991 | Matsushita Electric Industrial Co., Ltd. | Orthogonal transform coding apparatus for reducing the amount of coded signals to be processed and transmitted | | US5107345 | May 28, 1991 | Apr 21, 1992 | Qualcomm Incorporated | Adaptive block size image compression method and system | | US5126857 | May 29, 1990 | Jun 30, 1992 | Fuji Photo Film Co., Ltd. | Device for coding a picture signal by compression | | US5142380 | Oct 18, 1990 | Aug 25, 1992 | Ricoh Company, Ltd. | Image data processing apparatus | | US5227878 | Nov 15, 1991 | Jul 13, 1993 | AT&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video | | US5272528 | Dec 13, 1991 | Dec 21, 1993 | Matsushita Electric Industrial Co., Ltd. | Information recording apparatus | | US5335016 | Jan 23, 1992 | Aug 2, 1994 | Olympus Optical Co., Ltd. | Image data compressing/coding apparatus |
Referenced by|
| US5515105 | Sep 19, 1994 | May 7, 1996 | Daewoo Electronics Co., Ltd. | Video signal coder using variance controlled quantization | | US5649029 | Sep 23, 1994 | Jul 15, 1997 | | MPEG audio/video decoder | | US5680482 | May 17, 1995 | Oct 21, 1997 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by adaptive selection of video input buffer parameters | | US5737093 | May 15, 1995 | Apr 7, 1998 | Brother Kogyo Kabushiki Kaisha | Recording data generating device having output allowance/prevention mode | | US5748793 | Sep 26, 1994 | May 5, 1998 | NEC Corporation | Quick image processor of reduced circuit scale with high image quality and high efficiency | | US5748795 | Feb 5, 1996 | May 5, 1998 | Canon Kabushiki Kaisha | Image decoder using adjustable filtering | | US5754696 | Dec 15, 1994 | May 19, 1998 | Matsushita Electric Industrial Co., Ltd. | Apparatus for compression-coding image data and method of the same based on quantification and frequency transform coefficient amplitude reduction | | US5768292 | Oct 26, 1995 | Jun 16, 1998 | C-Cube Microsystems, Inc. | Error handling process for MPEG decoder | | US5805488 | Oct 26, 1995 | Sep 8, 1998 | C-Cube Microsystems Inc. | Method and structure for degrouping MPEG audio codes | | US5864637 | Apr 18, 1995 | Jan 26, 1999 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by selective reduction of spatial resolution | | US5864817 | Oct 26, 1995 | Jan 26, 1999 | C-Cube Microsystems Inc. | Method for decoding MPEG audio data | | US5870144 | Mar 28, 1997 | Feb 9, 1999 | Adaptec, Inc. | Reduced-quality resolution digital video encoder/decoder | | US5872866 | Apr 18, 1995 | Feb 16, 1999 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by predetermination of IDCT results based on image characteristics | | US5890124 | Oct 26, 1995 | Mar 30, 1999 | C-Cube Microsystems Inc. | Windowing method for decoding of MPEG audio data | | US5923787 | Mar 31, 1997 | Jul 13, 1999 | Ricoh Company Ltd. | Quantization device and method, inverse-quantization device and method, and image processing device and method | | US5933193 | Oct 20, 1997 | Aug 3, 1999 | TRW Inc. | Method and system for three-dimensional compression of digital video signals | | US5982936 | Jul 14, 1997 | Nov 9, 1999 | Advanced Micro Devices, Inc. | Performance of video decompression by using block oriented data structures | | US5999655 | Jul 11, 1997 | Dec 7, 1999 | U.S. Philips Corporation | Method and apparatus for transmission of video pictures which are segmented to form maps of picture blocks of variable block sizes | | US6002801 | Apr 18, 1995 | Dec 14, 1999 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics | | US6014172 | Mar 21, 1997 | Jan 11, 2000 | TRW Inc. | Optimized video compression from a single process step | | US6018368 | Dec 29, 1997 | Jan 25, 2000 | Samsung Electro-Mechanics Co., Ltd. | Scalable encoding apparatus and method with improved function of scaling motion vector | | US6088039 | Jan 4, 1996 | Jul 11, 2000 | Compaq Computer Corporation | Compression of grey scale images of text | | US6356665 | Dec 9, 1998 | Mar 12, 2002 | Sharp Laboratories of America, Inc. | Quad-tree embedded image compression and decompression method and apparatus | | US6360018 | Oct 3, 1997 | Mar 19, 2002 | Canon Kabushiki Kaisha | Image processing apparatus and method | | US6393154 | Mar 3, 2000 | May 21, 2002 | QuikCAT.com, Inc. | Method and apparatus for digital image compression using a dynamical system | | US6396958 | Sep 25, 1998 | May 28, 2002 | Lockheed Martin Corporation | Image transmission system and method employing compression and error correction | | US6411740 | Dec 22, 1998 | Jun 25, 2002 | Sharp Laboratories of America, Incorporated | Method for non-uniform quantization in a resolution hierarchy by use of a nonlinearity | | US6430534 | Nov 9, 1998 | Aug 6, 2002 | Matsushita Electric Industrial Co., Ltd. | Method for decoding coefficients of quantization per subband using a compressed table | | US6470052 | Jun 29, 1998 | Oct 22, 2002 | Xerox Corporation | HVQ compression combined with orthogonal rotation | | US6529553 | Apr 15, 2002 | Mar 4, 2003 | Xerox Corporation | HVQ compression for image boundaries | | US6529634 | Nov 8, 1999 | Mar 4, 2003 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression | | US6594398 | Mar 23, 2000 | Jul 15, 2003 | Divio, Inc. | Method and apparatus for run-length encoding video data | | US6600836 | Jan 28, 2000 | Jul 29, 2003 | Qualcomm, Incorporated | Quality based image compression | | US6636645 | Jun 29, 2000 | Oct 21, 2003 | Eastman Kodak Company | Image processing method for reducing noise and blocking artifact in a digital image | | US6650784 | Jul 2, 2001 | Nov 18, 2003 | Qualcomm, Incorporated | Lossless intraframe encoding using Golomb-Rice | | US6728414 | Jul 13, 1999 | Apr 27, 2004 | Samsung Electronics Co., Ltd. | De-blocking method and apparatus | | US6731686 | May 31, 2000 | May 4, 2004 | Sun Microsystems, Inc. | Apparatus and method for pipelining variable length decode and inverse quantization operations in a hybrid motion-compensated and transform coded video decoder | | US6798834 | Nov 9, 1999 | Sep 28, 2004 | Mitsubishi Denki Kabushiki Kaisha | Image coding apparatus with segment classification and segmentation-type motion prediction circuit | | US6868188 | Feb 13, 2001 | Mar 15, 2005 | Telefonaktiebolaget LM Ericsson (publ) | Efficient down-scaling of DCT compressed images | | US6870963 | Jun 15, 2001 | Mar 22, 2005 | Qualcomm, Inc. | Configurable pattern optimizer | | US6909748 | Dec 20, 2001 | Jun 21, 2005 | Sorenson Media, Inc. | Method and system for image compression using block size heuristics | | US6912070 | Aug 8, 2000 | Jun 28, 2005 | Qualcomm, Inc. | Sub-optimal variable length coding | | US6975773 | Jul 29, 2003 | Dec 13, 2005 | Qualcomm, Incorporated | Parameter selection in data compression and decompression | | US6983073 | Jan 14, 1999 | Jan 3, 2006 | Gidel Imaging Ltd. | Enhancement of compressed images | | US6985589 | May 3, 2000 | Jan 10, 2006 | Qualcomm Incorporated | Apparatus and method for encoding and storage of digital image and audio signals | | US6996283 | Nov 15, 2002 | Feb 7, 2006 | Qualcomm, Inc. | Block size assignment using local contrast ratio | | US7023915 | Jul 16, 2001 | Apr 4, 2006 | Qualcomm, Incorporated | Adaptive rate control for digital video compression | | US7031390 | Jan 29, 2004 | Apr 18, 2006 | Qualcomm Incorporated | DCT compression using Golomb-Rice coding | | US7035468 | Apr 20, 2001 | Apr 25, 2006 | Front Porch Digital Inc. | Methods and apparatus for archiving, indexing and accessing audio and video data | | US7130475 | Jul 20, 2005 | Oct 31, 2006 | Hyundai Curitel, Inc. | Apparatus and method of encoding/decoding a coded block pattern | | US7136534 | Jun 12, 2003 | Nov 14, 2006 | Qualcomm Incorporated | Quality based image compression | | US7164767 | Apr 12, 2002 | Jan 16, 2007 | Sony Corporation | Data transfer system, data transfer apparatus, data recording apparatus, and data transfer method | | US7298925 | Sep 30, 2003 | Nov 20, 2007 | International Business Machines Corporation | Efficient scaling in transform domain | | US7376243 | Jan 27, 2006 | May 20, 2008 | QUALCOMM Incorporated | Apparatus and method for watermarking a digital image | | US7388913 | Sep 13, 1999 | Jun 17, 2008 | Telefonaktiebolaget LM Ericsson (pub) | Down scaling of images | | US7388993 | Oct 17, 2005 | Jun 17, 2008 | QUALCOMM Incorporated | Parameter selection in data compression and decompression | | US7412100 | Sep 2, 2004 | Aug 12, 2008 | QUALCOMM Incorporated | Apparatus and method for sub-sampling images in a transform domain | | US7424058 | Sep 28, 2000 | Sep 9, 2008 | Autodesk, Inc. | Variable bit-rate encoding | | US7460723 | Nov 13, 2006 | Dec 2, 2008 | QUALCOMM Incorporated | Quality based image compression | | US7474805 | Aug 27, 2007 | Jan 6, 2009 | International Business Machines Corporation | Efficient scaling in transform domain | | US7483029 | Dec 15, 2005 | Jan 27, 2009 | NVIDIA Corporation | GPU having raster components configured for using nested boustrophedonic patterns to traverse screen areas | | US7483581 | Jun 26, 2002 | Jan 27, 2009 | QUALCOMM Incorporated | Apparatus and method for encoding digital image data in a lossless manner | | US7561073 | Apr 26, 2006 | Jul 14, 2009 | QUALCOMM Incorporated | Apparatus and method for multiple description encoding | | US7564382 | Nov 17, 2003 | Jul 21, 2009 | QUALCOMM Incorporated | Apparatus and method for multiple description encoding | | US7580584 | Jul 17, 2004 | Aug 25, 2009 | Microsoft Corporation | Adaptive multiple quantization | | US7593582 | May 22, 2007 | Sep 22, 2009 | QUALCOMM Incorporated | Systems and methods using parameter selection in data compression and decompression | | US7596277 | Apr 7, 2003 | Sep 29, 2009 | | Apparatus and method for detecting error in a digital image | | US7602851 | Jul 18, 2003 | Oct 13, 2009 | Microsoft Corporation | Intelligent differential quantization of video coding | | US7630563 | Jul 18, 2002 | Dec 8, 2009 | QUALCOMM Incorporated | System and method for decoding digital image and audio data in a lossless manner | | US7646926 | Nov 28, 2005 | Jan 12, 2010 | Fujitsu Limited | Image encoding apparatus | | US7649939 | Sep 20, 2004 | Jan 19, 2010 | QUALCOMM Incorporated | Apparatus and method for decoding and computing a discrete cosine transform using a butterfly processor | | US7649947 | Jun 5, 2001 | Jan 19, 2010 | QUALCOMM Incorporated | Selective chrominance decimation for digital images | | US7675969 | Feb 8, 2006 | Mar 9, 2010 | QUALCOMM Incorporated | Adaptive rate control for digital video compression | | US7702165 | Sep 27, 2006 | Apr 20, 2010 | Kabushiki Kaisha Toshiba | Device, method, and program for image coding | | US7706629 | Feb 24, 2006 | Apr 27, 2010 | Apple Inc. | Methods and apparatuses for pixel transformations | | US7738554 | Jul 17, 2004 | Jun 15, 2010 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes | | US7778618 | Dec 28, 2006 | Aug 17, 2010 | Conexant Systems, Inc. | Systems and methods for reducing broadband image noise through a programmable bandwidth RF variable gain attenuator | | US7782960 | Jan 18, 2006 | Aug 24, 2010 | QUALCOMM Incorporated | DCT compression using Golomb-Rice coding | | US7801383 | May 15, 2004 | Sep 21, 2010 | Microsoft Corporation | Embedded scalar quantizers with arbitrary dead-zone ratios | | US7808512 | Dec 19, 2006 | Oct 5, 2010 | NVIDIA Corporation | Bounding region accumulation for graphics rendering | | US7856149 | Jul 29, 2003 | Dec 21, 2010 | QUALCOMM Incorporated | Digital image encoding | | US7936877 | Oct 24, 2006 | May 3, 2011 | Sony Corporation | Data transfer system, data transfer device, data recording device and data transfer method | | US7965775 | Dec 23, 2008 | Jun 21, 2011 | QUALCOMM, Incorporated | Selective chrominance decimation for digital images | | US7974340 | Apr 7, 2006 | Jul 5, 2011 | Microsoft Corporation | Adaptive B-picture quantization control | | US7995649 | Apr 7, 2006 | Aug 9, 2011 | Microsoft Corporation | Quantization adjustment based on texture level | | US7995849 | Mar 16, 2004 | Aug 9, 2011 | QUALCOMM, Incorporated | Method and apparatus for improving video quality of low bit-rate video | | US8000546 | Aug 1, 2008 | Aug 16, 2011 | National Cheng Kung University | Adaptive scan method for image/video coding | | US8023750 | Jul 29, 2008 | Sep 20, 2011 | QUALCOMM Incorporated | Apparatus and method for encoding digital image data in a lossless manner | | US8059721 | Apr 7, 2006 | Nov 15, 2011 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation | | US8068692 | Apr 21, 2010 | Nov 29, 2011 | Apple Inc. | Methods and apparatuses for pixel transformations | | US8098943 | Aug 12, 2011 | Jan 17, 2012 | QUALCOMM Incorporated | Apparatus and method for encoding digital image data in a lossless manner | | US8130828 | Apr 7, 2006 | Mar 6, 2012 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients | | US8184694 | Feb 16, 2007 | May 22, 2012 | Microsoft Corporation | Harmonic quantizer scale | | US8189933 | Mar 31, 2008 | May 29, 2012 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content | | US8194987 | Aug 22, 2007 | Jun 5, 2012 | QUALCOMM Incorporated | Digital image encoding | | US8218624 | Jul 17, 2004 | Jul 10, 2012 | Microsoft Corporation | Fractional quantization step sizes for high bit rates | | US8237738 | Nov 2, 2006 | Aug 7, 2012 | Nvidia Corporation | Smooth rasterization of polygonal graphics primitives | | US8238424 | Feb 9, 2007 | Aug 7, 2012 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression | | US8243797 | Mar 30, 2007 | Aug 14, 2012 | Microsoft Corporation | Regions of interest for quality adjustments |
Claims1. In an adaptive block size image compression system for compressing a block of input pixel data for transmission by performing a discrete cosine transform (DCT) operation on the block of pixel data and on at least one predetermined level of constituent sub-blocks thereof so as to produce corresponding image block and sub-blocks of DC and AC DCT coefficient values; determining for each image block and each corresponding group of image sub-blocks of DCT coefficient values a bit count corresponding to the number of bits required to respectively encode the image block and each corresponding group of image sub-blocks of DCT coefficient values according to a predetermined coding format; determining from the bit count ones of the image block and corresponding group of image sub-blocks of DCT coefficient values requiring a lesser number of bits to encode according to the coding format; selecting ones of the image block and image sub-blocks of DCT coefficients values requiring a lesser number of bits to encode according to the coding format so as to form a composite image block; ordering the DCT coefficient values of the composite image block according to a predetermined ordering format; encoding the ordered DCT coefficient values of the composite image block according to the encoding format; and assembling the encoded ordered DCT coefficient values of the composite image block along with information identifying the selected ones of the image block and image sub-blocks of DCT coefficient values of the composite image block, a subsystem for providing further compression of the block of pixel data comprising: - discrete quadtree transform means for, receiving said input block of pixel data, performing a first discrete cosine transform (DCT) operation on said block of pixel data so as to produce a corresponding first block of DC and AC DCT coefficient values, performing a series of additional DCT operations with a first additional DCT operation performed on said DC DCT coefficients of said first block of DC and AC DCT coefficient values with each subsequent additional DCT operation performed on resultant DC coefficients values of a proceeding additional DCT operation with a last additional DC operation producing a corresponding last block of DC and AC DCT coefficient values, and providing an output of said last block of DC and AC DCT coefficient values;
- code length determination means for, receiving each of said last block of DC and AC DCT coefficient values, generating a corresponding code length value corresponding to a length of each of said last block DC and AC DCT coefficient value as encoded according to said predetermined coding format, inserting each code length value in place of a DC DCT coefficient for each corresponding image block and image sub-block in said bit count determination, wherein said ones of said image block and image sub-blocks are selected for said composite image block using said corresponding code length values; and
- replacement means for receiving each of said last block of DC and AC DCT coefficient values and replacing each DC DCT coefficient of said selected ones of said image block and image sub-blocks of said composite image block with a corresponding one of said last block DC and AC DCT coefficient values.
2. The subsystem of claim 1 wherein said replacement means further comprises: - ordering means for ordering said last block DC and AC DCT coefficient values according to said predetermined ordering format; and
- encoder means for encoding each of said last block DC and AC DCT coefficient values according to said predetermined encoding format.
3. In an adaptive block size compression system wherein a block of pixel data is transformed to AC and DC discrete cosine transform (DCT) coefficient data for a block and constituent sub-blocks of pixel data, and wherein the AC and DC DCT coefficient values of a composite block of selected ones of said block and constituent sub-blocks of pixel data are provided for transmission, an apparatus for compressing said DC DCT coefficient values comprising: - discrete quadtree means for receiving at least one block of data representing said block of pixel data, performing a plurality of DCT operations to provide AC and DC DQT coefficient values, with a first DCT operation performed on said at least one block of data to provide first sub-blocks of AC and DC DQT coefficient values, performing at least one additional DCT operation wherein each of said at least one additional DCT operation is performed on resultant DC DQT coefficient data of a preceding DCT operation, and selecting ones of AC and DC DQT coefficient values to provide a DQT composite block of AC and DC coefficient values; and
- encoding means for receiving said DQT composite block, selecting values from said DQT composite block and encoding said selected values of said DQT composite block to provide a signal indicative of compressed DC DCT coefficient values.
4. The apparatus of claim 3 wherein said discrete quadtree means comprises: - at least one DCT means for receiving said at least one block of data and performing a series of DCT operations to provide AC and DC DQT coefficient values with a first DCT operation performed on said at least one block of data and with additional DCT operations performed on sub-blocks of selected DC DQT coefficient values; and
- selector means for receiving said AC and DC DQT coefficient values selecting ones of said AC and DC DQT, coefficient values to provide said sub-blocks of selected DC DQT coefficient values in accordance with a predetermined selection format.
5. The apparatus of claim 4 wherein said at least one DCT means comprises a plurality of single DCT means wherein each of said single DCT means is for performing a corresponding one of said series of DCT operations. 6. The apparatus of claim 5 wherein said selector means further comprises: - at least one multiplexer means for receiving AC and DC DQT coefficient values from a corresponding one of said at least one single DCT means and selecting ones of said AC and DC DQT coefficient values to provide intermediate DQT composite blocks of AC and DC DQT coefficient values; and
- at least one single selector means for receiving said intermediate DQT composite blocks, selecting values from said intermediate DQT composite blocks to provide said sub-blocks of selected DC DQT coefficient values.
7. The apparatus of claim 3 wherein said at least one block of data comprises pixel data. 8. The apparatus of claim 3 wherein said at least one block of data comprises said sub-blocks of AC and DC DCT coefficient values. 9. The apparatus of claim 6 wherein said encoding means is responsive to a selection signal. 10. The apparatus of claim 9 wherein said encoding means comprises a replacement means for receiving said DQT composite block of AC and DC DQT coefficient values and said selection signal and replacing selected values of said composite block of AC and DC DQT coefficient values with a predetermined dummy value in accordance with said selection signal to provide a value replaced composite block. 11. The apparatus of claim 10 wherein said encoding means further comprises: - zig-zag scan serializer means for receiving said value replaced composite block and reordering the members of said value replaced composite block to provide a reordered composite block; and
- value removal logic means for removing selected values from said reordered composite block in accordance with a predetermined removal format to provide a compressed composite block.
12. The apparatus of claim 11 further comprising quantization means for receiving said compressed composite block and quantizing values of said compressed composite block in accordance with a predetermined quantization format. 13. In an adaptive block size compression system wherein a block of pixel data is transformed to AC and DC discrete cosine transform (DCT) coefficient data for a block and at least one constituent level of sub-blocks of pixel data, and wherein the AC and DC DCT coefficient values of a composite block of selected ones of said block and constituent sub-blocks of pixel data are provided for transmission, a method for compressing said DC DCT coefficient values comprising: - receiving at least one block of data;
- performing a series of discrete cosine transformation (DCT) operations to provide AC and DC DQT coefficient values with a first DCT operation performed on said at least one block of data to provide first sub-blocks of AC and DC DQT coefficient values and at least one additional DCT operations is performed on sub-blocks of selected DC DQT coefficient values resultant from a preceding DCT operation of said series of DCT operations; and
- selecting ones of AC and DC DQT coefficient values resultant from said first DCT operation and said at least one additional DCT operation to provide a DQT composite block of AC and DC DQT coefficient values.
14. The method of claim 13 further comprising the steps of: - receiving a selection signal;
- replacing values of said DQT composite block of selected values with a predetermined dummy element in accordance with said selection signal to provide a value replaced composite block.
15. The method of claim 14 further comprising the steps of: - reordering the elements of said value replaced composite block in accordance with a predetermined zig zag format to provide a reordered composite block; and
- removing selected elements of said reordered composite block in accordance with said selection signal to provide a value removed composite block.
16. The method of claim 15 further comprising the step of quantizing the values of said value removed composite block to provide quantized values. 17. The method of claim 16 further comprising the step of encoding said quantized values in accordance with a predetermined coding format. 18. An image compression apparatus for compressing data representative of a block of pixel data comprising: - transform means for receiving an input block of pixel data and performing a discrete cosine transform (DCT) operation on said block of pixel data and on at least one predetermined level of constituent sub-blocks of pixel data thereof to provide corresponding AC and DC DCT coefficient values for said block and constituent sub-blocks and selecting ones of said AC and DC DCT coefficient values to provide a composite block of AC and DC DCT coefficient values representing said input block of pixel data;
- DC DCT compression means for compressing the DC DCT values of said composite block of AC and DC DCT coefficient values by performing a series of DCT operations to provide AC and DC DQT coefficient values, with a first DCT operation performed on sub-blocks of said DC DQT values of said constituent sub-blocks of pixel data and additional DCT operations performed on sub-blocks of DC DQT values from preceding DCT operations of said series of DCT operations and encoding ones of said AC and DC DQT coefficient values to provide compressed DC DCT coefficient values; and
- combination means for receiving said composite block of AC and DC DCT and said compressed DC DCT coefficient values and combining said composite block of AC and DC DCT and said compressed DC DCT coefficient values to provide a composite block of AC and compressed DC DCT coefficient values.
19. The apparatus of claim 18 wherein said DC DCT compression means comprises: - discrete quadtree means for performing said series of DCT operations on said sub-blocks of DC DQT coefficient values to provide said AC and DC DQT coefficient values, with said first DCT operation performed on said sub-blocks of DC DQT coefficient values of said constituent sub-blocks of pixel data and said additional DCT operations performed on said sub-blocks of DC DQT values from preceding said DCT operations of said series of DCT operations, and selecting ones of said AC and DC DQT coefficient values to provide said DQT composite block; and
- encoding means for receiving said DQT composite block, selecting values from said DQT composite block and encoding said selected values of said DQT composite block to provide said compressed DC DCT coefficient values.
20. The apparatus of claim 19 wherein said discrete quadtree means comprises: - at least one DCT means for performing said series of DCT operations on said sub-blocks of DC DQT coefficient values to provide said AC and DC DQT coefficient values, with said first DCT operation performed on said sub-blocks of DC DQT coefficient values of said constituent sub-blocks of pixel data and said additional DCT operations performed on said sub-blocks of DC DQT values from said preceding DCT operations of said series of DCT operations, and selecting ones of said AC and DC DQT coefficient values to provide said DQT composite block; and
- selector means for receiving said AC and DC DQT coefficient values selecting said ones of said AC and DC DQT coefficient values to provide said sub-blocks of DC DQT values.
21. The apparatus of claim 20 wherein said at least one DCT means comprises a plurality of single DCT means wherein each of said single DCT means is for performing a corresponding one of said series of DCT operations. 22. The apparatus of claim 21 wherein said selector means further comprises: - at least one multiplexer means for receiving AC and DC DQT coefficient values from a corresponding one of said at least one single DCT means and selecting ones of said AC and DC DQT coefficient values to provide intermediate DQT composite blocks of AC and DC coefficient values; and
- at least one single selector means for receiving said intermediate DQT composite blocks, selecting values from said intermediate DQT composite blocks to provide said sub-blocks of selected DC DQT coefficient values.
23. The apparatus of claim 22 further comprising: - DC code length means for receiving said compressed DC DCT coefficient values and providing a DC code length indicative of the number of bits to encode said DC DCT coefficient data of said blocks and sub-blocks of pixel data;
- AC code length means for receiving said blocks and sub-blocks of AC and DC DCT coefficient values and providing an AC code length indicative of the number of bits to encode said AC DCT coefficient data of said blocks and sub-blocks of pixel data; and
- block selection means for receiving said DC code length and said AC code length and providing a selection signal indicative of said selected ones of said block and sub-blocks of AC and compressed DC DCT coefficient values of said composite block of AC and compressed DC DCT coefficient values in accordance with a weighted sum of said AC code length and said DC code length.
24. The apparatus of claim 23 wherein said encoding means is responsive to said selection signal. 25. The apparatus of claim 24 wherein said encoding means comprises replacement means for receiving said DQT composite block and said selection signal and replacing selected values of said DQT composite block with a predetermined dummy value to provide a value replaced composite block. 26. The apparatus of claim 25 wherein said encoding means further comprises: - zig-zag scan serializer means for receiving said value replaced composite block and reordering values of said value replaced composite block to provide a reordered composite block; and
- value removal logic means for receiving said reordered composite block and removing selected values from said reordered composite block in accordance said selection signal to provide a value removed composite block.
27. The apparatus of claim 26 further comprising quantization means for receiving said value removed composite block and quantizing values of said value removed composite block in accordance with a predetermined quantization format a quantized DC value composite block. 28. A method for compressing image data for a block of pixel data comprising the steps of: - receiving an input block of pixel data;
- performing a discrete cosine transform (DCT) operation on said block of pixel data and on at least one predetermined level of constituent sub-blocks of pixel data thereof to provide corresponding AC and DC DCT coefficient values for said block and constituent sub-blocks;
- selecting ones of said AC and DC DCT coefficient values to provide a composite block of AC and DC DCT coefficient values representing said input block of pixel data;
- performing a series of DCT operations on said DC DCT coefficient values for said constituent sub-blocks to provide AC and DC DQT coefficient values, with a first DCT operation performed on said DC DCT values of said constituent sub-blocks of pixel data and additional DCT operations performed on sub-blocks of DC DQT values from preceding DCT operations of said series of DCT operations;
- encoding ones of said AC and DC DQT coefficient values to provide compressed DC DCT coefficient values; and
- combining said composite block of AC and DC DCT and said compressed DC DCT coefficient values to provide a composite block of AC and compressed DC DCT coefficient values.
29. The method of claim 28 further comprising the steps of: - providing a DC code length indicative of the number of bits to encode said DC DCT coefficient data of said blocks and sub-blocks of pixel data;
- providing an AC code length indicative of the number of bits to encode said AC DCT coefficient data of said blocks and sub-blocks of pixel data; and
- providing a selection signal in accordance with a weighted sum of said AC code length and DC code length.
30. The apparatus of claim 29 wherein said step of encoding is responsive to said selection signal. 31. The method of claim 30 wherein said step of step of encoding comprises: - replacing selected ones of said AC and DC DQT coefficient values with a predetermined dummy value to provide a value removed composite block;
- reordering the members of said value removed composite block in accordance with a predetermined zig zag format to provide a reordered composite block; and
- removing selected values from said reordered composite block in accordance with a predetermined value removal format to provide a value removed composite block.
32. The method of claim 31 further comprising quantizing the values of said value removed composite block in accordance with a predetermined quantization format to provide compressed DC values. 33. In an image decoder wherein an image block of pixel data is processed by performing a discrete cosine transform (DCT) operation on said block of pixel data and on at least one predetermined level of constituent sub-blocks of pixel data thereof to provide corresponding block and sub-blocks of AC and DC DCT coefficient values, and wherein said DC DCT coefficient values are compressed by performing a series of DCT operations performed on said DC DCT coefficient values of said sub-blocks of pixel data to provide AC and DC DQT coefficient values with a first of said series of DCT operations performed on said sub-blocks of DC DCT coefficient values with at least one additional DCT of said series of additional DCT operations performed on selected sub-blocks of said DC DCT coefficient values and said DC DQT of previous DCT operations of said series of DCT operations to provide a composite block of AC and DC DQT coefficient values, and wherein selected values of said composite block of AC and DC DQT coefficient values are encoded to provide compressed DC DCT coefficient values, and wherein a signal is provided indicative of said compressed DC DCT coefficient values and selected ones of said block and sub-blocks of AC and DC DCT coefficient values, an apparatus for decoding said compressed DC DCT coefficient values comprising: - separator means for receiving said signal indicative of said compressed DC DCT coefficient values and selected AC DCT values of said block and sub-blocks of AC and DC DCT coefficient values and providing a signal indicative of said compressed DC DCT coefficient values in accordance with a predetermined separation format;
- decoder means for receiving said signal indicative of said compressed DC DCT coefficient values and providing said decoded DC DCT coefficient values in accordance with a predetermined decoding format; and
- inverse discrete quadtree means for receiving said decoded DC DCT coefficient values, performing a series of inverse discrete cosine transformation (IDCT) operations to provide AC and DC IDCT coefficient values with a first IDCT performed on selected values of said processed DC DCT coefficient values and additional IDCT operations performed on additional selected values of said processed DC DCT coefficient values and resultant AC and DC IDCT values from preceding IDCT operations and wherein ones of said AC and DC IDCT coefficient values are provided as said DC DCT coefficient values.
34. The apparatus of claim 33 wherein said decoder means comprises: - lookup table means for receiving said signal indicative of said compressed DC DCT coefficient values, providing a composite block of quantized processed DC DCT coefficient values in accordance with a predetermined lookup format; and
- inverse quantizer means for receiving said composite block of quantized processed DC DCT coefficient values and providing said decoded DC DCT coefficient values in accordance with a predetermined inverse quantization format.
35. The apparatus of claim 34 wherein said decoder means further comprises an expansion means disposed between lookup table means and said inverse quantizer means for receiving said composite block of quantized processed DC DCT coefficient values and inserting a predetermined dummy value in said composite block of quantized processed DC DCT coefficient values and reordering said resulting values in accordance with an inverse zig zag format. 36. The apparatus of claim 35 wherein said expansion means is responsive to a block size assignment signal. 37. The apparatus of claim 36 wherein said inverse discrete quadtree means comprises: - selector means for receiving said decoded DC DCT coefficient values and resultant AC and DC IDCT values from previous IDCT operations, and providing sub-blocks of selected decoded DC DCT coefficient values and resultant AC and DC IDCT values in accordance with a predetermined selection format; and
- at least one inverse discrete cosine means for receiving said selected sub-blocks and performing an IDCT operation of said series IDCT operations on said sub-blocks of selected decoded DC DCT coefficient values and resultant AC and DC IDCT values.
38. The apparatus of claim 37 wherein said at least one IDCT means comprises a plurality of single IDCT means wherein each of said single IDCT means is for performing a corresponding one of said series of IDCT operations. 39. The apparatus of claim 38 wherein said selector means comprises: - plurality of separator means with a first separator means for receiving said decoded DC DCT coefficient values, providing a block of DCT coefficient values to a corresponding single IDCT means and separately providing remaining AC and DC DCT coefficient values to a corresponding multiplexer means and additional separator means for receiving a corresponding intermediate composite block of IDCT coefficient values and separating sub-blocks of AC and DC IDCT coefficient values from remaining AC and DC DCT coefficient values; and
- plurality of multiplexer means each of said multiplexer means for receiving resultant AC and DC IDCT coefficient values from a corresponding single IDCT means and said remaining AC and DC DCT coefficient values to provide an intermediate composite block of IDCT coefficient values.
40. In an image decoder wherein an image block of pixel data is processed by performing a discrete cosine transform (DCT) operation on said block of pixel data and on at least one predetermined level of constituent sub-blocks of pixel data thereof to provide corresponding block and sub-blocks of AC and DC DCT coefficient values, and wherein said DC DCT coefficient values are compressed by performing a series of DCT operations performed on said DC DCT coefficient values of said sub-blocks of pixel data to provide AC and DC DQT coefficient values with a first of said series of DCT operations performed on said sub-blocks of DC DCT coefficient values with at least one additional DCT of said series of additional DCT operations performed on selected sub-blocks of said DC DCT coefficient values and said DC DQT coefficient values of previous DCT operations of said series of DCT operations to provide a composite block of AC and DC DQT coefficient values, and wherein selected values of said composite block of AC and DC DQT coefficient values are encoded to provide compressed DC DCT coefficient values, and wherein a signal is provided indicative of said compressed DC DCT coefficient values and selected ones of said block and sub-blocks of AC and DC DCT coefficient values, a method for decoding said compressed DC DCT coefficient values comprising the steps of: - receiving said signal indicative of a composite block of AC and compressed DC coefficient values;
- providing compressed DC coefficient values from said composite block of AC and compressed DC coefficient values in accordance with a predetermined separation format;
- decoding compressed DC coefficient values accordance with a predetermined decoding format to provide decoded DC DCT coefficient values; and
- performing a series of inverse discrete cosine transformation (IDCT) operations to provide AC and DC IDCT coefficient values with a first IDCT performed on blocks of selected values of said compressed DC DCT coefficient values and additional IDCT operations performed on additional selected values of said compressed DC DCT coefficient values and resultant AC and DC IDCT values from preceding IDCT operations of said series of IDCT operations.
41. The apparatus of claim 40 wherein said step of decoding comprises the steps of comprises: - receiving said signal indicative of said compressed DC DCT coefficient values;
- providing a composite block of quantized processed DC DCT coefficient values in accordance with a predetermined lookup format; and
- inverse quantizing said processed DC DCT coefficient values in accordance with a predetermined inverse quantization format to provide said decoded DC DCT coefficient values.
42. The apparatus of claim 41 wherein said step of decoding further comprises the steps of: - inserting a predetermined dummy value in said composite block of quantized processed DC DCT coefficient values to provide a value inserted composite block; and
- reordering said value inserted composite block in accordance with a inverse zig zag format.
43. The apparatus of claim 42 wherein said step of decoding is responsive to a block size assignment signal. 44. In an image decoder wherein an image block of pixel data is processed by performing a discrete cosine transform (DCT) operation on said block of pixel data and on at least one predetermined level of constituent sub-blocks of pixel data thereof to provide corresponding block and sub-blocks of AC and DC DCT coefficient values, performing a series of additional DCT operations on said sub-blocks of DC DCT coefficient values with additional DCT operations performed on selected sub-blocks of said DC DCT coefficient values and resultant DC DCT of previous DCT operations of said series of DCT operations to provide a composite block of AC and DC DQT coefficient values, encoding selected values of said composite block of AC and DC DQT coefficient values to provide compressed DC DCT coefficient values and combing selected ones of said block and sub-blocks of AC and DC DCT coefficient values and said compressed DC DCT coefficient values to provide a signal indicative of a compressed block of AC and compressed DC coefficient values, an apparatus for decoding said processed DC DCT coefficient values comprising: - separator means for receiving said signal indicative of a composite block of AC and compressed DC coefficient values and separating a signal indicative of said processed DC DCT coefficient values from said signal indicative of a compressed block of AC and compressed DC coefficient values in accordance with a predetermined separation format;
- decoder means for receiving said signal indicative of said processed DC DCT coefficient values and providing said processed DC DCT coefficient values in accordance with a predetermined decoding format;
- inverse discrete quadtree means for receiving said processed DC DCT coefficient values, performing a series of inverse discrete cosine transformation (IDCT) operations to provide AC and DC IDCT coefficient values with a first IDCT performed on selected values of said processed DC DCT coefficient values and additional IDCT operations performed on additional selected values of said processed DC DCT coefficient values and resultant AC and DC IDCT values from preceding IDCT operations;
- combination means for receiving said AC DCT coefficient values and said DC IDCT coefficient values to provide a composite block of AC and decoded DC coefficient values and
- inverse transform for performing at least one IDCT operation on said composite block of AC and decoded DC coefficient values to provide a composite pixel block.
45. The apparatus of claim 44 wherein said decoder means comprises: - lookup table means for receiving said signal indicative of said compressed DC DCT coefficient values providing a composite block of quantized processed DC DCT coefficient values in accordance with a predetermined lookup format; and
- inverse quantizer means for receiving said composite block of quantized processed DC DCT coefficient values to provide said processed DC DCT coefficient values in accordance with a predetermined inverse quantization format.
46. The apparatus of claim 45 wherein said decoder means further comprises: - value insertion logic means for receiving said composite block of quantized processed DC DCT coefficient values for inserting a predetermined dummy value in said composite block of quantized processed DC DCT coefficient values to provide a value inserted composite block; and
- reordering means for receiving said value inserted composite block reordering the values of said value inserted composite block in accordance with a predetermined inverse zig zag format.
47. The apparatus of claim 46 wherein said value insertion logic means and reordering means is responsive to a block size assignment signal. 48. The apparatus of claim 47 wherein said inverse discrete quadtree means comprises: - selector means for receiving said processed DC DCT coefficient values and said AC and DC IDCT coefficient values and providing blocks of selected ones said of processed DC DCT coefficient values and said AC and DC IDCT coefficient values in accordance with a predetermined selection format; and
- at least one IDCT means for receiving said blocks of selected ones of processed DC DCT coefficient values and AC and DC IDCT coefficient values and performing a series of IDCT operations with each of said IDCT operations of said series of IDCT operations performed on blocks of said processed DC DCT coefficient values and resultant AC and DC IDCT values.
49. The apparatus of claim 48 wherein said at least one IDCT means comprises a plurality of single IDCT means wherein each of said single IDCT means is for performing a corresponding one IDCT operation of said series of inverse discrete cosine operation. 50. The apparatus of claim 49 wherein said selector means comprises: - plurality of separator means with a first separator means for receiving said processed DC DCT coefficient values providing a block of DCT coefficient values and separately providing remaining AC and DC DCT coefficient values with additional separator means for receiving a corresponding intermediate composite block of IDCT coefficient values and providing blocks of AC and DC IDCT coefficient values and separately providing additional remaining AC and DC IDCT coefficient values; and
- plurality of multiplexer means each of said multiplexer means for receiving resultant AC and DC IDCT coefficient values from a corresponding single IDCT means and remaining AC and DC DCT coefficient values from a corresponding separator means to provide an intermediate composite block of IDCT coefficient values.
51. A method for decoding a block of pixel data wherein an image block of pixel data is processed by performing a discrete cosine transform (DCT) operation on said block of pixel data and on at least one predetermined level of constituent sub-blocks of pixel data thereof to provide corresponding block and sub-blocks of AC and DC DCT coefficient values, performing a series of additional DCT operations on said sub-blocks of DC DCT coefficient values with additional DCT operations performed on selected sub-blocks of said DC DCT coefficient values and resultant DC DCT of previous DCT operations of said series of DCT operations to provide a composite block of AC and DC DQT coefficient values, encoding selected values of said composite block of AC and DC DQT coefficient values to provide compressed DC DCT coefficient values and combining selected ones of said block and sub-blocks of AC and DC DCT coefficient values and said compressed DC DCT coefficient values to provide a signal indicative of a compressed block of AC and compressed DC coefficient values, a method for decoding said block of pixel data comprising the steps of: - receiving said signal indicative of a composite block of AC and compressed DC coefficient values;
- providing said compressed DC coefficient values of said composite block of AC and compressed DC coefficient values;
- separately providing said AC coefficient values of said composite block of AC and compressed DC coefficient values;
- decoding said compressed DC DCT coefficient values in accordance with a predetermined decoding format to provide decoded DC DCT values;
- performing a series of inverse discrete cosine transformation (IDCT) operations to provide AC and DC IDCT coefficient values with a first IDCT performed on blocks of selected values of said processed DC DCT coefficient values and additional IDCT operations performed on blocks of selected values of said processed DC DCT coefficient values and resultant AC and DC IDCT values from preceding IDCT operations wherein ones of said AC and DC IDCT values and decoded DCT values are provided as uncompressed DC DCT coefficient values; and
- combining said AC DCT coefficient values and said uncompressed DC DCT coefficient values to provide a composite block of AC and uncompressed DC coefficient values; and
- performing at least one IDCT operation on said composite block of AC and uncompressed DC coefficient values to provide a composite pixel block.
52. The method of claim 51 wherein said step of decoding comprises the steps of: - receiving said compressed DC DCT coefficient values;
- providing a composite block of quantized processed DC DCT coefficient values in accordance with a predetermined lookup format; and
- inverse quantizing said composite block of quantized processed DC DCT coefficient values.
53. The method of claim 52 wherein said step of decoding further comprises: - inserting a predetermined dummy value in said composite block of quantized processed DC DCT coefficient values to provide a value inserted composite block; and
- reordering the values of said value inserted composite block in accordance with a predetermined inverse zig zag format.
54. The method of claim 53 wherein said steps of inserting said predetermined dummy value and reordering the values of said value inserted composite block are responsive to a block size assignment signal. 55. In an adaptive block size compression system wherein a block of pixel data is transformed to AC and DC discrete cosine transform (DCT) coefficient data for constituent blocks of vary block size, a sub-system for compressing said DC DCT coefficient data comprising: - discrete quadtree means having a first input for receiving at least one block of data and having an output wherein said discrete quadtree means comprises:
- plurality of DCT means with a first DCT means having an input for receiving said at least one block of data and having an output with each additional DCT means having an input and an output; and
- at least one selector means disposed between each of said plurality of DCT means having and input coupled to a corresponding DCT means output and output coupled to a corresponding one of said additional DCT means input; and
- selection means having an input coupled to said discrete quadtree means output and having an output.
56. The apparatus of claim 55 wherein said at least one selector means has a second output and said discrete quadtree means further comprises at least one multiplexer means disposed between one of said additional DCT means and one of said at least one selector means having a first input coupled to said additional DCT means output and a second input coupled to said selector means second output and having an output coupled to said selector means input. 57. The apparatus of claim 56 wherein selection means comprises: - first selection multiplexer having a first input coupled to said DQT means, a second input for receiving a selection signal, a third input for receiving a dummy signal, and having an output; and
- additional selection multiplexer means having a first input coupled to a corresponding selection multiplexer output, a second input for receiving a selection signal, a third input for receiving a dummy signal, and having an output.
58. The apparatus of claim 57 wherein said selection means further comprises: - zig zag scan serializer having an input coupled to a last selection multiplexer means of said additional selection multiplexer means output and having an output;
- value removal logic means having an input coupled to said zig zag scan serializer output and having and output; and
- code lookup table means having an input coupled to said value removal logic means output and having an output.
59. In an image decoder wherein and image block of pixel data is processed by performing a discrete cosine transform (DCT) operation on said block of pixel data and on at least one predetermined level of constituent sub-blocks of pixel data thereof, and providing corresponding block and sub-blocks of AC and DC DCT coefficient values and wherein said DC DCT coefficient values is further processed by performing a series of at least one additional DCT operation on said sub-blocks of DC DCT coefficient values, a subsystem for decoding said processed DC DCT coefficient values comprising: - decoder means having an input for receiving a signal indicative of said processed DC DCT coefficient values and having an output; and
- inverse discrete quadtree means having an input coupled to said decoder means output, wherein said inverse discrete quadtree means comprises:
- plurality of separator means with a first separator means having an input for receiving said signal indicative of said processed DC DCT coefficient values and additional separator means having an input and an output;
- at least one inverse discrete means disposed between said plurality of separator means having an input coupled to a corresponding separator means output.
60. The apparatus of claim 59 wherein said separator means further having a second output and wherein said discrete quadtree means further comprises: - at least one multiplexer means having an input for receiving a timing signal, a second input coupled to a corresponding inverse cosine transform means output and a third input coupled to a corresponding second separator means output.
61. The apparatus of claim 60 wherein said decoder means comprises: - decode lookup table means having an input for receiving signal indicative of said processed DC DCT coefficient values and having an output;
- value insertion logic means having a first input coupled to said decode lookup table means output, a second input for receiving a selection signal, and having an output;
- inverse zig-zag scan insertion logic means having a first input coupled to said value insertion logic means output an a second input for receiving a selection signal, and having an output; and
- inverse quantizer means having an input coupled to said inverse zig-zag scan insertion logic means output and having an output.
|