← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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:23
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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag