Patent US5644758A successfully refreshed from Google Patents.
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
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 |