Adaptive block size image compression method and system
DCFirst Claim
1. 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.
0 Assignments
Litigations
0 Petitions
Accused Products
Abstract
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
61 Claims
-
1. 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. - View Dependent Claims (2)
- 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;
-
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. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15, 16, 17)
-
-
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. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
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. - View Dependent Claims (29, 30, 31, 32)
-
-
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. - View Dependent Claims (34, 35, 36, 37, 38, 39)
-
-
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. - View Dependent Claims (41, 42, 43)
-
-
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. - View Dependent Claims (45, 46, 47, 48, 49, 50)
-
-
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. - View Dependent Claims (52, 53, 54)
-
-
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. - View Dependent Claims (56, 57, 58)
-
-
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. - View Dependent Claims (60, 61)
-
Specification