1460887522-4612a6cd-04a5-447c-88c0-89f605f6391a

1. A method of manipulating spectral content of a block of pixels for compression comprising the steps of:
a) classifying each pixel within a selected block of pixels as relevant or irrelevant;
b) generating a coefficient block representing a forward transform of the selected block; and
c) modifying coefficient values to generate a modified coefficient block subject to a set of pre-determined constraints including a constraint that the relevant pixels have a same value in an inverse transformation of the modified coefficient block as in the selected block.
2. The method of claim 1 further comprising the steps of:
d) repeating steps a)-c) for every block of pixels of the source image.
3. The method of claim 1 wherein step c) includes the steps of:
i) selecting a coefficient from the coefficient block in a reverse zig-zag order wherein the selected coefficient has a non-zero value; and
ii) finding a feasible solution resulting in a zero quantizable selected coefficient subject to the pre-determined constraints.
4. The method of claim 3 wherein the coefficient value is modified subject to a constraint that no zero quantizable coefficient preceding the selected coefficient in the reverse zig-zag order is permitted to become non-zero quantizable.
5. The method of claim 1 further comprising the step of:
d) entropy encoding the coefficient block to generate compressed data corresponding to the selected block.
6. The method of claim 1 wherein values of individual elements of a mask classify pixels in corresponding positions within the selected block as relevant or irrelevant.
7. The method of claim 1 wherein the selected block includes relevant pixels associated with an object and irrelevant pixels not associated with the object.
8. The method of claim 1 further comprising the step of:
d) providing the modified coefficient block to a block compression process.
9. The method of claim 1 wherein step d) further comprises the step of applying a linear program to identify a feasible solution resulting in a zero-quantizable coefficient subject to the constraints.
10. The method of claim 9 further comprising the step of applying a quadratic program to generate a modified selected block having minimal energy.
11. The method of claim 10 further comprising the step of terminating further modifications to the coefficient block if a ratio of the energy of the modified block to the energy of the initial selected block exceeds a pre-determined threshold.
12. The method of claim 1 wherein step b) further comprises the step of assigning an average relevant pixel value to every irrelevant pixel before performing a forward transform.
13. The method of claim 1 wherein the forward transform is one of a discrete cosine, a discrete sine, and a discrete Fourier transform.
14. A method of manipulating spectral content of a block of pixels for compression comprising the steps of:
a) providing a source block of pixels from a source image;
b) classifying the pixels as modifiable or nonmodifiable;
c) performing a forward transform on the selected block;
d) quantizing the transformed block to generate a quantized coefficient block; and
e) modifying at least one coefficient to produce a corresponding zero quantized coefficient subject to a plurality of constraints including the constraint that the coefficient is modified without altering pixel values of an inverse transform that correspond to nonmodifiable pixels in the selected block.
15. The method of claim 14 wherein the non-zero quantized coefficients are selected for modification from the quantized coefficient block proceeding in reverse zig-zag order.
16. The method of claim 14 wherein values of individual elements of a mask classify pixels in corresponding positions within the selected block as relevant or irrelevant.
17. The method of claim 14 wherein the modifiable pixels are modified subject to the constraint that no zero quantized coefficient preceding the selected non-zero quantized coefficient may become non-zero.
18. The method of claim 14 wherein the forward transform is a selected one of a discrete cosine, a discrete sine, and a discrete Fourier transform.
19. The method of claim 14 further comprising the step of:
f) applying entropy encoding to the modified coefficient block to generate compressed image data.
20. The method of claim 16 further comprising the step of:
f) repeating step e) to increase a number of zero quantized coefficients proceeding in a reverse zig-zag order subject to a constraint that no preceding zero quantized coefficient may become non-zero quantized.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. An image decoding apparatus which decodes a coded stream generated by coding, on a block-by-block basis, a picture including blocks, said image decoding apparatus comprising:
a processor; and
a non-transitory memory which stores thereon executable instructions, which when executed, cause the processor to function as:
a predecoding unit configured to perform, on a block group-by-block group basis, variable length decoding and generate block decoding information using a result of the variable length decoding for each block group from among a plurality of block groups which (i) contain blocks, (ii) are different from each other, and (iii) are included in the coded stream, the block decoding information for the block group being a parameter necessary for decoding another block group from among the plurality of block groups; and
block decoding units each configured to perform decoding, using the block decoding information generated using the result of the variable length decoding performed by said predecoding unit, on a block-by-block basis on one of the plurality of block groups in parallel,

wherein the decoding performed by each of said block decoding units on the block-by-block basis on the one of the plurality of block groups in parallel includes re-executing the variable length decoding on each of the plurality of blocks groups on which the variable length decoding has been performed by said predecoding unit to determine a prediction mode to be performed on the block group.
2. The image decoding apparatus according to claim 1,
wherein said predecoding unit is further configured to insert, at a beginning of each of the block groups in the coded stream, a bit pattern by which the beginning can be identified uniquely, and
wherein each of said block decoding units is configured to search for the bit pattern inserted into the coded stream to find a block group on which the decoding is to be performed by said block decoding unit, and to decode the block group.
3. The image decoding apparatus according to claim 1,
wherein said predecoding unit is further configured to insert the generated block decoding information into the coded stream, and
wherein each of said block decoding units is configured (i) to obtain the coded stream into which the block decoding information is inserted, and (ii) to perform the decoding on the corresponding one of the block groups by using the block decoding information inserted into the coded stream.
4. The image decoding apparatus according to claim 1,
wherein said predecoding unit is configured to generate, as the block decoding information, a parameter necessary for the decoding of a block located at an end in the block group when generating the block decoding information, the parameter being obtained by performing the variable length decoding on the block group.
5. The image decoding apparatus according to claim 1,
wherein said predecoding unit, when generating the block decoding information, is configured to generate, as the block decoding information, a difference between a predetermined coefficient and a coefficient which is obtained by performing the variable length decoding on the block group and is necessary for the decoding of a block located at an end in the block group.
6. The image decoding apparatus according to claim 1,
wherein said predecoding unit is configured to generate the block decoding information to include at least a quantization parameter.
7. An image decoding method for decoding, using a processor, a coded stream generated by coding, on a block-by-block basis, a picture including blocks, said image decoding method comprising: performing, on a block group-by-block group basis, variable length decoding, and generating block decoding information using a result of the variable length decoding for each of a plurality of block groups which (i) contain blocks, (ii) are different from each other, and (iii) are included in the coded stream, the block decoding information for the block group being a parameter necessary for decoding another block group from among the plurality of block groups; and decoding, on a block-by-block basis using the block decoding information generated using the result of the variable length decoding performed in said performing, each of the plurality of block groups in parallel, wherein said decoding performed on the block-by-block basis on each of the plurality of block groups in parallel includes re-executing the variable length decoding on each of the plurality of block groups on which the variable length decoding has been performed in said performing to determine a prediction mode to be performed on the block group.
8. The image decoding method according to claim 7,
wherein in said predecoding, the block decoding information is generated to include at least a quantization parameter.
9. A non-transitory computer readable recording medium having stored thereon a program for decoding a coded stream generated by coding, on a block-by-block basis, a picture including blocks, wherein, when executed, said program causes a computer to execute a method comprising:
performing, on a block group-by-block group basis, variable length decoding, and generating block decoding information using a result of the variable length decoding for each of a plurality of block groups which (i) contain blocks, (ii) are different from each other, and (iii) are included in the coded stream, the block decoding information for the block group being a parameter necessary for decoding another block group from among the plurality of block groups; and
decoding, on a block-by-block basis using the block decoding information generated using the result of the variable length decoding performed in said performing, each of the plurality of block groups in parallel,
wherein said decoding performed on the block-by-block basis on each of the plurality of block groups in parallel includes re-executing the variable length decoding on each of the plurality of block groups on which the variable length decoding has been performed in said performing to determine a prediction mode to be performed on the block group.
10. The non-transitory computer readable recording medium according to claim 9,
wherein in said predecoding, the block decoding information is generated to include at least a quantization parameter.
11. An integrated circuit which decodes a coded stream generated by coding, on a block-by-block basis, a picture including blocks, said integrated circuit comprising:
a processor; and
a non-transitory memory which stores thereon executable instructions, which when executed, cause the processor to function as:
a predecoding unit configured to perform, on a block group-by-block group basis, variable length decoding and generate block decoding information using a result of the variable length decoding for each block group from among a plurality of block groups which (i) contain blocks, (ii) are different from each other, and (iii) are included in the coded stream, the block decoding information for the block group being a parameter necessary for decoding another block group from among the plurality of block groups; and
block decoding units each configured to perform decoding, using the block decoding information generated using the result of the variable length decoding performed by said predecoding unit, on a block-by-block basis on one of the plurality of block groups in parallel,

wherein the decoding performed by each of said block decoding units on the block-by-block basis on the one of the plurality of block groups in parallel includes re-executing the variable length decoding on each of the plurality of block groups on which the variable length decoding has been performed by said predecoding unit to determine a prediction mode to be performed on the block group.
12. The integrated circuit according to claim 11,
wherein said predecoding unit is configured to generate the block decoding information to include at least a quantization parameter.
13. An image decoding apparatus which decodes a coded stream generated by coding, on a block-by-block basis, a picture including blocks, said image decoding apparatus comprising:
a processor; and
a non-transitory memory which stores thereon executable instructions, which when executed, cause the processor to function as:
a predecoding unit configured to perform, on a block group-by-block group basis, variable length decoding and generate block decoding information using a result of the variable length decoding for each block group from among a plurality of block groups which (i) contain blocks, (ii) are different from each other, and (iii) are included in the coded stream, the block decoding information for the block group including at least a quantization parameter as a parameter necessary for decoding another block group from among the plurality of block groups; and
block decoding units each configured to perform the decoding, using the block decoding information generated using the result of the variable length decoding performed by said predecoding unit, on a block-by-block basis on one of the plurality of block groups in parallel,

wherein the decoding performed by each of said block decoding units on the block-by-block basis on the one of the plurality of block groups in parallel includes re-executing the variable length decoding on each of the plurality of block groups on which the variable length decoding has been performed by said predecoding unit to determine a prediction mode to be performed on the block group.
14. An image decoding method for decoding, using a processor, a coded stream generated by coding, on a block-by-block basis, a picture including blocks, said image decoding method comprising: performing, on a block group-by-block group basis, variable length decoding, and generating block decoding information using a result of the variable length decoding for each of a plurality of block groups which (i) contain blocks, (ii) are different from each other, and (iii) are included in the coded stream, the block decoding information for the block group including at least a quantization parameter as being a parameter necessary for decoding another block group from among the plurality of block groups; and decoding, on a block-by-block basis using the block decoding information generated using the result of the variable length decoding performed in said performing each of the plurality of block groups in parallel, wherein said decoding performed on the block-by-block basis on each of the plurality of block groups in parallel includes re-executing the variable length decoding on each of the plurality of block groups on which the variable length decoding has been performed in said performing to determine a prediction mode to be performed on the block group.