WO1991000586A1 - Display output rotation - Google Patents

Display output rotation Download PDF

Info

Publication number
WO1991000586A1
WO1991000586A1 PCT/US1990/002978 US9002978W WO9100586A1 WO 1991000586 A1 WO1991000586 A1 WO 1991000586A1 US 9002978 W US9002978 W US 9002978W WO 9100586 A1 WO9100586 A1 WO 9100586A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
screen
pixel
reoriented
rotated
Prior art date
Application number
PCT/US1990/002978
Other languages
French (fr)
Inventor
Jeffrey C. Hawkins
Timothy L. Wiegman
Original Assignee
Grid Systems Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Grid Systems Corporation filed Critical Grid Systems Corporation
Publication of WO1991000586A1 publication Critical patent/WO1991000586A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • G06T3/606Rotation by memory addressing or mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/161Indexing scheme relating to constructional details of the monitor
    • G06F2200/1614Image rotation following screen orientation, e.g. switching from landscape to portrait mode

Definitions

  • the monitor is a standard hardware unit that includes a screen and screen scanning circuitry.
  • the screen is divided into a matrix of rows and columns of elemental image dots or pixels that form an image on the screen.
  • the pixel images are formed seguentially row by row until the entire screen has been scanned and an the image is formed. Although each pixel is activated only once per scan, the scans are repeated so rapidly that a stable image appears. Generally, the screen is scanned starting at the top right hand corner.
  • the monitor is supplied pixel data from a video memory and the is controlled by a dedicated video controller.
  • the pixel data in the memory is stored at memory location addresses having a one-to-one correspondence with the screen coordinates of the pixel locations.
  • the keyboard has been the most utilized interface for entering data and controlling the computer. This configuration has led to a fixed orientation between the monitor and the user that has allowed the standard scan system utilized to be effective.
  • the present invention permits the rotation of a monitor screen as reguired for particular applications while maintaining a constant graphics display from a fixed viewpoint.
  • the system may operate with a standard monitor and video controller and thus facilitates compatibility with existing hardware and software.
  • the scan origin will no longer be in the same position relative to an external viewpoint. However, from a users point of view, the origin of a rectangular array and the positions of characters on the rotated screen will still be referenced from a logical origin which is at the same corner as the actual scan pattern origin of the unrotated screen.
  • a rectangular screen segment on the unrotated screen has an actual height equal to the number of horizontal pixel scan lines required to display the segment and an actual width s»qual to the number vertical pixel column positions required to form the actual image. If the screen is rotated, the logical height and width of the reoriented rectangular image will not necessarily correspond to the number rows and columns required to form the reoriented image.
  • the present invention transforms the logical coordinates dimensions of a display defined relative to the logical origin of a rotated screen to actual coordinates and dimensions relative to the actual scan origin of the screen so that the user does not need to compensate for rotation of screen. These actual coordinates and dimensions are provided to application software so that the rotation of the screen is transparent to the application software.
  • the pixel data forming a rectangular bit-mapped display is rearranged so that the display image appears constant when displayed on a rotated screen.
  • bit-mapped character images in a font stored in memory are reoriented to compensate for rotation of the screen so that characters are displayed correctly when the screen is rotated.
  • the screen display includes rectangular segments, or windows, the window boundaries are rotated and translated to form a reoriented window that compensates for the rotation of the screen. If a section of the reoriented screen segment does not fit on the screen then that section is clipped and not displayed.
  • FIG. 1 is a block diagram of a standard video display system
  • Fig. 2 is a schematic diagram illustrating the screen scan pattern
  • Fig. 3 is a perspective view of a novel hand-held computer that employs the present invention
  • Fig. 4 are schematic views of different orientations of the screen of the hand-held computer depicted in Fig. 3;
  • Fig. 5 is a flow chart illustrating the window reorientation procedure
  • Fig. 6 is a schematic diagram illustrating the reorientation of a window display
  • Fig. 7 is a flow chart illustrating the bit mapped image reorientation procedure
  • Fig. 8A-8B are schematic diagrams illustrating the reorientation of a bit mapped image
  • Figs. 9A and 9B depict the address space of the imag data for the unrotated and reoriented images
  • Fig. 10 is a flow chart illustrating the data reordering procedure
  • Figs. 11A-11D are schematic diagrams depicting reordered data
  • Figs. 12A and B are schematic diagrams illustrating the unrotated and rotated font storage formats.
  • Figs. 13 A and B are flow charts illustrating the font reorientation procedure.
  • host processor 10 transfers the image data specifying the image to be displayed to a display memory 12.
  • a video display controller 14 transfers display data to a monitor 16, having a screen 18, and generates control signals to control the display scan operation of the monitor 16.
  • Program and other data is stored in a system memory 19.
  • the screen 18 is depicted in more detail in Fig. 2.
  • the screen is organized into a matrix of pixel locations 20. Each pixel location is uniquely identified by an x-coordinate identifying the horizontal scan row 22 and a y-coordinate identifying the pixel column position 24 that includes the pixel.
  • To form a simple monochromatic image the screen is scanned one row at time and the pixel location is either activated to form a black dot or not activated to form a white dot. Each row is scanned from right to left starting from the row at the top of the screen. When one scan is finished the next scan is started again from the actual scan origin 25, i.e., the point having the lowest value of x and y.
  • Fig. 3 depicts a novel hand held computer that is compatible with office type personal computers but includes an interface that allows data and commands to be entered by writing with a pen 30 on the screen 18.
  • the pen 30 is tethered to one side of the computer by a wire 32.
  • the computer is especially useful for entering data while standing up.
  • the invention is implemented as reorientation software routines 19a stored in the system memory 19s. Depending on the nature of the display and particular application, it may be desirable to present the display in a portrait 40 or landscape 42 orientation as depicted in Fig. 4.
  • FIG. 6A the screen is shown in its unrotated orientation with the actual screen origin 25 positioned at the upper right hand corner of the screen 18.
  • a first window 62 has its actual origin 64, i.e., the pixel position in the imag having the lowest values of the actual x and y coordinates and identifying the first pixel position in the scan pattern that includes a pixel in the image, at coordinates x a ,y a with its actual height consisting of NR rows of pixels and its actual width consisting of NC column pixel positions in each row.
  • Fig. 6B depicts a reoriented screen 18R that has bee rotated counterclockwise 90° (rotation east) and a reoriented first window 64R having dimensions changes and screen location changes to compensate for the rotation of the screen.
  • the actual screen scan origin 25 of the rotated screen 18R is at the bottom right hand corner of the rotated screen 18R.
  • the pixel positions in each row are scanned from bottom to top and the rows are sequentially scanned from the left side of the reoriented screen 18R to the left side.
  • a reoriented window 62R has a logical origin 62L measured relative to the upper left-land corner of the rotated screen 18R. NC column positions in NR rows, offset relative to the actual origin 62A reoriented window 18R, are allocated to the reoriented window 18R.
  • the dimensions of the screen 18 and window 62 may be such that the entire window will not fit on the screen when reoriented.
  • the data that would normally be displayed in the section off the screen is not included in the display and the reoriented window 62R is clipped.
  • a procedure for reorienting the windows 60 is depicted.
  • the pen contact overlay and screen orientations are set according to the current screen orientation. If the screen is rotated east or west the window dimensions, NR and NC, are swapped so that the reoriented window 62R is formed of NR column pixel positions in NC scan rows. The procedure then loops through each window in the list and determines whether the window must be clipped. If so, the dimensions are swapped and the necessary clipped data is not displayed. The fonts are then reoriented as described below.
  • FIG. 8A the screen is in an unrotated position with the screen origin 60 at the top right-hand corner.
  • a rectangular bit-mapped image 78 has logical origin coordinates (x a/ y a ) 79 indicating the displacement from the screen origin 25, an actual width (W a ) of NC pixel column positions and an actual height (H a ) of NR rows.
  • the screen has an actual width (SW a ) of M columns ' and an actual height (SH a ) of N rows.
  • Fig. 8B the screen is rotated 90° counterclockwise (orient east) .
  • the actual scan origin 25 of the rotated screen 18R is located at the lower left-hand corner of the rotated screen.
  • the logical origin 79L of the rotated display 78R is displaced from the upper left-hand corner of the rotated screen 18R.
  • the actual origin 79A of the rotated display 78R is located at the lower left-hand corner of the rotated display 78R.
  • the logical width and height of the rotated display 78R correspond to the number of columns and rows in the scan pattern required to form the rotated image 78R.
  • step D the coordinates of the actual origin (x a/ y a ) 79A and the actual height (H a ) and width (W a ) are assigned the values listed in step D.
  • the values of the actual origin and height and width for the cases of a rotation west or east are listed in steps E and F.
  • the calculation of the bytes per line of step G will be described with reference to Figs. 9A and B.
  • Figs. 9A and 9B illustrate the allocation of memory to store the bit-mapped images depicted in Figs. 8A and 8B respectively.
  • Fig. 9A it is assumed that the number of rows in the bit-mapped image (NR) is 10 and the number of columns (NC) is 6.
  • the lowest address corresponds to the actual origin 79 of the unrotated display 78 and the row and column addresses of the pixel data are offset from the lowest address.
  • each row word includes two bytes of data and 20 bytes of memory are required to store the pixel data of the unrotated image.
  • Fig. 9B the lowest address corresponds to the actual origin 79A of the rotated image 78R.
  • the number of rows is now equal to NC and the number of columns is NR.
  • the data in each row in filled to the nearest word boundary in the display memory 12. Because of the reorientation of the image, the column data of the unrotated image 78 is rewritten as row data of the reoriented image 78R. Only 12 bytes of memory are required to store the rotated imag because of better alignment of the row data to the word boundaries.
  • step G of Fig. 7 for an east or west orientation requires a determination of the number of words required to store the column pixel data of the unrotated image.
  • Figs. 11A- lld depict the screen 18 and actual scan origin 25 for an unrotated, rotated east, rotated west, and rotated south screen respectively.
  • Fig. 10 the screen orientation is determined and a temporary buffer is allocated for the display data.
  • the procedure for determining the starting address and allocation of memory has been described above with reference to Fig. 7.
  • the data in each column of the unrotated image data is reverse-ordered and written to the corresponding row in the temporary buffer.
  • the column numbers of the rotated image data are reverse-ordered and then each column is written to the corresponding row of the temporary buffer.
  • the row numbers of the unrotated image data are reverse ordered and each row is written to the corresponding row of the temporary buffer.
  • Figs. 12A and B The font format is depicted in Figs. 12A and B.
  • a font header encodes information, including orientation information, about the font characters.
  • the characters are a bit-mapped images of standard height but varying widths.
  • the beginning address of each character image is determined from a bit offset field 40 and the width of each character is determined from a character width field 42.
  • the character image bit are stored in character fields 44. As illustrated with reference to Fig.
  • Fig. 13A A temporary buffer is allocated and the font is rotated as required.
  • the orientation byte in the header is changed to reflect the orientation.
  • Fig. 13B the font data is copied into the temporary buffer the remainder of the buffer is initialized to 0.
  • the character width and offset 42 and 44 is copied to the buffer.
  • the character bit-mapped display is the rotated as described above and the width, offset, and other indices are updated. The procedure loops until all the characters in the font have been rotated.

Abstract

A system for reorienting stored images to be displayed on a screen (18) having a fixed scan pattern originating at one corner of the screen (18) to compensate for rotating the screen includes means (19a) for determining a new scan origin for the image and for reordering the stored image data to compensate for the rotation of the screen (18).

Description

DISPLAY OUTPUT ROTATION
BACKGROUND OF THE INVENTION Personal computers have been use in offices for a number of years. Advances in technology have allowed the creation of portable laptop computers that perform all the functions of the larger office models.
To date these computers include a monitor that displays texts and graphics generated by the computer. The monitor is a standard hardware unit that includes a screen and screen scanning circuitry. The screen is divided into a matrix of rows and columns of elemental image dots or pixels that form an image on the screen. The pixel images are formed seguentially row by row until the entire screen has been scanned and an the image is formed. Although each pixel is activated only once per scan, the scans are repeated so rapidly that a stable image appears. Generally, the screen is scanned starting at the top right hand corner. The monitor is supplied pixel data from a video memory and the is controlled by a dedicated video controller. The pixel data in the memory is stored at memory location addresses having a one-to-one correspondence with the screen coordinates of the pixel locations.
To date, the keyboard has been the most utilized interface for entering data and controlling the computer. This configuration has led to a fixed orientation between the monitor and the user that has allowed the standard scan system utilized to be effective.
However, as new uses for the computer are developed more versatile display systems will be reguired.
SUMMARY OF THE INVENTION
The present invention permits the rotation of a monitor screen as reguired for particular applications while maintaining a constant graphics display from a fixed viewpoint. The system may operate with a standard monitor and video controller and thus facilitates compatibility with existing hardware and software.
If the screen is rotated then the scan origin will no longer be in the same position relative to an external viewpoint. However, from a users point of view, the origin of a rectangular array and the positions of characters on the rotated screen will still be referenced from a logical origin which is at the same corner as the actual scan pattern origin of the unrotated screen.
Further, a rectangular screen segment on the unrotated screen has an actual height equal to the number of horizontal pixel scan lines required to display the segment and an actual width s»qual to the number vertical pixel column positions required to form the actual image. If the screen is rotated, the logical height and width of the reoriented rectangular image will not necessarily correspond to the number rows and columns required to form the reoriented image. The present invention transforms the logical coordinates dimensions of a display defined relative to the logical origin of a rotated screen to actual coordinates and dimensions relative to the actual scan origin of the screen so that the user does not need to compensate for rotation of screen. These actual coordinates and dimensions are provided to application software so that the rotation of the screen is transparent to the application software.
According to one aspect of the invention, the pixel data forming a rectangular bit-mapped display is rearranged so that the display image appears constant when displayed on a rotated screen.
According to a further aspect of the invention, the bit-mapped character images in a font stored in memory are reoriented to compensate for rotation of the screen so that characters are displayed correctly when the screen is rotated. According to another aspect of the invention, if the screen display includes rectangular segments, or windows, the window boundaries are rotated and translated to form a reoriented window that compensates for the rotation of the screen. If a section of the reoriented screen segment does not fit on the screen then that section is clipped and not displayed.
Other advantages and features of the invention will be apparent in view of the appended figures and following detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a standard video display system;
Fig. 2 is a schematic diagram illustrating the screen scan pattern;
Fig. 3 is a perspective view of a novel hand-held computer that employs the present invention; Fig. 4 are schematic views of different orientations of the screen of the hand-held computer depicted in Fig. 3;
Fig. 5 is a flow chart illustrating the window reorientation procedure;
Fig. 6 is a schematic diagram illustrating the reorientation of a window display;
Fig. 7 is a flow chart illustrating the bit mapped image reorientation procedure;
Fig. 8A-8B are schematic diagrams illustrating the reorientation of a bit mapped image; Figs. 9A and 9B depict the address space of the imag data for the unrotated and reoriented images;
Fig. 10 is a flow chart illustrating the data reordering procedure;
Figs. 11A-11D are schematic diagrams depicting reordered data;
Figs. 12A and B are schematic diagrams illustrating the unrotated and rotated font storage formats; and
Figs. 13 A and B are flow charts illustrating the font reorientation procedure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The standard display system will now be briefly described with reference to Figs. 1 and 2 to facilitate the following description of the preferred embodiments. In Fig. 1 host processor 10 transfers the image data specifying the image to be displayed to a display memory 12. A video display controller 14 transfers display data to a monitor 16, having a screen 18, and generates control signals to control the display scan operation of the monitor 16. Program and other data is stored in a system memory 19.
The screen 18 is depicted in more detail in Fig. 2. The screen is organized into a matrix of pixel locations 20. Each pixel location is uniquely identified by an x-coordinate identifying the horizontal scan row 22 and a y-coordinate identifying the pixel column position 24 that includes the pixel. To form a simple monochromatic image the screen is scanned one row at time and the pixel location is either activated to form a black dot or not activated to form a white dot. Each row is scanned from right to left starting from the row at the top of the screen. When one scan is finished the next scan is started again from the actual scan origin 25, i.e., the point having the lowest value of x and y.
There is a direct mapping between the address space of the display memory 12 and the pixel locations of the screen 18. For the monochromatic display the image data consists of one bit for each pixel. Thus, it is possible to describe the image in terms of the pixel locations on the screen 18 or the address space of display memory 12.
Fig. 3 depicts a novel hand held computer that is compatible with office type personal computers but includes an interface that allows data and commands to be entered by writing with a pen 30 on the screen 18. The pen 30 is tethered to one side of the computer by a wire 32. The computer is especially useful for entering data while standing up. In the preferred embodiment the invention is implemented as reorientation software routines 19a stored in the system memory 19s. Depending on the nature of the display and particular application, it may be desirable to present the display in a portrait 40 or landscape 42 orientation as depicted in Fig. 4. Further, it is more convenient for a right-handed person to have the pen 30 tethered on the right side of the computer and for a left-handed person to have the pen 30 tethered on the right side of the computer. When the screen is rotated the angle of the rotation is provided to the system through the user interface. For each orientation of the screen the origin 25 of the scan pattern is fixed to a particular physical point of the screen as illustrated in Fig. 4. Thus, if the image is reoriented to compensate for the rotation of the screen it must be changed to compensate for the shifting of the screen origin relative to the reoriented image.
Many application programs divide the display into screen segments, or windows, and simultaneously display different images in the windows. The window reorientation operation to compensate for screen rotation will now be described with reference to Figs. 5 and 6A and B.
In Fig. 6A, the screen is shown in its unrotated orientation with the actual screen origin 25 positioned at the upper right hand corner of the screen 18. A first window 62 has its actual origin 64, i.e., the pixel position in the imag having the lowest values of the actual x and y coordinates and identifying the first pixel position in the scan pattern that includes a pixel in the image, at coordinates xa,ya with its actual height consisting of NR rows of pixels and its actual width consisting of NC column pixel positions in each row. Fig. 6B depicts a reoriented screen 18R that has bee rotated counterclockwise 90° (rotation east) and a reoriented first window 64R having dimensions changes and screen location changes to compensate for the rotation of the screen.
The actual screen scan origin 25 of the rotated screen 18R is at the bottom right hand corner of the rotated screen 18R. The pixel positions in each row are scanned from bottom to top and the rows are sequentially scanned from the left side of the reoriented screen 18R to the left side. A reoriented window 62R has a logical origin 62L measured relative to the upper left-land corner of the rotated screen 18R. NC column positions in NR rows, offset relative to the actual origin 62A reoriented window 18R, are allocated to the reoriented window 18R.
As depicted in Fig. 6B, the dimensions of the screen 18 and window 62 may be such that the entire window will not fit on the screen when reoriented. The data that would normally be displayed in the section off the screen is not included in the display and the reoriented window 62R is clipped.
Referring now to Fig. 5, a procedure for reorienting the windows 60 is depicted. First, the pen contact overlay and screen orientations are set according to the current screen orientation. If the screen is rotated east or west the window dimensions, NR and NC, are swapped so that the reoriented window 62R is formed of NR column pixel positions in NC scan rows. The procedure then loops through each window in the list and determines whether the window must be clipped. If so, the dimensions are swapped and the necessary clipped data is not displayed. The fonts are then reoriented as described below.
If the screen is turned upside down (rotated south by 180°) then the dimension swap and clipping steps are not required. The windows dimensions need not be changed. The reorientation of a bit-mapped image will now be described with reference to the flow chart of Fig. 7 and Figs. 8A-8B. In Fig. 8A the screen is in an unrotated position with the screen origin 60 at the top right-hand corner. A rectangular bit-mapped image 78 has logical origin coordinates (xa/ya) 79 indicating the displacement from the screen origin 25, an actual width (Wa) of NC pixel column positions and an actual height (Ha) of NR rows. The screen has an actual width (SWa) of M columns' and an actual height (SHa) of N rows.
In Fig. 8B the screen is rotated 90° counterclockwise (orient east) . The actual scan origin 25 of the rotated screen 18R is located at the lower left-hand corner of the rotated screen. However, the logical origin 79L of the rotated display 78R is displaced from the upper left-hand corner of the rotated screen 18R. The actual origin 79A of the rotated display 78R is located at the lower left-hand corner of the rotated display 78R. The logical width and height of the rotated display 78R correspond to the number of columns and rows in the scan pattern required to form the rotated image 78R.
Referring to Fig. 7, the procedure for reorienting the rectangular display 78 will now be described. The orientation of the screen is determined by steps A, B, and C. If the screen has been rotated east, as in Fig. 8B, the coordinates of the actual origin (xa/ya) 79A and the actual height (Ha) and width (Wa) are assigned the values listed in step D. The values of the actual origin and height and width for the cases of a rotation west or east are listed in steps E and F. The calculation of the bytes per line of step G will be described with reference to Figs. 9A and B.
Figs. 9A and 9B illustrate the allocation of memory to store the bit-mapped images depicted in Figs. 8A and 8B respectively. In Fig. 9A it is assumed that the number of rows in the bit-mapped image (NR) is 10 and the number of columns (NC) is 6. The lowest address corresponds to the actual origin 79 of the unrotated display 78 and the row and column addresses of the pixel data are offset from the lowest address. In this example, each row word includes two bytes of data and 20 bytes of memory are required to store the pixel data of the unrotated image.
In Fig. 9B the lowest address corresponds to the actual origin 79A of the rotated image 78R. Note that the number of rows is now equal to NC and the number of columns is NR. The data in each row in filled to the nearest word boundary in the display memory 12. Because of the reorientation of the image, the column data of the unrotated image 78 is rewritten as row data of the reoriented image 78R. Only 12 bytes of memory are required to store the rotated imag because of better alignment of the row data to the word boundaries.
Thus the calculation of step G of Fig. 7 for an east or west orientation requires a determination of the number of words required to store the column pixel data of the unrotated image.
The procedure for reordering data in a bit-mapped image to compensate for rotation of the screen 18 will now be described with reference to Figs. 10 and 11A-11D. Figs. 11A- lld depict the screen 18 and actual scan origin 25 for an unrotated, rotated east, rotated west, and rotated south screen respectively.
Referring now to Fig. 10, the screen orientation is determined and a temporary buffer is allocated for the display data. The procedure for determining the starting address and allocation of memory has been described above with reference to Fig. 7.
If the screen has been rotated east, the data in each column of the unrotated image data is reverse-ordered and written to the corresponding row in the temporary buffer. For a rotation west, the column numbers of the rotated image data are reverse-ordered and then each column is written to the corresponding row of the temporary buffer. For a rotation south, the row numbers of the unrotated image data are reverse ordered and each row is written to the corresponding row of the temporary buffer.
The old buffer is then freed and a variable is set to indicate that the image data has been reoriented to compensate for the rotation of the screen. Thus, when the image is displayed on the rotated screen it will be correctly displayed. The rotation of font characters stored in memory will now be described with reference to Figs. 12A and B and 13A and B. The font format is depicted in Figs. 12A and B. A font header encodes information, including orientation information, about the font characters. The characters are a bit-mapped images of standard height but varying widths. The beginning address of each character image is determined from a bit offset field 40 and the width of each character is determined from a character width field 42. The character image bit are stored in character fields 44. As illustrated with reference to Fig. 9, differing amounts of storage are required by the various orientations of an image. Thus, when the font is loaded unused memory space 46 is allocated to compensate for the crossing memory word boundaries due to asymmetric characters. The actual character bits are rotated as described above for the bit-mapped display. The procedure for reorienting the fonts is depicted in Fig. 13A. A temporary buffer is allocated and the font is rotated as required. The orientation byte in the header is changed to reflect the orientation. As depicted in greater detail in Fig. 13B, the font data is copied into the temporary buffer the remainder of the buffer is initialized to 0. The character width and offset 42 and 44 is copied to the buffer. The character bit-mapped display is the rotated as described above and the width, offset, and other indices are updated. The procedure loops until all the characters in the font have been rotated.

Claims

WHAT IS CLAIMED IS;
1. A system for transforming stored image data representing a rectangular bit-mapped image to compensate for rotation of a screen having a fixed scan pattern originating from one of the corners of the screen, said system comprising: means, responsive to an indication that the screen has been rotated in a given direction by a given amount, for determining a new starting address in memory for storing the image data; means, responsive to said indication, for allocating a selected number of rows and columns of storage locations to store the transformed image; and means for reordering and writing the image data to said allocated storage locations so that the image will be correctly displayed on the rotated screen.
2. A system for reorienting an original stored rectangular image to be displayed on a rectangular screen segment organized as a matrix of N rows and M columns of pixels, where N and M are integers, with each pixel location on the screen segment identified by a y-coordinate indexing the identity of the scan line row that included the pixel and an x- coordinate indexing the column pixel position in the scan line row that includes the pixel, with the actual origin of the original image identified by the co-ordinates xa,ya, where the actual origin of a rectangular image is the location of the pixel in the image having the lowest values of the x and y coordinates and identifying the first row and column of the screen segment scan pattern that includes a pixel in the rectangular image, and with the original image formed of NR scan rows and NP pixel column positions in each row, said system comprising: means for selecting a new origin for the reoriented image that provides sufficient screen space to display the reoriented image; means for assigning NP scan line rows to the reoriented image and for assigning NR pixel positions in each scan line row to the reoriented image so that each row in the reoriented image corresponds to one of the columns of the original image; means for reordering the pixel data forming the original display to compensate for a rotation of the screen segment; determining the actual origin of the reoriented image; and means for displaying said reordered pixels from an said actual origin to display the correct image on the rotated screen.
PCT/US1990/002978 1989-06-12 1990-05-25 Display output rotation WO1991000586A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US36544589A 1989-06-12 1989-06-12
US365,445 1989-06-12
US46289490A 1990-01-02 1990-01-02
US462,894 1990-01-02

Publications (1)

Publication Number Publication Date
WO1991000586A1 true WO1991000586A1 (en) 1991-01-10

Family

ID=27002938

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1990/002978 WO1991000586A1 (en) 1989-06-12 1990-05-25 Display output rotation

Country Status (3)

Country Link
AU (1) AU5943890A (en)
CA (1) CA2018649A1 (en)
WO (1) WO1991000586A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0587161A2 (en) * 1992-09-11 1994-03-16 Canon Kabushiki Kaisha Apparatus for controlling image display
EP0598547A2 (en) * 1992-11-13 1994-05-25 International Business Machines Corporation Pen-based computer system
US5329289A (en) * 1991-04-26 1994-07-12 Sharp Kabushiki Kaisha Data processor with rotatable display
EP0660217A1 (en) * 1993-12-21 1995-06-28 Fujitsu Limited Cursor display system
WO1997028516A1 (en) * 1996-02-05 1997-08-07 Seiko Epson Corporation Hardware that rotates an image for portrait-oriented display
US6226016B1 (en) 1996-02-05 2001-05-01 Seiko Epson Corporation Display apparatus and method capable of rotating an image by 180 degrees
US6262751B1 (en) 1998-10-26 2001-07-17 Seiko Epson Corporation Hardware rotation of an image on a computer display
GB2359177A (en) * 2000-02-08 2001-08-15 Nokia Corp Orientation sensitive display and selection mechanism
US8102457B1 (en) 1997-07-09 2012-01-24 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
US8127232B2 (en) 1998-12-31 2012-02-28 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4267555A (en) * 1979-06-29 1981-05-12 International Business Machines Corporation Rotatable raster scan display
JPS5674765A (en) * 1979-11-21 1981-06-20 Canon Inc Wrist watch type calculator
JPS5886486A (en) * 1981-11-19 1983-05-24 Seiko Instr & Electronics Ltd Digital display type electronic timepiece
US4542377A (en) * 1982-12-27 1985-09-17 International Business Machines Corporation Rotatable display work station
US4823080A (en) * 1987-06-26 1989-04-18 Lin Dong Chang Touchless (photo type) and contact digital dual purpose tachometer
US4831368A (en) * 1986-06-18 1989-05-16 Hitachi, Ltd. Display apparatus with rotatable display screen

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4267555A (en) * 1979-06-29 1981-05-12 International Business Machines Corporation Rotatable raster scan display
JPS5674765A (en) * 1979-11-21 1981-06-20 Canon Inc Wrist watch type calculator
JPS5886486A (en) * 1981-11-19 1983-05-24 Seiko Instr & Electronics Ltd Digital display type electronic timepiece
US4542377A (en) * 1982-12-27 1985-09-17 International Business Machines Corporation Rotatable display work station
US4831368A (en) * 1986-06-18 1989-05-16 Hitachi, Ltd. Display apparatus with rotatable display screen
US4823080A (en) * 1987-06-26 1989-04-18 Lin Dong Chang Touchless (photo type) and contact digital dual purpose tachometer

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329289A (en) * 1991-04-26 1994-07-12 Sharp Kabushiki Kaisha Data processor with rotatable display
EP0587161A2 (en) * 1992-09-11 1994-03-16 Canon Kabushiki Kaisha Apparatus for controlling image display
EP0587161B1 (en) * 1992-09-11 2001-06-27 Canon Kabushiki Kaisha Apparatus for controlling image display
EP0598547A2 (en) * 1992-11-13 1994-05-25 International Business Machines Corporation Pen-based computer system
EP0598547A3 (en) * 1992-11-13 1994-10-05 Ibm Pen-based computer system.
US5568164A (en) * 1993-12-21 1996-10-22 Fujitsu Limited Cursor display system
EP0660217A1 (en) * 1993-12-21 1995-06-28 Fujitsu Limited Cursor display system
US7333097B2 (en) 1996-02-05 2008-02-19 Seiko Epson Corporation Display apparatus and method capable of rotating an image
US6226016B1 (en) 1996-02-05 2001-05-01 Seiko Epson Corporation Display apparatus and method capable of rotating an image by 180 degrees
US5734875A (en) * 1996-02-05 1998-03-31 Seiko Epson Corporation Hardware that rotates an image for portrait-oriented display
US5956049A (en) * 1996-02-05 1999-09-21 Seiko Epson Corporation Hardware that rotates an image for portrait-oriented display
WO1997028516A1 (en) * 1996-02-05 1997-08-07 Seiko Epson Corporation Hardware that rotates an image for portrait-oriented display
US8102457B1 (en) 1997-07-09 2012-01-24 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
US8970761B2 (en) 1997-07-09 2015-03-03 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
US6262751B1 (en) 1998-10-26 2001-07-17 Seiko Epson Corporation Hardware rotation of an image on a computer display
US6608626B2 (en) 1998-10-26 2003-08-19 Seiko Epson Corporation Hardware rotation of an image on a computer display
US8127232B2 (en) 1998-12-31 2012-02-28 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
US8972867B1 (en) 1998-12-31 2015-03-03 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
US6882335B2 (en) 2000-02-08 2005-04-19 Nokia Corporation Stereophonic reproduction maintaining means and methods for operation in horizontal and vertical A/V appliance positions
GB2359177A (en) * 2000-02-08 2001-08-15 Nokia Corp Orientation sensitive display and selection mechanism
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability

Also Published As

Publication number Publication date
AU5943890A (en) 1991-01-17
CA2018649A1 (en) 1990-12-12

Similar Documents

Publication Publication Date Title
EP0121015B1 (en) Presentation space management and viewporting on a multifunction virtual terminal
US5748174A (en) Video display system including graphic layers with sizable, positionable windows and programmable priority
US5574836A (en) Interactive display apparatus and method with viewer position compensation
US5280577A (en) Character generation using graphical primitives
US5001697A (en) Method to automatically vary displayed object size with variations in window size
US4942541A (en) Patchification system
US5179656A (en) Three dimensional directional pointer icon
WO1991000586A1 (en) Display output rotation
US4744046A (en) Video display terminal with paging and scrolling
US6642458B2 (en) Touch screen device and method for co-extensively presenting text characters and rendering ink in a common area of a user interface
US20020149594A1 (en) Video graphic interface device and method for portrait and landscape image display modes
CA1294381C (en) Display system with symbol font memory
US6215507B1 (en) Display system with interleaved pixel address
US7948494B2 (en) Character rendering device, display device, and printer
EP0381892B1 (en) Computer display windowing systems
SE431597B (en) DEVICE FOR PRESENTING GRAPHIC INFORMATION IN THE FORM OF SYMBOLS OF ANY SIZE ON A SCREEN SCREEN
CA2023832C (en) Method and apparatus for filing contours in digital typefaces
EP0310228B1 (en) Page printing system using a virtual memory
JPH0516039B2 (en)
EP0062669A4 (en) Graphic and textual image generator for a raster scan display.
JPS6329291B2 (en)
EP0281054B1 (en) Method and apparatus for displaying a pointer
JPH0732453B2 (en) Matrix image forming method
JPS63137378A (en) Graphics processing system
JP2004133283A (en) Picture display device, picture display method, and picture display program

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU FI JP KR SU

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB IT LU NL SE