Rotated transform of an image using block transfers
AssigneeAdobe Systems Incorporated
InventorJacob Y. Stolin
Life of this patent
Estimating the term…
Abstract
A method and apparatus for processing a source raster representation of an image, where the source raster representation of the image has an orientation relative to the source raster. The method includes partitioning the source raster into blocks of pixels based on the orientation, and for each block of pixels, calculating a destination location in a destination raster for the block of pixels and transferring the block of pixels to the calculated destination location in the destination raster, the destination location being calculated from the orientation.
Claims26
A method of processing a source raster representation of an image, comprising:
- determining a maximum displacement for a pixel having a maximum displacement when moving from a source raster to a destination raster;
- determining a block width based on the maximum displacement that minimizes a number of calculations required to process a source raster representation;
- determining a block height based on the maximum displacement that minimizes a number of calculations required to process the source raster representation, the block height being different from the block width;
- partitioning the source raster into blocks of pixels based on the block width and the block height, each block having substantially an equal size;
- and
- for each block of pixels, calculating a destination location in a destination raster for the block of pixels and transferring the block of pixels to the calculated destination location in the destination raster.
A method of processing a source raster representation of an image, comprising:
- determining a maximum displacement for a pixel having a maximum displacement when moving from a source raster to a destination raster;
- determining a block size based on the maximum displacement that minimizes a number of calculations required to process a source raster representation;
- partitioning the source raster into blocks of pixels based on the block size, each block having substantially an equal size;
- for each block of pixels, calculating a destination location in a destination raster for the block of pixels and transferring the block of pixels to the calculated destination location in the destination raster;
- finding a gap pixel in the destination raster between two blocks of pixels copied from the source raster;
- calculating a source pixel location in the source raster corresponding to the gap pixel location;
- and
- determining a value for the gap pixel from a value of a corresponding source pixel.
A method of processing a source raster representation of an image, the method comprising:
- determining a maximum displacement for a pixel having a maximum displacement when moving from a source raster to a destination raster;
- identifying a subset of the pixels of a source raster representation;
- associating with each pixel in the subset of pixels one or more other pixels based on the maximum displacement, the subset of pixels not forming a square block, each pixel in the subset of pixels having substantially an equal number of associated pixels, such that a minimum number of calculations is required to process the source raster representation;
- calculating a destination location in a destination raster for each pixel in the subset of pixels;
- and
- transferring each pixel in the subset of pixels and each other associated pixel to relative locations in the destination raster based on the calculated destination location.
A computer program product, tangibly stored on a computer-readable medium, for processing a source raster representation of an image, the product comprising instructions operable to cause a programmable processor to:
- determine a maximum displacement for a pixel having a maximum displacement when moving from a source raster to a destination raster;
- determine a block width based on the maximum displacement that minimizes a number of calculations required to process a source raster representation;
- determine a block height based on the maximum displacement that minimizes a number of calculations required to process the source raster representation, the block height being different from the block width;
- partition the source raster into blocks of pixels based on the block width and the block height, each block having substantially an equal size;
- and
- for each block of pixels, calculate a destination location in a destination raster for the block of pixels and transfer the block of pixels to the calculated destination location in the destination raster.
A computer program product, tangibly stored on a computer-readable medium, for processing a source raster representation of an image, the product comprising instructions operable to cause a programmable processor to:
- determine a maximum displacement for a pixel having a maximum displacement when moving from a source raster to a destination raster;
- identify a subset of pixels of a source raster representation;
- associate with each pixel in the subset of pixels one or more other pixels based on the maximum displacement, the subset of pixels not forming a square block, each pixel in the subset of pixels having substantially an equal number of associated pixels, such that a minimum number of calculations is required to process the source raster representation;
- calculate a destination location in a destination raster for each pixel in the subset of pixels;
- and
- transfer each pixel in the subset of pixels and each other associated pixel to relative locations in the destination raster based on the calculated destination location.
A method of processing a source raster representation of an image, the method comprising:
- determining a displacement for a pixel having a maximum displacement when moving from a source raster to a destination raster;
- determining a block size based on the displacement, the block size having a block width and a block height, the block height being different from the block width;
- partitioning the source raster into blocks of pixels based on the block size, each block of the blocks of pixels having substantially an equal size;
- and
- for each block of pixels, calculating a destination location in the destination raster for the block of pixels and transferring the block of pixels to the calculated destination location in the destination raster.
A computer program product, tangibly stored on a computer-readable medium, for processing a source raster representation of an image, the product comprising instructions operable to cause a programmable processor to:
- determine a maximum displacement for a pixel having a maximum displacement when moving from a source raster to a destination raster;
- determine a block size based on the maximum displacement that minimizes a number of calculations required to process a source raster representation;
- partition the source raster into blocks of pixels based on the block size, each block having substantially an equal size;
- for each block of pixels, calculate a destination location in a destination raster for the block of pixels and transferring the block of pixels to the calculated destination location in the destination raster;
- find a gap pixel in the destination raster between two blocks of pixels copied from the source raster;
- calculate a source pixel location in the source raster corresponding to the gap pixel location;
- and
- determine a value for the gap pixel from a value of a corresponding source pixel.
Dependencies are inferred from the claim text.