A method and apparatus for performing quantization during video compression, such as within an MPEG-2 encoder. Inter-quantization is particularly described, although the teachings may be applied to intra-quantization as well. Computationally intensive portions of the quantization process are split into multiple components in response to differing execution probability. A first component is executed within each quantization iteration, and preferably is performed in parallel, such as using SIMD processing. At least one additional component, such as a second component, is serially processed in response to detecting a condition that does not arise with each loop iteration. One configuration replaces division operations with a combination of multiply and shift operations, while making extended use of table lookup procedures to reduce processing overhead.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of performing inter-quantization for compression encoding, comprising: splitting quantization operations into multiple components having different execution probabilities; executing elements of a first quantization component in parallel for a number of pixels within each quantization loop; wherein said first quantization component computes sign, absolute value and performs at least a portion of the quantization; and executing elements of a second quantization component at a lower frequency within said quantization loop in response to meeting a given quantization condition; wherein division computations required during quantization are performed within said second quantization component in response to combining multiplication and shift operations.
2. A method as recited in claim 1 , wherein one row of quantization coefficients are computed within each said quantization loop.
3. A method as recited in claim 1 , wherein said first quantization component is executed once for each loop of quantization.
6. A method as recited in claim 1 : wherein the elements of said first quantization component is configured for execution in parallel by a processor configured for Single-Instruction-Multiple-Data (SIMD) processing; and wherein the elements of said second quantization component is configured for execution in series.
7. A method as recited in claim 1 , wherein second quantization component performs inverse quantization.
8. A method as recited in claim 7 , wherein second quantization component further performs thresholding and rounding.
9. A method as recited in claim 1 , wherein second quantization component is computed only for non-zero quantized components.
10. A method of MPEG-2 inter-quantization compression encoding, comprising: splitting MPEG-2 inter-quantization operations into multiple components having different execution probabilities within a quantization loop; wherein elements of at least one MPEG-2 quantization component, a first MPEG-2 quantization component, is executed once for each loop of quantization; executing the elements of said first MPEG-2 quantization component in parallel for a number of pixels for each MPEG-2 quantization loop to compute sign, absolute value and at least a portion of the MPEG-2 quantization; wherein said first MPEG-2 quantization component is configured for execution in parallel by at least one processor configured for Single-Instruction-Multiple-Data (SIMD) processing; and executing elements of a second MPEG-2 quantization component in series at a lower probability within said quantization loop in response to meeting a given quantization condition; wherein division computations required during quantization are performed within said second MPEG-2 quantization component in response to combining multiplication and shift operations.
13. A method as recited in claim 10 , wherein said first MPEG-2 quantization component performs all or a portion of the MPEG-2 quantization operations.
14. A method as recited in claim 10 , wherein said second MPEG-2 quantization component further performs thresholding and rounding.
15. A method as recited in claim 10 , wherein said second MPEG-2 quantization component performs inverse-quantization.
16. A method as recited in claim 10 , wherein second MPEG-2 quantization component is computed only for non-zero quantized components.
17. An apparatus for performing inter-quantization within video compression encoding, comprising: a computer configured for video encoding; and programming executable on said computer for: splitting quantization operations into multiple components having different execution probabilities; executing elements within a first quantization component in parallel for a number of pixels for each quantization loop; wherein said first quantization component computes sign, absolute value and performs at least a portion of the quantization; and executing elements within a second quantization component at a lower frequency within said quantization loop in response to meeting a given quantization condition; wherein division computations required during quantization are performed within said second quantization component in response to combining multiplication and shift operations.
18. An apparatus as recited in claim 17 , wherein said programming executable on said computer is configured for computing one row of quantization coefficients within each said quantization loop.
19. An apparatus as recited in claim 17 : wherein the elements of said first quantization component is configured for execution in parallel by a processor configured for Single-Instruction-Multiple-Data (SIMD) processing; and wherein the elements of said second quantization component are configured for execution in series.
20. An apparatus as recited in claim 17 , wherein said programming executable on said computer performs inverse quantization, and/or thresholding and rounding in said second quantization component.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 24, 2008
August 21, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.