Array processing with fused multiply/add instruction
First Claim
1. An method for processing visual images represented by an array of numerical data comprising:
- displaying said visual image by assigning said array of numerical data to an array pixels;
each pixel of said array of pixels containing a numeric value representing a visual quality of said visual image over said pixel;
providing two independent indices to each of said pixels which represent two coordinates defining the location of each of said pixels in said image, thereby a collection of numeric values representing said visual image can be treated as a two-dimensional array of numbers;
processing said two-dimensional array of numbers to analyze said visual image or to alter said visual image, said means for processing comprising a memory to store digital representations of said visual image;
said processing of said two dimensional array comprises a fused signed multiply/add instruction which invokes a hard wired fused signed multiply/add operation to perform an accumulate function (a×
b)+c for signed floating point numbers a, b and c;
computing a descaling constant and a plurality of two-dimensional descaling/inverse-transform matrices incorporating elements of the image-quantization matrix;
multiplying one point of the input image data array by the descaling constant to form an intermediate data array; and
matrix multiplying the intermediate data army with a digital processor capable of performing fused multiply/add operations by a sequence of the descaling/inverse-transform matrices in turn, said matrix multiplication carded out by said digital processor exclusively using arithmetic operations from the group consisting of multiply/add, multiply/subtract, and negative multiply/add.
0 Assignments
0 Petitions
Accused Products
Abstract
Array processing for carrying out scaled-transform/descaled-inverse-transform procedures on data arrays encoding a visual image or other physical variable makes effective use of fused multiply/add instructions in computer workstations or other digital processors having a fused multiply/add capability. To reconstruct data representative of a physical variable from data originally representative of the variable which had been transformed according to a scaled discrete cosine transform procedure using a predetermined scaling matrix Q, an inverse transform procedure of the invention involves computing a descaling constant and a sequence of descaling/inverse-transform matrices which incorporate elements of the scaling matrix Q. One point of the input data array is multiplied by the descaling constant. The result is matrix multiplied by the sequence of descaling/inverse-transform matrices in turn. The descaling-inverse-transform matrices have the property that each matrix multiplication can involve arithmetic operations of exclusively fused signed multiply/add operations, which can be carried out with great efficiency on a computer workstation with fused signed multiply/add capability.
-
Citations
6 Claims
-
1. An method for processing visual images represented by an array of numerical data comprising:
-
displaying said visual image by assigning said array of numerical data to an array pixels; each pixel of said array of pixels containing a numeric value representing a visual quality of said visual image over said pixel; providing two independent indices to each of said pixels which represent two coordinates defining the location of each of said pixels in said image, thereby a collection of numeric values representing said visual image can be treated as a two-dimensional array of numbers; processing said two-dimensional array of numbers to analyze said visual image or to alter said visual image, said means for processing comprising a memory to store digital representations of said visual image; said processing of said two dimensional array comprises a fused signed multiply/add instruction which invokes a hard wired fused signed multiply/add operation to perform an accumulate function (a×
b)+c for signed floating point numbers a, b and c;computing a descaling constant and a plurality of two-dimensional descaling/inverse-transform matrices incorporating elements of the image-quantization matrix; multiplying one point of the input image data array by the descaling constant to form an intermediate data array; and matrix multiplying the intermediate data army with a digital processor capable of performing fused multiply/add operations by a sequence of the descaling/inverse-transform matrices in turn, said matrix multiplication carded out by said digital processor exclusively using arithmetic operations from the group consisting of multiply/add, multiply/subtract, and negative multiply/add. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification