Bit map stretching using operand routing and operation selective multimedia extension unit
AssigneeCompaq Computer Corporation
InventorsBrian E. Longhenry, John S. Thayer
Life of this patent
Estimating the term…
Abstract
A routable operand and selectable operation processor multimedia extension unit is employed to stretch pixel bit images in a video system using an efficient, parallel technique. For a series of pixels in a row, a series of interpolation values are established, based on multiples of a reciprocal of a stretch factor. For each interpolation value, the integral portion is used to establish the appropriate two source pixels, and the fractional portion then provides weighting of those pixel values. The various source pixels and interpolation values are routed using the operand routing and operated upon using the vector selectable operations, yielding two destination pixels calculated in parallel.
Claims9
A method of generating a stretched set of destination pixels from a set of source pixels in a computer system, the method comprising the steps of:
- providing a vector processing unit with vector operand routing and multiple operations per instruction;
- generating a series of interpolation values consisting of multiples of the reciprocal of a stretch factor;
- routing two source pixels and two successive source pixels into two vector registers;
- simultaneously weighting two of the two source pixels or two successive source pixels;
- and
- simultaneously weighting a second two of the two source pixels or two successive source pixels and adding to the previously weighted source pixels yielding two destination pixels.
A computer system for calculating a stretched set of destination pixels from a set of source pixels, the system comprising:
- a vector processing unit with vector operand routing and multiple operations per instruction;
- means for generating a series of interpolation values consisting of multiples of the reciprocal of a stretch factor;
- means for routing two source pixels and two successive source pixels into two vector registers;
- means for simultaneously weighting two of the two source pixels or two successive source pixels;
- and
- means for simultaneously weighting a second two of the two source pixels or two successive source pixels and adding to the previously waited source pixels yielding two destination pixels.
A computer program product for controlling a vector processing unit, the program comprising:
- a computer readable medium;
- means on said computer readable medium for generating a series of interpolation values consisting of multiples of the reciprocal of a stretch factor;
- means for routing two source pixels and two successive source pixels into two vector registers;
- means for simultaneously weighting two of the two source pixels or two successive source pixels;
- and
- means for simultaneously weighting a second two of the two source pixels or two successive source pixels and adding to the previously waited source pixels yielding two destination pixels.
A system for generating a stretched set of destination pixels from a set of source pixels comprising:
- a processor;
- a multimedia extension unit coupled to the processor having operand routing and operation selection;
- a video system;
- a code segment for execution by said processor and said multimedia extension unit;
- said code segment including:
- code for providing a vector processing unit with vector operand routing and multiple operations per instruction;
- code for generating a series of interpolation values consisting of multiples of the reciprocal of a stretch factor;
- code for routing two source pixels and two successive source pixels into two vector registers;
- code for simultaneously weighting two of the two source pixels or two successive source pixels;
- and
- code for simultaneously weighting a second two of the two source pixels or two successive source pixels and adding to the previously weighted source pixels yielding two destination pixels.
Dependencies are inferred from the claim text.