USRE38471EExpiredUtility

Method and apparatus for display image rotation

74
Assignee: APPLE COMPUTERPriority: Sep 27, 1996Filed: Dec 29, 2000Granted: Mar 23, 2004
Est. expirySep 27, 2016(expired)· nominal 20-yr term from priority
G09G 5/393G09G 2340/0492
74
PatentIndex Score
15
Cited by
7
References
17
Claims

Abstract

A method and an apparatus for rotating images on a computer system is disclosed. The system includes a processor for accessing an image frame buffer using a set of CPU addresses, a memory for storing the frame buffer, a controller for directing the pixel data of the frame buffer to a display device using a set of controller addresses. The two sets of addresses are not necessarily the same. In fact, numerous advantages could be had from manipulating those two sets of addresses resulting in image rotation operations for the display device.

Claims

exact text as granted — not AI-modified
We claim:  
     
       1. A computer display system including a processor and a display system, the display system having a memory, said display system comprising: 
       a display means for displaying image information to be arranged in a plurality of horizontal lines of pixel data; 
       a frame buffer containing the for storing pixel data of an image information, the frame buffer being stored in the memory in a manner that data of each of the plurality of horizontal lines including pixel data for the display means being stored in the memory resulting in the frame buffer occupying in a contiguous block in the a memory, and , the frame buffer further being accessible by the a processor using a processor address set of row and column addresses;  
       a controller means for establishingfor determining new row addresses of a controller address set as the column addresses of the processor address set, and establishing new column address of the controller address set as the row addresses of the processor address set;  
       the controller means being coupled to the display means for transferring adapted to transfer the pixel data of the frame buffer to the a display means using the new controller address set, the controller means setting each of the new row addresses of the controller address set as the difference between its current value and a maximum value of the new row addresses of the controller address set and providing the pixel data of the frame buffer to the display means while referencing both the new row addresses and the new column addresses of the controller address set in an ascending order.  
     
     
       2. The computer display system of  claim 1  wherein the maximum value of the new row addresses of the controller address set refers to the maximum row address where the pixel data displayable on the display means are stored in the memory. 
     
     
       3. The computer system of  claim 1  wherein A display system comprising: 
       
         a frame buffer for storing pixel data of an image in a contiguous block in a memory, the frame buffer being accessible by a processor using a processor address set of row and column addresses;  
       
       
         a controller for determining new row addresses of a controller address set as the column addresses of the processor address set, and new column addresses of the controller address set as the row addresses of the processor address set;  
       
         the controller adapted to transfer the pixel data of the frame buffer to a display using the new controller address set,  the controller means setssetting each of the new column addresses of the controller address set as the difference between its current value and a maximum value of the new column addresses of the controller address set and provides the pixel data of the frame buffer to the display means while referencing both the new row addresses and the new column addresses of the controller address set in an ascending order.  
     
     
       4. The computer display system of  claim 3  wherein the maximum value of the new column address of the controller address set refers to the maximum column address where the pixel data displayable on the display means are stored in the memory. 
     
     
       5. A method for rotating images for a computer system, the computer system including a processor, and a display system, the display system having and a memory, said method comprising the steps of: 
       displaying image information on display means arranged in a plurality of horizontal lines of pixel data; 
       storing pixel data of an image in a frame buffer in the memory, the frame buffer containing the image information , the frame buffer being stored in the memory in a manner such that data of each of the plurality of horizontal lines including pixel data for the display means are stored in the memory resulting in the frame buffer occupying a contiguous block in the memory and the frame buffer further being accessible by the processor using a processor address set of row and column addresses;  
       establishingdetermining new row addresses of a controller address set as the column addresses of the processor address set, and establishing new column addresses of the controller address set as the row addresses of the processor address set;  
       transferring the pixel data of from the frame buffer to the display means using the new controller address set, the transferring step setting each of the new row addresses of the controller address set as the difference between its current value and a maximum value of the new row addresses of the controller address set and providing the pixel data of from the frame buffer to the display means while referencing both the subtracted-from-maximum new row addresses and the new column addresses of the controller address set in an ascending order.  
     
     
       6. The method of  claim 5  wherein the maximum value of the new row addresses of the controller address set refers to the maximum row address where the pixel data displayable on the display means are stored in the memory. 
     
     
       7. The method of  claim 5  wherein the transferring step further includes A method for rotating images for a computer system, the computer system including a processor, a display and a memory, said method comprising the steps of: 
       
         storing pixel data of an image in a frame buffer, the frame buffer being stored in a contiguous block in the memory and the frame buffer being accessible by the processor using a processor address set of row and column addresses;  
       
       
         determining new row addresses of a controller address set as the column addresses of the processor address set, and new column addresses of the controller address set as the row addresses of the processor address set;  
       
         transferring the pixel data from the frame buffer to the display using the new controller address set, the transferring step  setting each of the new column addresses of the controller address set as the difference between its current value and a maximum value of the new column addresses of the controller address set and providing the pixel data offrom the frame buffer to the display means while referencing both the new row addresses and the subtracted-from-maximum new column addresses of the control address set in an ascending order.  
     
     
       8. The method of  claim 7  wherein the maximum value of the new column addresses of the controller address set refers to the maximum column address where the pixel data displayable on the display means are stored in the memory. 
     
     
       9. A graphics controller for rotating an image comprising: 
       
         an interface to receive a request for a pixel of the image from a processor, the pixel having a row address R and a column address C;  
       
       
         an interface to retrieve a new pixel instead of the requested pixel from a frame buffer, the new pixel having a row address X and a column address Y, wherein:  
       
         a )  in response to the image being rotated clockwise, X is column address C of the requested pixel, and Y is the difference between row address R of the requested pixel and a maximum row address;    
         b )  in response to the image being rotated counterclockwise, X is the difference between column address C of the requested pixel and a maximum column address, and Y is row address R of the requested pixel; and    
       
         an interface to output the new pixel to a display for display at row address X and column address Y. 
       
     
     
       10. An apparatus for manipulating a processor's addressing of an image from a frame buffer so that the image is rotated  90  degrees counter clockwise without requiring the processor to spend its cycles on address transformation operations, the apparatus comprising: 
       
         a display interface;  
       
       
         a frame buffer interface;  
       
       
         a controller to establish new row addresses of a controller address set as the column addresses of a processor address set, and to establish new column addresses of the controller address set as the row addresses of the processor address set;  
       
       
         the controller being coupled to the display interface and the frame buffer interface to transfer the pixel data of a frame buffer to a display using the new controller address set, the controller to set each of the new row addresses of the controller address set as the difference between its current value and the maximum value of the new row addresses of the controller address set and to provide pixel data of the frame buffer to the display while referencing both the new row addresses and the new column addresses of the controller address set in ascending order. 
       
     
     
       11. The frame buffer interface of  claim 10  wherein the frame buffer for which the frame buffer interface is transferring pixel data is stored in a memory in a manner such that data of each of the plurality of horizontal lines including pixel data to be displayed on the display is stored in the memory resulting in the frame buffer occupying a contiguous block in the memory and the frame buffer is further accessible by a processor using a processor address set and row and column addresses. 
     
     
       12. An apparatus for manipulating a processor's addressing of an image from a frame buffer so that the image is rotated  90  degrees clockwise without requiring the processor to spend its cycles on address transformation operations, the apparatus comprising: 
       
         a display interface;  
       
       
         a frame buffer interface;  
       
       
         a controller to establish new row addresses of a controller address set as the column addresses of a processor address set, and to establish new column addresses of the controller address set as the row addresses of the processor address set;  
       
       
         the controller being coupled to the display interface and the frame buffer interface to transfer the pixel data of a frame buffer to a display using the new controller address set, the controller to set each of the new column addresses of the controller address set as the difference between its current value and the maximum value of the new column addresses of the controller address set and to provide pixel data of the frame buffer to the display while referencing both the new row addresses and the new column addresses of the controller address set in ascending order. 
       
     
     
       13. The frame buffer interface of  claim 12  wherein the frame buffer for which the frame buffer interface is transferring pixel data is stored in a memory in a manner such that data of each of the plurality of horizontal lines including pixel data to be displayed on the display is stored in the memory resulting in the frame buffer occupying a contiguous block in the memory and the frame buffer is further accessible by a processor using a processor address set and row and column addresses. 
     
     
       14. A system for rotating an image comprising: 
       
         a processor to request a pixel of the image, the pixel having a row address R and a column address C;  
       
       
         a graphics controller to retrieve a new pixel instead of the requested pixel from a frame buffer, the new pixel having a row address X and a column address Y, wherein:  
       
         a )  in response to the image being rotated clockwise, X is column address C of the requested pixel, and Y is the difference between row address R of the requested pixel and a maximum row address;    
         b )  in response to the image being rotated counterclockwise, X is the difference between column address C of the requested pixel and a maximum column address, and Y is row address R of the requested pixel; and    
       
         wherein the graphics controller instructs a display to display the new pixel at row address X and column address Y. 
       
     
     
       15. A method of rotating an image, the image comprising a plurality of pixels, each pixel having a row address R and a column address C, the method comprising: 
       
         receiving a request for a pixel of the image, the pixel having a row address R and a column address C;  
       
       
         providing a new pixel having a new row address X and a new column address Y wherein:  
       
         a )  in response to the image being rotated clockwise, X is column address C of the requested pixel, and Y is the difference between row address R of the requested pixel and a maximum row address;    
         b )  in response to the image being rotated counterclockwise, X is the difference between column address C of the requested pixel and a maximum column address, and Y is row address R of the requested pixel; and    
       
         repeating the receiving and providing steps for each pixel of the image. 
       
     
     
       16. A method for rotating images  90  degrees counter clockwise comprising the steps of: 
       
         establishing new row addresses of a controller address set as the column addresses for a processor address set, and establishing new column addresses of the controller address set as the row addresses for the processor address set; and  
       
       
         setting each of the new row addresses of the controller address set as the difference between its current value and the maximum value of the new row addresses of the controller address set. 
       
     
     
       17. A method for rotating images  90  degrees clockwise comprising the steps of: 
       
         establishing new row addresses of a controller address set as the column addresses for a processor address set, and establishing new column addresses of the controller address set as the row addresses for the processor address set; and  
       
       
         setting each of the new column addresses of the controller address set as the difference between its current value and the maximum value of the new column addresses of the controller address set.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.