IP Library Granted Patent US 7,068,850
Granted Patent B2
US 7,068,850 · App. 10/187,256 · Granted Jun 27, 2006

Decoding of predicted DC coefficient without division

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,068,850
App. No.
10/187,256
Granted
Jun 27, 2006
Kind
B2
Abstract

A technique for eliminating the division in decoding a predicted DC coefficient includes calculating and storing the values of 1//DC_scalar in a table. This allows one to convert a division into a multiplication.

Claims (65)

1. A processing circuit comprising:

a storage circuit operable to store a lookup table; and

a processor operable to:

calculate all possible values for an inverted variable in an equation for decoding predicted zero-frequency transform coefficients; and

store all said values in said lookup table.

2. The processing circuit of claim 1 wherein:

calculating all possible values comprises calculating the equivalence of all possible values for an inverted scalar value of a quantization parameter for a macro block calculated using rounding division; and

storing all said values in a lookup table comprises storing a value exactly equal to the inverse of the scalar value of a quantization parameter for a macro block for a predetermined level of precision.

3. The processing circuit of claim 1 wherein:

calculating all possible values comprises calculating for each possible value of the scalar value of a quantization parameter for a macro block a value exactly equal to the inverse of the scalar value of quantization parameter for a macro block for a predetermined level of precision.

4. The processing circuit of claim 1 wherein:

calculating all possible values comprises calculating, for a predetermined precision level, the zero-frequency coefficient of a macro block used for prediction purposes times the inverted variable in the equation for decoding predicted zero-frequency transform coefficients for all values of the scalar value of a quantization parameter for a macro block.

5. The processing circuit of claim 1 wherein:

calculating all possible values for an inverted variable in the equation for decoding predicted zero frequency transform coefficients comprises calculating the thirty-nine possible values for the inverted scalar value of a quantization parameter for a macro block; and

storing all said values in a lookup table comprises storing a value exactly equal to the inverse scalar of a quantization parameter for a macro block for the precision being used.

6. A processing circuit comprising:

a storage circuit operable to store a lookup table of all thirty-nine values of an inverted scalar value of a quantization parameter for a macro block, and

a processor operable to calculate the zero-frequency coefficient for a macro block using said table to avoid using rounding division.

7. A processing circuit comprising:

a storage circuit operable to store a lookup table of all thirty-nine values an inverted scalar value of a quantization parameter for a macro block calculated once off-line; and

a processor having a divide unit and operable to calculate the zero-frequency coefficients for any number of macro blocks being decoded without accessing a divide unit by repeatedly accessing the stored look up table.

8. A processing circuit comprising:

a storage circuit operable to store a lookup table; and

a processor operable to:

calculate the zero frequency coefficient of a macro block used for prediction purposes times an inverted variable in the equation for decoding predicted zero frequency transform coefficients for all values of the zero frequency coefficient of a macro block used for prediction purposes and all values of the scalar value of a quantization parameter for a macro block comprises:

rounding to 32-bit precision in all cases where an integer variable ranging from (−(44×2048) to +(44×2047))×1/DC_scalar×2 −32 ×2 32 is identically equal to an integer variable ranging from (−(44×2048) to +(44×2047) dividing DC-scalar for a macro block calculated using a rounding division, and otherwise modifying 1/DC_scalar to be 1/DC_scalar×2 32 ±1 which quantity is then multiplied by 2 31 32 and recalculated iteratively until equality is obtained; and

store all said values in said lookup table.

9. The processing circuit of claim 8 wherein:

calculate the zero frequency coefficient of a macro block used for prediction purposes times the inverted variable in the equation for decoding predicted zero frequency transform coefficients for all values of the zero frequency coefficient of a macro block used for prediction purposes and all values of the scalar value oaf quantization parameter for a macro block comprises at most two modification iterations for any said integer variable.

10. A video processing circuit comprising:

a storage circuit operable to store a lookup table; and

a processor to receive encoded images, each in a standard format, the processor operable to decode said received encoded bit stream in software with said lookup table wherein a divide unit is not used when decoding predicted zero-frequency transform coefficients.

11. A video processing circuit comprising:

a storage circuit operable to store a lookup table of all thirty-nine values of the inverted scalar value of a quantization parameter for a macro block; and

a processor to receive encoded images, each in a standard formal, the processor operable to decode said received encoded bit stream in software with said lookup table wherein a divide unit is not used when decoding the predicted zero-frequency transform coefficient.

12. A video processing circuit comprising:

a storage circuit operable to store a lookup table of all thirty-nine values of an inverted scalar value of a quantization parameter for a macro block; and

a processor to receive encoded images, each in a standard format, the processor operable to decode said received encoded bit stream in software with said lookup table wherein a divide unit is not used when decoding any number of predicted zero frequency transform coefficients.

13. A video processing circuit comprising:

a storage circuit operable to store a lookup table; and

a processor to receive encoded images, each in a standard format, the processor operable to decode said received encoded bit stream in software with said lookup table avoiding a type of division rounding results to the nearest integer value in the equation for decoding predicted zero frequency transform coefficients.

14. The video processing circuit of claim 13 wherein:

decoding the encoded bit stream in the equation for decoding predicted zero frequency transform coefficients comprises getting the appropriate value for the inverse of the scalar value of a quantization parameter for a macro block from the look-up table, multiplying this value by the zero frequency coefficient of a macro block used for prediction purposes, and adding this product to the decoded-but-not-inverse-quantized residual zero frequency transform coefficient value from the encoded bit stream, to get the zero frequency coefficient of the macro block being predicted.

15. A method comprising:

calculating all possible values for an inverted variable in the equation for decoding predicted zero frequency transform coefficients; and

storing all said values in a lookup table.

16. The method of claim 15 wherein:

calculating all possible values for an inverted variable in the equation for decoding predicted zero frequency transform coefficients comprises calculating all possible values for the inverted scalar value of a quantization parameter for a macro block calculated using a division rounding results to the nearest integer value; and

storing all said values in a lookup table comprises storing a value exactly equal to the inverse of the scalar value of a quantization parameter for a macro block for the precision being used.

17. The method of claim 15 wherein:

calculating all possible values for an inverted variable in the equation for decoding predicted zero frequency transform coefficients comprises calculating for each possible value of the scalar value of a quantization parameter for a macro block a value exactly equal to the inverse of the scalar value of a quantization parameter for a macro block for the precision being used.

18. The method of claim 15 wherein:

calculating all possible values for the precision being used comprises calculating the zero frequency coefficient of a macro block used for prediction purposes times the inverted variable in the equation for decoding predicted zero frequency transform coefficients for all values of the zero frequency coefficient of a macro block used for prediction purposes and all values of the scalar value of a quantization parameter for a macro block.

19. The method of claim 15 wherein:

calculating all possible values for an inverted variable in the equation for decoding predicted zero frequency transform coefficients comprises calculating the thirty-nine possible values for the inverted scalar value of a quantization parameter for a macro block; and

storing all said values in a lookup table comprises storing a value exactly equal to the inverse of the scalar value of a quantization parameter for a macro block for the precision being used.

20. A method comprising:

calculating the zero-frequency coefficient for a macro block using a table of all thirty nine values of an inverted scalar value of a quantization parameter for a macro block and to avoid using rounding division.

21. A method comprising:

calculate the zero frequency coefficient of a macro block used for prediction purposes times an inverted variable in the equation for decoding predicted zero frequency transform coefficients for all values of the zero frequency coefficient of a macro block used for prediction purposes and all values of the scalar value of a quantization parameter for a macro block;

rounding to 32-bit precision in all eases where an integer variable ranging from (−(44×2048) to +(44×2047))×1/DC_scalar×2 −32 ×2 32 is identically equal to an integer variable ranging from (−(44×2048) to +(44×2047) dividing DC-scalar for a macro block calculated using a rounding division;

otherwise modifying 1/DC_scalar to be 1/DC_scalar×2 32 ±1 which quantity is then multiplied by 2 −32 and recalculated iteratively until equality is obtained; and

store all said values in a lookup table.

22. The method of claim 21 wherein:

calculating the zero frequency coefficient of a macro block used for prediction purposes times the inverted variable in the equation for decoding predicted zero frequency transform coefficients for all values of the zero frequency coefficient of a macro block used for prediction purposes and all values of the scalar value of a quantization parameter for a macro block comprises at most two modification iterations for any said integer variable.

Assignments (1)
MERGER Recorded Nov 12, 2015
From: MEYER BROS. TECHNOLOGY GROUP LLC
To: GULA CONSULTING LIMITED LIABILITY COMPANY
Reel/Frame 037028/0283 →