← Back to Patent Explorer
US5719964A Expired / Lapsed US ⏱️ 0.0 years remaining

Array processing with fused multiply/add instruction

Assignee: International Business Machines Corp
•
Filing: 1995-10-10
•
Granted: 1998-02-17
•
Expires: 2015-10-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Elliot Neil Linzer
  • 👤 Ephraim Feig

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 11:35
CPC Classifications
G; G06; G06F; G06F17/00; G06F17/10; G06F17/16

Claims Analysis

Total Claims: 7
Claim 1
Independent Claim 248 words
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.
Claim 2
Independent Claim 248 words
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.
Claim 3
Dependent Claim 26 words
A method according to claim 1 in which said performing an inverse transform procedure performs an inverse of a two-dimensional 8×8 scaled discrete cosine transform procedure.
Claim 4
Dependent Claim 29 words
A method according to claim 2 in which the point of the input image data array multiplied by the descaling constant corresponds to a zero-frequency discrete cosine transform component.
Claim 5
Dependent Claim 28 words
A method according to claim 3 in which the matrix multiplication by the sequence of descaling/inverse-transform matrices is performed on the intermediate data array on a row/column basis.
Claim 6
Dependent Claim 63 words
A method according to claim 4 in which the matrix multiplication by the sequence of descaling/inverse-transform matrices on the intermediate data array on a row/column basis constitutes taking a one-dimensional eight-point inverse scaled discrete cosine transform of each of eight rows of the intermediate data array and subsequently taking a one-dimensional eight-point inverse scaled discrete cosine transform of each of eight resulting columns.
Claim 7
Dependent Claim 20 words
A method according to claim 1 in which computing a plurality of two-dimensional descaling/inverse-transform matrices involves computing eight 8×8 matrices.

References Cited (Backward Citations)

US4860373A Cited
US4805228A Cited
US4918742A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-02-16 2001-08-18 2002-02-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-02-16 2005-08-18 2006-02-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-02-16 2009-08-18 2010-02-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag