Claims
- 1. A method of encoding video based on a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, said video comprising a plurality of successive images, wherein each image includes a plurality of two-dimensional arrays of image values, the method comprising:
a) receiving a image-value array of an image; b) performing a 1D-transform on the image-value array to produce a 1D-encoded image-value array; c) transposing the 1D-encoded image-value array to produce a transposed 1D-encoded image-value array; d) performing a 1D-transform of the transposed 1D-encoded image-value array to produce a transposed 2D-encoded image-value array, wherein the transposed 2D-encoded image value array is in a transposed state in relation to the received image-value array; and e) generating a data stream by outputting values in a particular scan order from the transposed 2D-encoded image-value array or an array derived from the transposed 2D-encoded image-value array, wherein the transposed 2D-encoded image-value array and the array derived from the transposed 2D-encoded image-value array are in a state that is transposed in relation to the received image array.
- 2. The method of claim 1, wherein the particular scan order accounts for the transposed state of the transposed 2D-encoded image value array.
- 3. The method of claim 2, wherein the particular scan order is a transposed zig-zag scan order.
- 4. The method of claim 1 further comprising, before generating the data stream, multiplying the transposed 2D-encoded image-value array with a quantization parameter.
- 5. The method of claim 4, wherein the quantization parameter is a quantization matrix that is in a transposed state with respect to the received image-value array.
- 6. The method of claim 5, wherein the result of the multiplication is a quantized transposed 2D-encoded image-value array, wherein generating the data stream by outputting values from the transposed 2D-encoded image-value array in a particular scan order comprises outputting values from the quantized, transposed 2D-encoded image-value array in the particular scan order.
- 7. The method of claim 6, wherein the quantization array is a transposed MPEG quantization array.
- 8. The method of claim 4 further comprising performing a feedback operation that includes:
a) multiplying the quantized, transposed 2D-encoded image-value array with a inverse quantization parameter; b) performing a 1D-inverse transform operation on the result of the multiplication to produce a transposed 1D-encoded image-value array, c) transposing the transposed 1D-encoded image-value array to produce a 1D-encoded image-value array; and d) performing an 1D-inverse transform of the 1D-encoded image-value array to produce a decoded image-value array.
- 9. The method of claim 8, wherein the inverse quantization parameter is a inverse quantization matrix that is in a transposed state with respect to the received image-value array.
- 10. The method of claim 9, wherein the inverse quantization array is a transposed MPEG inverse quantization array.
- 11. The method of claim 8, wherein the quantization and inverse quantization parameters are scalar values.
- 12. A method of encoding video based on a two-dimensional (2D) transform encoding operation that is separable in to two one-dimensional (1D) transform operations, said video comprising a plurality of successive images, wherein each image includes a plurality of two-dimensional arrays of image values, the method comprising:
a) receiving a image-value array of an image; b) performing a 1D-transform on the image-value array to produce a 1D-encoded image-value array; c) transposing the 1D-encoded image-value array to produce a transposed 1D-encoded image-value array; d) performing a 1D-transform of the transposed 1D-encoded image-value array to produce a transposed 2D-encoded image-value array, wherein the transposed 2D-encoded image value array is in a transposed state in relation to the received image-value array; and e) without performing another transpose operation, generating a data stream based on the values from the transposed 2D-encoded image-value array.
- 13. A method for decoding video 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:
a) receiving a data stream that contains image values for an image; b) parsing encoded image values out of the data stream and creating a two-dimensional array that stores the encoded image values in a particular scan order, wherein the image-values in the created image-value array are encoded in both dimensions of the array; c) performing a 1D-inverse transform operation on image-value array to produce a 1D-encoded image-value array; d) transposing the 1D-encoded image-value array to produce a transposed 1D-encoded image-value array; e) performing another 1D-inverse transform operation on the image-value array after the transpose operation to obtain an array that contains decoded image value; and f) outputting the decoded image-value array, wherein the 2D-encoded image-value array created by the particular scan order is in a transpose state with respect to the decoded image-value array.
- 14. The method of claim 13, wherein the particular scan order a transposed zig-zag scan order.
- 15. The method of claim 13 further comprising, before performing the first 1D-inverse transform operation, multiplying the created image-value array with inverse quantization parameter.
- 16. The method of claim 15, wherein the inverse quantization parameter is an inverse quantization matrix that is in a transposed state with respect to the created image-value array.
- 17. The method of claim 16, wherein the inverse quantization array is a transposed MPEG inverse quantization array.
- 18. The method of claim 15, wherein the quantization and inverse quantization parameters are scalar values.
- 19. A method of dynamically transposing an image-value array associated with an video image, the method comprising:
a) identifying a pattern of coefficients of the image-value array; b) determining whether the method has a particular set of transpose operations specified for the identified patter of coefficients; c) if the particular set of transpose operations exist for the identified pattern, using the particular set of transpose operations to transpose the image-value array; and d) if the particular set of transpose operations do not exist for the identified pattern, using a default set of transpose operations to transpose the image-value array.
- 20. The method of claim 19 wherein the pattern of coefficients is a pattern of non-zero coefficients.
- 21. The method of claim 19 wherein the image-value array includes encoded image values.
- 22. The method of claim 19 wherein the image-value array includes unencoded image values.
RELATED APPLICATIONS
[0001] This patent application claims the benefit under title 35, United States Code, Section 119(e) to the U.S. Provisional Patent Application entitled “Method and Apparatus for Performing a Two-Dimensional Inverse Discrete Cosine Transform,” having Ser. No. 60/396,157 filed on Jul. 14, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60396157 |
Jul 2002 |
US |