Patent US6400851B1 successfully refreshed from Google Patents.
US6400851B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Rotating image data
Assignee: Microsoft Technology Licensing LLC
•
Filing: 1999-01-28
•
Granted: 2002-06-04
•
Expires: 2019-01-28
Abstract
Abstract Rotating image data ninety degrees is disclosed. In one embodiment of the invention, the computerized system includes an operating system providing a graphics interface library, and a graphics interface buffer maintained by the graphics interface library. The graphics interface buffer contains image data comprising a first screen image. The system also includes a graphics device driver that implements a method to rotate an area within the image data by dividing the area into a plurality of square pixel regions, rotating each of the squares, and writing the squares to an image data buffer comprising a display buffer maintained by the graphics device driver.
Inventors
- 👤 Yung-Ho Shih
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 15:36
CPC Classifications
G; G06; G06T; G06T3/00; G06T3/60; G06T3/602; G09; G09G; G09G5/00; G09G5/36; G09G5/39; G09G5/393; G09G2330/00; G09G2330/02; G09G2330/021; G09G2340/00; G09G2340/04; G09G2340/0492
Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
90 words
A method for rotating an area within image data, the method comprising: dividing the area into square regions of pixels based on a word size and a bits per pixel size, said square having a plurality of rows; rotating each row of each square region by expanding one or more bytes containing a plurality of pixel values for the row into an expanded row word; combining each expanded row word to provide a rotated square region; and translating the rotated square region to provide a rotated area of image data.
Claim 2
Independent Claim
90 words
A method for rotating an area within image data, the method comprising: dividing the area into square regions of pixels based on a word size and a bits per pixel size, said square having a plurality of rows; rotating each row of each square region by expanding one or more bytes containing a plurality of pixel values for the row into an expanded row word; combining each expanded row word to provide a rotated square region; and translating the rotated square region to provide a rotated area of image data.
Claim 3
Independent Claim
222 words
A method for a computer having a word size to rotate an area within image data, the method comprising: dividing the area into a square region of pixels, said pixels having a number of bits specifying a color, said square region having a plurality of rows, a size of a side of said square region being determined by the word size of the computer and the number of bits specifying the color; for each row in the square area executing the tasks of: expanding one or more bytes representing the row into a word by multiplying the one or more bytes by an expansion constant determined by the word size and the number of bits specifying the color, masking bits from the word by performing a logical AND of the word with a filter constant determined by the number of bits specifying the color, and left shifting the word by a number of places determined by the index of the row in the square and the number of bits specifying color and placing the result into one of a plurality of expansion rows; performing a logical OR of the plurality of expansion rows to produce a rotated square region of pixels; and performing a translation along an X and Y axis to place the rotated square region into a rotated image buffer.
Claim 4
Independent Claim
222 words
A method for a computer having a word size to rotate an area within image data, the method comprising: dividing the area into a square region of pixels, said pixels having a number of bits specifying a color, said square region having a plurality of rows, a size of a side of said square region being determined by the word size of the computer and the number of bits specifying the color; for each row in the square area executing the tasks of: expanding one or more bytes representing the row into a word by multiplying the one or more bytes by an expansion constant determined by the word size and the number of bits specifying the color, masking bits from the word by performing a logical AND of the word with a filter constant determined by the number of bits specifying the color, and left shifting the word by a number of places determined by the index of the row in the square and the number of bits specifying color and placing the result into one of a plurality of expansion rows; performing a logical OR of the plurality of expansion rows to produce a rotated square region of pixels; and performing a translation along an X and Y axis to place the rotated square region into a rotated image buffer.
Claim 5
Dependent Claim
14 words
The method of claim 2 , wherein the color is a gray scale level.
Claim 6
Dependent Claim
55 words
The method of claim 2 , wherein the number of bits specifying the color is two (2), the word size is thirty two (32) bits, the size of a side of the square region is four (4) pixels, the expansion constant is a hexadecimal value 0x41041, and the filter constant is a hexadecimal value 0x03030303.
Claim 7
Dependent Claim
39 words
The method of claim 2 , wherein the number of bits specifying the color is one (1), the word size is sixty four (64) bits, and the size of a side of the square region is eight (8) pixels.
Claim 8
Dependent Claim
38 words
The method of claim 2 , wherein the number of bits specifying the color is four (4), the word size is sixteen (16) bits, and the size of a side of the square region is two (2) pixels.
Claim 9
Dependent Claim
39 words
The method of claim 2 , wherein the number of bits specifying the color is four (4), the word size is sixty four (64) bits, and the size of a side of the square region is four (4) pixels.
Claim 10
Dependent Claim
60 words
The method of claim 2 , wherein the tasks performed for each row further comprises: setting a group of bits representing a color of a last pixel in the row to zero before expanding the row; and resetting a group of bits representing the color of the last pixel in the row to an original value after expanding the row.
Claim 11
Dependent Claim
97 words
A computer-readable medium having computer-executable instructions for a computer to perform a method comprising: dividing an area of image data into square regions of pixels based on a word size and a bits per pixel size, said square having a plurality of rows; rotating each row of each square region by expanding one or more bytes containing a plurality of pixel values into an expanded row word having one or more bytes; combining each expanded row word to provided a rotated square region; and translating the rotated square region to provide a rotated area of image data.
Claim 12
Dependent Claim
97 words
A computer-readable medium having computer-executable instructions for a computer to perform a method comprising: dividing an area of image data into square regions of pixels based on a word size and a bits per pixel size, said square having a plurality of rows; rotating each row of each square region by expanding one or more bytes containing a plurality of pixel values into an expanded row word having one or more bytes; combining each expanded row word to provided a rotated square region; and translating the rotated square region to provide a rotated area of image data.
Claim 13
Dependent Claim
233 words
A computer-readable medium having computer-executable instructions for a computer having a word size to perform a method for rotating an area of image data, the method comprising: dividing the area into a square region of pixels, said pixels having a number of bits specifying a color, said square having a plurality of rows, a size of a side of said square region being determined by the word size of the computer and the number of bits specifying the color; for each row in the square area executing the tasks of: expanding one or more bytes representing a row into a word by multiplying the value represented by the one or more bytes by an expansion constant determined by the word size and the number of bits specifying the color, masking bits in the word by performing a logical AND of the word with a filter constant determined by the number of bits specifying the color, and left shifting the word by a number of places determined by the index of the row in the square and the number of bits specifying color and placing the result into one of a plurality of expansion rows; performing a logical OR of the plurality of expansion rows to produce a rotated square region of pixels; and performing a translation along an X and Y axis to place the rotated square region into a rotated image buffer.
Claim 14
Dependent Claim
233 words
A computer-readable medium having computer-executable instructions for a computer having a word size to perform a method for rotating an area of image data, the method comprising: dividing the area into a square region of pixels, said pixels having a number of bits specifying a color, said square having a plurality of rows, a size of a side of said square region being determined by the word size of the computer and the number of bits specifying the color; for each row in the square area executing the tasks of: expanding one or more bytes representing a row into a word by multiplying the value represented by the one or more bytes by an expansion constant determined by the word size and the number of bits specifying the color, masking bits in the word by performing a logical AND of the word with a filter constant determined by the number of bits specifying the color, and left shifting the word by a number of places determined by the index of the row in the square and the number of bits specifying color and placing the result into one of a plurality of expansion rows; performing a logical OR of the plurality of expansion rows to produce a rotated square region of pixels; and performing a translation along an X and Y axis to place the rotated square region into a rotated image buffer.
Claim 15
Dependent Claim
16 words
The computer readable medium of claim 10 , wherein the color is a gray scale level.
Claim 16
Dependent Claim
57 words
The computer readable medium of claim 10 , wherein the number of bits specifying the color is two (2), the word size is thirty two (32) bits, the size of a side of the square region is four (4) pixels, the expansion constant is a hexadecimal value 0x41041, and the filter constant is a hexadecimal value 0x03030303.
Claim 17
Dependent Claim
41 words
The computer readable medium of claim 10 , wherein the number of bits specifying the color is one (1), the word size is sixty four (64) bits, and the size of a side of the square region is eight (8) pixels.
Claim 18
Dependent Claim
40 words
The computer readable medium of claim 10 , wherein the number of bits specifying the color is four (4), the word size is sixteen (16) bits, and the size of a side of the square region is two (2) pixels.
Claim 19
Dependent Claim
41 words
The computer readable medium of claim 10 , wherein the number of bits specifying the color is four (4), the word size is sixty four (64) bits, and the size of a side of the square region is four (4) pixels.
Claim 20
Dependent Claim
62 words
The computer readable medium of claim 10 , wherein the tasks performed for each row further comprises: setting a group of bits representing a color of a last pixel in the row to zero before expanding the row; and resetting a group of bits representing the color of the last pixel in the row to an original value after expanding the row.
References Cited (Backward Citations)
EP0216501A2
Cited
US4799173A
Cited
US5379127A
Cited
EP0677822A2
Cited
US5517587A
Cited
US5598181A
Cited
US5973661A
Cited
US5670982A
Cited
EP0744711A2
Cited
US5734875A
Cited
US5912995A
Cited
US6055326A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2005-06-03 | 2005-12-03 | 2006-06-04 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2009-06-03 | 2009-12-03 | 2010-06-04 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2013-06-03 | 2013-12-03 | 2014-06-04 | $7700.00 | Window Closed / Lapsed |