Claims
- 1. A method for decoding a data array of coefficients that has been encoded according to a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, the method comprising:
multiplying each coefficient in the data array by a scalar value; performing a first 1D inverse transform on the data array resulting from the multiplying; performing a second 1D inverse transform on the data array resulting from the first 1D inverse transform; and dividing by the scalar value each coefficient in the data array resulting from the second 1D inverse transform.
- 2. A method for decoding a data array of coefficients that has been encoded according to a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, the method comprising:
multiplying each coefficient in the data array by a first pre-multiplication value; performing a first 1D inverse transform on the data array resulting from the multiplying; multiplying each coefficient in the data array resulting from the first 1D inverse transform by a second pre-multiplication value; and performing a second 1D inverse transform on the data array resulting from the multiplying by the second pre-multiplication value.
- 3. The method of claim 2 further comprising:
dividing each coefficient in the data array resulting from the second 1D inverse transform by four.
- 4. A method for decoding a data stream of values that has been encoded according to a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, the method comprising:
parsing encoded values out of the data stream and creating a two-dimensional data array that stores the encoded values in a particular scan order, wherein the values in the created data array are encoded in both dimensions of the array; multiplying each value in the data array by a scalar value; performing a first 1D inverse transform to the data array resulting from the multiplying; transposing the data array resulting from the first 1D inverse transform; performing a second 1D inverse transform to the data array resulting from the transposing; and dividing by the scalar value each value in the data array resulting from the second 1D inverse transform to produce a data array containing decoded values, the data array containing decoded values being produced without a second transposing step.
- 5. The method of claim 4, wherein the particular scan order is a transposed zig-zag scan order.
- 6. A method for decoding a data stream of values that has been encoded according to a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, the method comprising:
parsing encoded values out of the data stream and creating a two-dimensional data array that stores the encoded values in a particular scan order, wherein the values in the created data array are encoded in both dimensions of the array; multiplying each value in the data array by a first pre-multiplication value; performing a first 1D inverse transform on the data array resulting from the multiplying; transposing the data array resulting from the first 1D inverse transform; multiplying each value in the data array resulting from the transposing by a second pre-multiplication value; and performing a second 1D inverse transform on the data array resulting from the multiplying by the second pre-multiplication value.
- 7. The method of claim 6 further comprising:
dividing each value in the data array resulting from the second 1D inverse transform by four.
- 8. The method of claim 6, wherein the particular scan order is a transposed zig-zag scan order.
- 9. A method of encoding coefficients of a data array based on a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, the method comprising:
multiplying each coefficient in the data array by a scalar value; performing a first 1D transform on the data array resulting from the multiplying; performing a second 1D transform on the data array resulting from the first 1D transform; and dividing by the scalar value each coefficient in the data array resulting from the second 1D transform.
- 10. The method of claim 9 further comprising, after performing the second 1D transform and before the dividing, performing a post-multiplication of the each coefficient in the data array resulting from the second 1D transform.
- 11. A method of encoding coefficients of a data array based on a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, the method comprising:
multiplying each coefficient in the data array by a scalar value; performing a first 1D transform on the data array resulting from the multiplying; transposing the data array resulting from the first 1D transform; performing a second 1D transform on the data array resulting from the transposing; dividing by the scalar value each coefficient in the data array resulting from the second 1D transform; and without performing another transposing step, generating a data stream based on the coefficients from the data array resulting from the dividing.
- 12. The method of claim 11 further comprising, after performing the second 1D transform and before the dividing, performing a post-multiplication of the each coefficient in the data array resulting from the second 1D transform.
RELATED APPLICATIONS
[0001] This patent application claims the benefit under title 35, United States Code, Section 119(e) to the United States Provisional Patent Application entitled “Method and Apparatus for Coding and Decoding,” having serial No. 60/396,156 filed on Jul. 14, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60396156 |
Jul 2002 |
US |