Patent US5644758A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5644758A Expired / Lapsed US ⏱️ 0.0 years remaining

Bitmap block transfer image conversion

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1994-12-13
•
Granted: 1997-07-01
•
Expires: 2014-12-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The speed of bitmap block transfers involving image transformations between source and destination bitmaps is increased by forming a mapping array with entries corresponding one-to-one to elements of destination bitmap scan lines. A preprocessor fills the entries of the mapping array with indices of elements in a source scan line that map according to the image transformation to the elements of a destination scan line that correspond with the array entries. A block transfer compiler can then generate code to perform the transfer which uses the mapping array in an indexed look-up operation to determine the source element to transfer to each element of each scan line of the destination bitmap.

Inventors

  • 👤 Stuart Raymond Patrick
  • 👤 Amit Chatterjee

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 11:08
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/36; G09G5/39; G09G5/393

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 110 words
A method of block transfer image conversion, comprising: storing a bitmap of a source image in an addressable memory, the bitmap having a plurality of scan lines, each scan line having a plurality of elements; forming an array of indices to elements of the source image bitmap which correspond to a plurality of elements in a first scan line of a destination image bitmap; and for each of a plurality of scan lines of the destination image bitmap, copying a plurality of elements of that scan line of the destination image bitmap from elements in a corresponding scan line of the source image bitmap at the indices of the array.
Claim 2
Independent Claim 110 words
A method of block transfer image conversion, comprising: storing a bitmap of a source image in an addressable memory, the bitmap having a plurality of scan lines, each scan line having a plurality of elements; forming an array of indices to elements of the source image bitmap which correspond to a plurality of elements in a first scan line of a destination image bitmap; and for each of a plurality of scan lines of the destination image bitmap, copying a plurality of elements of that scan line of the destination image bitmap from elements in a corresponding scan line of the source image bitmap at the indices of the array.
Claim 3
Dependent Claim 44 words
The method of claim 1 wherein the indices of the array are to a plurality of pixels of the source image bitmap which correspond to a plurality of pixels in the first scan line of the destination image bitmap according to a stretch transformation.
Claim 4
Dependent Claim 44 words
The method of claim 1 wherein the indices of the array are to a plurality of pixels of the source image bitmap which correspond to a plurality of pixels in the first scan line of the destination image bitmap according to a clipping transformation.
Claim 5
Dependent Claim 46 words
The method of claim 1 wherein the indices of the array are to a plurality of pixels of the source image bitmap which correspond to a plurality of pixels in the first scan line of the destination image bitmap according to a stretch transformation with clipping.
Claim 6
Dependent Claim 42 words
The method of claim 1 wherein the indices of the array are to a plurality of color elements of the source image bitmap which correspond to a plurality of color elements in a first scan line according to a color model conversion.
Claim 7
Dependent Claim 76 words
The method of claim 1 wherein the step of forming the array of indices comprises for each of the elements in the first scan line of the destination image bitmap: determining which element of the source image bitmap corresponds to the respective destination image bitmap element according to an image conversion; and storing an index to the corresponding source image bitmap element at an entry of the array associated with the respective destination image bitmap element.
Claim 8
Dependent Claim 32 words
The method of claim 6 wherein the elements of the source bitmap image and the elements of the first scan line of the destination image bitmap correspond according to a stretch ratio.
Claim 9
Dependent Claim 29 words
The method of claim 6 comprising: performing a digital differential analysis conversion to determine which element of the source image bitmap corresponds to the respective destination image bitmap element.
Claim 10
Dependent Claim 31 words
The method of claim 6 comprising: performing a digital differential analysis conversion with clipping to determine which element of the source image bitmap corresponds to the respective destination image bitmap element.
Claim 11
Dependent Claim 35 words
The method of claim 6 comprising: performing a conversion imposing a different ordering of color components to determine which color component of the source image bitmap corresponds to the respective destination image bitmap color component.
Claim 12
Dependent Claim 17 words
A computer-readable medium for storing a computer program comprising instructions for executing the method of claim 1.
Claim 13
Dependent Claim 11 words
A computer system in accordance with the method of claim 1.
Claim 14
Independent Claim 166 words
A method of block transfer image conversion, comprising: storing a bitmap of a source image in an addressable memory, the bitmap having a plurality of scan lines, each scan line having a plurality of elements; forming a destination image bitmap having a plurality of scan lines, each scan line having a plurality of elements; determining an order for copying a plurality of elements of a scan line of the source image bitmap to consecutive elements of a corresponding scan line of the destination image bitmap according to a desired image conversion; forming an array having a plurality of array elements; storing indices to the plural source image scan line elements according to the order into sequential array elements; and for each of a plurality of scan lines of the destination image bitmap, copying the elements from a corresponding scan line of the source image bitmap at the indices stored in the array elements in sequence into consecutive elements of the respective destination image bitmap scan line.
Claim 15
Independent Claim 166 words
A method of block transfer image conversion, comprising: storing a bitmap of a source image in an addressable memory, the bitmap having a plurality of scan lines, each scan line having a plurality of elements; forming a destination image bitmap having a plurality of scan lines, each scan line having a plurality of elements; determining an order for copying a plurality of elements of a scan line of the source image bitmap to consecutive elements of a corresponding scan line of the destination image bitmap according to a desired image conversion; forming an array having a plurality of array elements; storing indices to the plural source image scan line elements according to the order into sequential array elements; and for each of a plurality of scan lines of the destination image bitmap, copying the elements from a corresponding scan line of the source image bitmap at the indices stored in the array elements in sequence into consecutive elements of the respective destination image bitmap scan line.
Claim 16
Dependent Claim 111 words
The method of claim 13 comprising: providing a source element pointer to indicate a first pixel of a representative source image bitmap scan line; determining a ratio equal to a number of pixels per source image bitmap scan line to a number of pixels per destination image scan line; initializing an error term; repeating for each of a plurality of the array elements in sequence: rounding the error term to a whole number to yield an index to a source pixel; storing the index into the array element indicated by the array element pointer; accumulating the error term plus the ratio; and advancing the array element pointer by one array element.
Claim 17
Dependent Claim 56 words
The method of claim 14 comprising: determining an index of a first of consecutive pixels in the representative destination image bitmap scan line to be copied from the source image bitmap; multiplying the index of the first of the consecutive pixels by the ratio to form a product; and initializing the error term to the product.
Claim 18
Dependent Claim 212 words
A bitmap block transfer processor for image conversion, comprising: a source image memory having a source image bitmap stored therein, the source image bitmap having a plurality of scan lines, each scan line having a plurality of elements; a destination image memory for storing a destination image bitmap, the destination image bitmap having a plurality of scan lines, each scan line having a plurality of elements; an array memory for storing an array having a plurality of array elements; a graphics engine having access to the memories, the engine determining an order in which to copy a plurality of elements of a scan line of the source image bitmap to a plurality of consecutive elements of a scan line of the destination image bitmap, and storing indices to the plural source image scan line elements into sequential array elements according to the order; the engine, for each of a plurality of scan lines of the destination image bitmap, copying the elements from a corresponding scan line of the source image bitmap at the indices stored in the array elements in sequence into consecutive elements of the respective destination image bitmap scan line; a display driver in communication with the graphics engine for forming a visually perceptible image using the destination image bitmap.
Claim 19
Dependent Claim 212 words
A bitmap block transfer processor for image conversion, comprising: a source image memory having a source image bitmap stored therein, the source image bitmap having a plurality of scan lines, each scan line having a plurality of elements; a destination image memory for storing a destination image bitmap, the destination image bitmap having a plurality of scan lines, each scan line having a plurality of elements; an array memory for storing an array having a plurality of array elements; a graphics engine having access to the memories, the engine determining an order in which to copy a plurality of elements of a scan line of the source image bitmap to a plurality of consecutive elements of a scan line of the destination image bitmap, and storing indices to the plural source image scan line elements into sequential array elements according to the order; the engine, for each of a plurality of scan lines of the destination image bitmap, copying the elements from a corresponding scan line of the source image bitmap at the indices stored in the array elements in sequence into consecutive elements of the respective destination image bitmap scan line; a display driver in communication with the graphics engine for forming a visually perceptible image using the destination image bitmap.

References Cited (Backward Citations)

US4933878A Cited
US5532716A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-06-30 2000-12-30 2001-07-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-06-30 2004-12-30 2005-07-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-06-30 2008-12-30 2009-07-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag