Low power, high performance transform coprocessor for video compression
First Claim
Patent Images
1. An apparatus for calculating integer transforms of input matrices of data, comprising:
- an input for receiving input matrices of data;
a matrix multiplication apparatus coupled to said input;
said matrix multiplication apparatus including a first matrix multiplier for multiplying a first input matrix of data by a first transform matrix of integers to produce a first intermediate matrix of data;
said matrix multiplication apparatus including a second matrix multiplier coupled to said first matrix multiplier for multiplying the first intermediate matrix by a second transform matrix of integers to produce a first transform result matrix of data; and
a further said matrix multiplication apparatus coupled to said input for operation in parallel with said first-mentioned matrix multiplication apparatus, wherein said matrix multiplication apparatus includes a third matrix multiplier coupled to said second matrix multiplier for multiplying a transpose of the first transform result matrix by the first transform matrix to produce a second intermediate matrix of data and a fourth matrix multiplier coupled to said third matrix multiplier for multiplying the second intermediate matrix by the second transform matrix to produce a two-dimensional result matrix.
1 Assignment
0 Petitions
Accused Products
Abstract
First and second integer transform matrices can be used to approximate the discrete cosine transform. An input matrix of data is multiplied by a first transform matrix of integers to produce an intermediate matrix of data. The intermediate matrix is multiplied by a second transform matrix of integers to produce a transform result matrix of data. The multiplications by the first and second transform matrices can be pipelined to increase throughput. A plurality of transform data paths can also be provided in parallel to increase throughput.
-
Citations
21 Claims
-
1. An apparatus for calculating integer transforms of input matrices of data, comprising:
-
an input for receiving input matrices of data; a matrix multiplication apparatus coupled to said input; said matrix multiplication apparatus including a first matrix multiplier for multiplying a first input matrix of data by a first transform matrix of integers to produce a first intermediate matrix of data; said matrix multiplication apparatus including a second matrix multiplier coupled to said first matrix multiplier for multiplying the first intermediate matrix by a second transform matrix of integers to produce a first transform result matrix of data; and a further said matrix multiplication apparatus coupled to said input for operation in parallel with said first-mentioned matrix multiplication apparatus, wherein said matrix multiplication apparatus includes a third matrix multiplier coupled to said second matrix multiplier for multiplying a transpose of the first transform result matrix by the first transform matrix to produce a second intermediate matrix of data and a fourth matrix multiplier coupled to said third matrix multiplier for multiplying the second intermediate matrix by the second transform matrix to produce a two-dimensional result matrix. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A video data processing system, comprising:
-
a video data processor including an input for receiving input matrices of data, and a transform apparatus coupled to said input for calculating integer transforms of said input matrices of data, said transform apparatus including a first matrix multiplier for multiplying a first input matrix of data by a first transform matrix of integers to produce a first intermediate matrix of data, and said transform apparatus including a second matrix multiplier coupled to said first matrix multiplier for multiplying the first intermediate matrix by a second transform matrix of integers to produce a first transform result matrix of data, wherein said transform apparatus includes a third matrix multiplier coupled to said second matrix multiplier for multiplying a transpose of the first transform result matrix by the first transform matrix to produce a second intermediate matrix of data, and said matrix multiplication apparatus including a fourth matrix multiplier coupled to said third matrix multiplier for multiplying the second intermediate matrix by the second transform matrix to produce a two-dimensional result matrix; and an interface coupled to said video data processor for permitting a user to communicate with said video data processor. - View Dependent Claims (8, 9, 10)
-
-
11. A method of calculating integer transforms of input matrices of data, comprising:
-
storing a first input matrix of data and a first transform matrix of integers into a memory; multiplying the first input matrix of data by the first transform matrix of integers to produce a first intermediate matrix of data, wherein the multiplication of the first input matrix of data by the first transform matrix of integers is preformed by at least one processor; multiplying the first intermediate matrix by a second transform matrix of integers to produce a first transform result matrix of data; and storing the first transform result matrix of data into the memory, wherein the method includes multiplying a third input matrix of data by the first transform matrix to produce a second intermediate matrix of data while multiplying the first input matrix by the first transform matrix, and multiplying the second intermediate matrix by the second transform matrix to produce a second transform result matrix of data while multiplying the first intermediate matrix by the second transform matrix. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification