WO1990009640A1 - Apparatus for high speed image rotation - Google Patents

Apparatus for high speed image rotation Download PDF

Info

Publication number
WO1990009640A1
WO1990009640A1 PCT/US1990/000859 US9000859W WO9009640A1 WO 1990009640 A1 WO1990009640 A1 WO 1990009640A1 US 9000859 W US9000859 W US 9000859W WO 9009640 A1 WO9009640 A1 WO 9009640A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
barrel
shifting
barrel shifter
shifter
Prior art date
Application number
PCT/US1990/000859
Other languages
French (fr)
Inventor
George W. Crozier
Original Assignee
Unisys 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 Unisys Corporation filed Critical Unisys Corporation
Publication of WO1990009640A1 publication Critical patent/WO1990009640A1/en

Links

Classifications

    • 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

Definitions

  • the present invention relates to apparatus for rotating characters of the type generated by character generators in any desired image font or format. More particularly, the present invention relates to a novel high speed circuit for rotating a character / micro column word by by micro column word as it is generated or read out of a character generator memory.
  • Figure 1 is a block diagram of a prior art printer system for a laser printer
  • FIG. 2 is a block diagram of the present invention rotational hardware which comprises one of the block elements shown in Figure 1;
  • Figure 3 is a more detailed block diagram of a linear array shifter of the type shown in the feedback loop of Figure 2;
  • Figures 4A to 4D are diagrammatic representations of a character image as it is processed in the rotational hardware of Figure 2;
  • Figures 5A to 5D are diagrammatic representations of the rotation of the bit positions of a character using alphanumeric characters;
  • Figures 6A to 6D are diagrammatic representations of four bits of a fifty bit character that passes through the linear array shifter.
  • FIG. 1 showing a prior art block diagram printer system 10 of the type used for laser printers.
  • the logical page information to be printed by the laser printer is presented by the data processing unit 11 to a channel interface 12 which adapts the information being presented on line 13 to an output on line 14 which may be utilized by microprocessor and page buffer 15.
  • the output from microprocessor 15 on line 16 comprises character addresses and the positions of characters of the character generator memory 17 which is already loaded.
  • the information presented on line 18 from character generator memory 17 is a word or micro column of a character which is presented in standard format to the rotational hardware 19.
  • the rotational hardware 19 is preferably that hardware shown in my aforementioned application Serial Number 836,285.
  • the present invention is an improvement of part of the rotational hardware 19 shown in this previous application.
  • the rotated character information on line 21 is also page positioned when it is loaded into bit map memory 22 to provide a complete logical page in the form of dot matrix bits which can be scanned and read out on line 23 to a high speed laser printer or dot matrix printer mechanism 14. 5 -
  • FIG. 2 showing a block diagram of the preferred embodiment of the present inventiojn rotational hardware 20 which can be substituted "for the block 19 of Figure 1.
  • the micro column words being read out of character generator memory 17 on line 18 is first applied to a multiplexer 25 which is set for the first pass to provide an output on line 26 which passes through a 180° multiplexer 27 without alteration into a barrel shifter or end around shifter 28.
  • the output of the barrel shifter 28 on line 29 enters the rotational loop circuitry at line 31 and is applied to the register array 32 before being applied via line 33 to a large random access memory designated rotate RAMS 34.
  • a complete character is read slice by slice through barrel shifter 28 and further processed at register array 32 and then stored in rotate RAMS 34. The information in RAM 34.
  • MUX 25 is read out on line 35 slice by slice and passes through MUX 25 which now inhibits the information on line 18 and enables the information on line 35 to pass to the 180° multiplexer 27 which may or may not be active depending on whether the character originally being read from memory 17 is to be inverted or rotated 180°.
  • the information on line 26 at the output of MUX 25 is again barrel shifted in barre shifter 28 before being again applied to the o *utVp- tut line 29 where it is now stored slice by slice or micro column word by micro column word in bit map memory 22 to prepare a logic page for printout by laser printer 24.
  • the outpit shift counter 37 is provided with a preset number on line 38 from an associated microprocessor (not shown). This number preset in counter 37 is presented on line 39 to MUX 41 and on line 42 to the barrel shifter 28 so that a word slice passing through the barrel shifter without an end around barrel rotation was positioned before being stored in the bit map memory 22 via line 29.
  • a second mode of operation permits the character read out of memory 17 to be reverse column scanned and rotated 180° by the 180° multiplexer 27 before being positioned by the output shift counter 37 and barrel shifter 28 before being stored into bit map memory 22 via line 29.
  • a third (and fourth) mode of operation permits the character stored in memory 17 to be forward scanned (or reverse scanned) and presented slice by slice as a micro column word on line 18 and pass through multiplexers 25 and 27 for a first pass operation where it is barrel shifted by employing input shift counter 36 and its control signal line 43, multiplexer 41 and signal line 42 to barrel shift 28 each micro column word during the first pass operation.
  • the barrel shifted micro column word bn lines 29 and 31 are applied to the register array 32 which delays and processes the input signals as will be explained in greater detail hereinafter.
  • the processed signals on line 33 are stored micro column word slice by word slice in rotate RAMS 34 under control of input address counter 44, line 45, multiplexer 46 and control line 47.
  • a 0 sequence clock controller 51 which provides a sequence or plurality of timing clock signals on output line 52 which is applied to all of the logic blocks which require coordination and timing as shown. It will be noted that input clocks and output clocks are applied to "the counters 5 and are operable at different phases or periods of the clock.
  • the bit map memory 22 requires an input and output clock signal, however, the output clock signal is supplied from the laser printer or dot matrix printer 24.
  • the barrel shifter 28 is similar to 0 those which are commercially available and does not require a clock signal.
  • the rotate RAMS 34 are arranged as thirteen 4 x 50+ RAM chips to provide the equivalent of 50+ by 50+ RAM capacity.
  • RAM buffer 34 permits one character to be loaded into the RAM memory 34 while a 5 second character is being read out, thus enhancing *the speed of operation of the rotational hardware 2 * 0.. * It will be understood that there is a register array 32 for each of the RAM chips and there is an individual input counter 44, output counter 48 and MUX 46 for each of 4- x 50+ RAM 0 chips which will be explained in greater detail hereinafter.
  • SUBSTITUTESHEET Refer now to Figure 3 showing a more detailed block diagram of the linear array shifter in the feedback loop of the rotational hardware 20.
  • the feedback loop comprises all of the elements connected to the loop comprising elements 31 through 35.
  • the bit positions 43 through 49 of a fifty bit micro column word slice are being presented on input lines 31 to the register array 32 that comprises a plurality of individual shift registers which operate as delayed registers.
  • Bit positions 48, 47 and 46 are shown having their information bit positions delayed by 1, 2 and 3 shift register stages before being applied to the static RAM 34.
  • the static RAM is a 53 x 4 portion of a RAM chip which will accommodate 4 bit positions of a 50 x 50 character or image which is stored in memory 17.
  • the bit positions for micro column 2, 3 and 4 shown as slices S2, S3 and S4 are applied to the input bus 31 and clocked into the static RAM 34 with their 4 bit positions being delayed 1, 2 or 3 write access times.
  • the information loaded as data into static RAM 34 can be read out on bus 35.
  • one RAM element is being loaded at the same time a second RAM element is being read out so that a continuous operation of writing in and reading out is overlapping and occurring.
  • the four bit positions 46 through 49 are only one-thirteenth of a micro column having 50 bit positions,thus,the 53 x 4 RAM 34 which accommodates a complete micro column of bit positions require 13 similar 53 x 4 static RAMS.
  • a 50 x 50 dot matrix is sufficiently dense to accommodate any known type of font or character as well as hieroglyphics, Sanskrit and Asian characters.
  • Figures 4A to 4D provide a diagrammatic representation of the character image as it is processed in the rotational hardware 20. While the character H shown in Figure 4 is only an 8 x 8 matrix, it will illustrate the functional operation of the present invention rotational hardware. Assume that the H shown in Figure 4A has been read out of character memory 17 slice by slice as the original image and is to be rotated 90°.
  • the barrel shifter 28 performs an end around barrel barrel shift of the dot matrix positions under control of the input counter 36 to provide a barrel shifted character which may be diagrammatically represented in Figure 4B as i ⁇ would appear on line 31 at the output of the barrel shifter 28.
  • Figure 4C is a dot matrix representation of the character shown in Figure 4B after being store .d* in the rotate RAMS 34 and read out to provide final linear ar.ray shifting of the horizontal columns of the array siio «rn in Figure 4B and presented on output line 35.
  • the information on line 35 represented in Figure _4C is «* passed through the barrel shifter 28 for a second pass and . , appears as a character on output line 29 having be ⁇ en rotated 90° as shown in Figure 4D.
  • the preferred embodiment barrel shifter 28 shifts the first slice or micro column word shown as SI in Figure 4A by no bit positions.
  • Slice S2 is shifted by one bit position which is clearly shown in Figure 4B where the horizontal leg of the H on the right side has moved down 10 -
  • Figures 5A to 5D showing a further diagrammatic representation of the rotation of a character using alphanumeric bit positions.
  • slice or word column SI when translated from Figure 5A to 5B has no end around barrel shift rotation.
  • Micro columns S2 through S8 have been barrel shifted by 1 through 7 bit positions respectively as shown in Figure 5B.
  • the end around bit shifted character 5B is further linear array shifted by end around shifting the horizontal rows Rl through R8 zero through seven bit positions to provide the information in Figure 5C at the input of the barrel shifter 28 via line 35.
  • Figure 6A to 6D is a diagrammatic representation of the 4 bits of a 50 bit character previously discussed with reference 3.
  • Figure 6A shows the same 4 4 matrix of bit positions being applied to the input of the register array 32. »To conform the bit positions to the same explanation employed with Figures 4 and 5,
  • Figure 6A represents the information in micro column or word slice format which appears at the output of character generator memory 17.
  • Figure 6B represents the information having been barrel shifted which appears on line 31 at the input to the register array 32 as shown in Figure 3.
  • the information shown in Figure 6C is the information which appears on the output lines 35 shown in Figure 3 and is similar to four of the fifty bits of information being presented on output line 35 of Figure 2.
  • the information shown in Figure 6D is the format of the information which appears on output line 29 after the second pass through the barrel shifter 28.
  • the first barrel shift operation of the information in Figure 6C has shifted all but one of the 49 bits to another part of the matrix (not shown).
  • bit position 53, shown as 49 in the square, of Figure 6A appears as the bit position 54 shown rotated 90° as a bit 49 in the square of Figure 6D.
  • Figure 6A is rotated 90° counterclockwise to provide the information in Figure 6D as previously explained with reference to Figures 4 and 5.

Abstract

Apparatus (20) is provided for shifting the output of a bit matrix character generator (17) ninety degrees to provide ninety degree shifted characters and comprises a barrel shifter (28) for barrel shifting bit slices of the bit matrix characters coupled to a linear array shifter (Fig. 3) for linear array shifting the information that was first barrel shifted. A feedback loop (31-35) which includes a rotate RAM memory (34) having its output (35) connected to the input of the barrel shifter means (28) to twice barrel shift the information which was previously barrel shifted and then linear array shifted to provide a bit matrix character output (29) which is rotated ninety degrees from the original bit matrix character provided at the output of the character generator.

Description

APPARATUS FOR HIGH SPEED IMAGE ROTATION
The present invention relates to apparatus for rotating characters of the type generated by character generators in any desired image font or format. More particularly, the present invention relates to a novel high speed circuit for rotating a character/ micro column word by by micro column word as it is generated or read out of a character generator memory. INTENTIONALLY LEFT BLANK
SUMMARY OF THE INVENTION
It is a principal object of the present invention to provide an improved high speed character generator. It is another principal object of the present invention to provide novel logic circuitry for rotating a character stored in a character memory in the form of a bit matrix. INTENTIONALLY LEFT BLANK
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of a prior art printer system for a laser printer;
Figure 2 is a block diagram of the present invention rotational hardware which comprises one of the block elements shown in Figure 1;
Figure 3 is a more detailed block diagram of a linear array shifter of the type shown in the feedback loop of Figure 2; Figures 4A to 4D are diagrammatic representations of a character image as it is processed in the rotational hardware of Figure 2; Figures 5A to 5D are diagrammatic representations of the rotation of the bit positions of a character using alphanumeric characters; and
Figures 6A to 6D are diagrammatic representations of four bits of a fifty bit character that passes through the linear array shifter.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Refer now to Figure 1 showing a prior art block diagram printer system 10 of the type used for laser printers. The logical page information to be printed by the laser printer is presented by the data processing unit 11 to a channel interface 12 which adapts the information being presented on line 13 to an output on line 14 which may be utilized by microprocessor and page buffer 15. The output from microprocessor 15 on line 16 comprises character addresses and the positions of characters of the character generator memory 17 which is already loaded. The information presented on line 18 from character generator memory 17 is a word or micro column of a character which is presented in standard format to the rotational hardware 19. In this prior art printer system 10 the rotational hardware 19 is preferably that hardware shown in my aforementioned application Serial Number 836,285. As will be explained hereinafter, the present invention is an improvement of part of the rotational hardware 19 shown in this previous application.
The rotated character information on line 21 is also page positioned when it is loaded into bit map memory 22 to provide a complete logical page in the form of dot matrix bits which can be scanned and read out on line 23 to a high speed laser printer or dot matrix printer mechanism 14. 5 -
Refer now to Figure 2 showing a block diagram of the preferred embodiment of the present inventiojn rotational hardware 20 which can be substituted "for the block 19 of Figure 1. The micro column words being read out of character generator memory 17 on line 18 is first applied to a multiplexer 25 which is set for the first pass to provide an output on line 26 which passes through a 180° multiplexer 27 without alteration into a barrel shifter or end around shifter 28. The output of the barrel shifter 28 on line 29 enters the rotational loop circuitry at line 31 and is applied to the register array 32 before being applied via line 33 to a large random access memory designated rotate RAMS 34. A complete character is read slice by slice through barrel shifter 28 and further processed at register array 32 and then stored in rotate RAMS 34. The information in RAM 34. is read out on line 35 slice by slice and passes through MUX 25 which now inhibits the information on line 18 and enables the information on line 35 to pass to the 180° multiplexer 27 which may or may not be active depending on whether the character originally being read from memory 17 is to be inverted or rotated 180°. The information on line 26 at the output of MUX 25 is again barrel shifted in barre shifter 28 before being again applied to the o *utVp- tut line 29 where it is now stored slice by slice or micro column word by micro column word in bit map memory 22 to prepare a logic page for printout by laser printer 24.
There are four distinct modes of operation of the information being presented at the output of character generator memory 17 on line 18. The information can be passed directly through the barrel shifter 28 without being end around shifter by disabling the input counter 36
». - and the output shift counter 37. The outpit shift counter 37 is provided with a preset number on line 38 from an associated microprocessor (not shown). This number preset in counter 37 is presented on line 39 to MUX 41 and on line 42 to the barrel shifter 28 so that a word slice passing through the barrel shifter without an end around barrel rotation was positioned before being stored in the bit map memory 22 via line 29.
A second mode of operation permits the character read out of memory 17 to be reverse column scanned and rotated 180° by the 180° multiplexer 27 before being positioned by the output shift counter 37 and barrel shifter 28 before being stored into bit map memory 22 via line 29.
A third (and fourth) mode of operation permits the character stored in memory 17 to be forward scanned (or reverse scanned) and presented slice by slice as a micro column word on line 18 and pass through multiplexers 25 and 27 for a first pass operation where it is barrel shifted by employing input shift counter 36 and its control signal line 43, multiplexer 41 and signal line 42 to barrel shift 28 each micro column word during the first pass operation. The barrel shifted micro column word bn lines 29 and 31 are applied to the register array 32 which delays and processes the input signals as will be explained in greater detail hereinafter. The processed signals on line 33 are stored micro column word slice by word slice in rotate RAMS 34 under control of input address counter 44, line 45, multiplexer 46 and control line 47. After the complete character is stored in rotate RAMS 34 it is read out on line 35 under control of the output address counters 48, line 49,MUX 46 and control line 47. The micro column word slices being presented on line 35 are now passed through the MUX 25 for a second pass through the barrel shifter 28 and presented as an - 7 -
output on line 29 before being stored micro column word slice by word slice in bit map memory 22 in a 90° rotational bit position. If the character read out of memory 17 was reverse scanned, it is flipped 180° by the *-> 180° multiplexer 27 during the second pass so that the character stored in bit map memory 22 is orientel 180° from the 90° rotational position described hereinbefore. To coordinate the sequence of operations of the present invention rotational hardware, there is provided a 0 sequence clock controller 51 which provides a sequence or plurality of timing clock signals on output line 52 which is applied to all of the logic blocks which require coordination and timing as shown. It will be noted that input clocks and output clocks are applied to "the counters 5 and are operable at different phases or periods of the clock. In similar manner, the bit map memory 22 requires an input and output clock signal, however, the output clock signal is supplied from the laser printer or dot matrix printer 24. The barrel shifter 28 is similar to 0 those which are commercially available and does not require a clock signal. The rotate RAMS 34 are arranged as thirteen 4 x 50+ RAM chips to provide the equivalent of 50+ by 50+ RAM capacity. RAM buffer 34 permits one character to be loaded into the RAM memory 34 while a 5 second character is being read out, thus enhancing *the speed of operation of the rotational hardware 2*0.. * It will be understood that there is a register array 32 for each of the RAM chips and there is an individual input counter 44, output counter 48 and MUX 46 for each of 4- x 50+ RAM 0 chips which will be explained in greater detail hereinafter.
SUBSTITUTESHEET Refer now to Figure 3 showing a more detailed block diagram of the linear array shifter in the feedback loop of the rotational hardware 20. For purposes of definition the feedback loop comprises all of the elements connected to the loop comprising elements 31 through 35. For purposes of explanation of Figure 3, assume that the bit positions 43 through 49 of a fifty bit micro column word slice are being presented on input lines 31 to the register array 32 that comprises a plurality of individual shift registers which operate as delayed registers. The bit positions 46 through 49 shown opposite the arrow SI diagrammatically indicate that micro column slice 1 has not had its bit positions 46 through 49 rotated. Information in bit position 49 of slice 1 is applied to the input of static RAM 34 without any delay. Bit positions 48, 47 and 46 are shown having their information bit positions delayed by 1, 2 and 3 shift register stages before being applied to the static RAM 34. For purposes of this explanation, assume that the static RAM is a 53 x 4 portion of a RAM chip which will accommodate 4 bit positions of a 50 x 50 character or image which is stored in memory 17. In similar manner, the bit positions for micro column 2, 3 and 4 shown as slices S2, S3 and S4 are applied to the input bus 31 and clocked into the static RAM 34 with their 4 bit positions being delayed 1, 2 or 3 write access times. During subsequent operations, the information loaded as data into static RAM 34 can be read out on bus 35. As explained hereinbefore, one RAM element is being loaded at the same time a second RAM element is being read out so that a continuous operation of writing in and reading out is overlapping and occurring. It will be noted that the four bit positions 46 through 49 are only one-thirteenth of a micro column having 50 bit positions,thus,the 53 x 4 RAM 34 which accommodates a complete micro column of bit positions require 13 similar 53 x 4 static RAMS. -'It has been found that a 50 x 50 dot matrix is sufficiently dense to accommodate any known type of font or character as well as hieroglyphics, Sanskrit and Asian characters.
Refer now to Figures 4A to 4D which provide a diagrammatic representation of the character image as it is processed in the rotational hardware 20. While the character H shown in Figure 4 is only an 8 x 8 matrix, it will illustrate the functional operation of the present invention rotational hardware. Assume that the H shown in Figure 4A has been read out of character memory 17 slice by slice as the original image and is to be rotated 90°. The barrel shifter 28 performs an end around barrel barrel shift of the dot matrix positions under control of the input counter 36 to provide a barrel shifted character which may be diagrammatically represented in Figure 4B as iτwould appear on line 31 at the output of the barrel shifter 28. Figure 4C is a dot matrix representation of the character shown in Figure 4B after being store .d* in the rotate RAMS 34 and read out to provide final linear ar.ray shifting of the horizontal columns of the array siio«rn in Figure 4B and presented on output line 35. The information on line 35 represented in Figure _4C is«* passed through the barrel shifter 28 for a second pass and ., appears as a character on output line 29 having be^en rotated 90° as shown in Figure 4D.
The preferred embodiment barrel shifter 28 shifts the first slice or micro column word shown as SI in Figure 4A by no bit positions. Slice S2 is shifted by one bit position which is clearly shown in Figure 4B where the horizontal leg of the H on the right side has moved down 10 -
one bit position. In similar manner the slices or micro columns SI through S8 are shifted zero to 7 positions, thus, slice S7 shown in Figure 4 has been shifted end around 6 positions as shown in Figure 4B. In a similar manner, the linear array shifter performs an end around shift in the horizontal or row direction similar to the barrel shifter just described. Row Rl, shown in Figure 4C, is shifted no bit positions and the row R8 shown in Figure 4C is shifted 7 bit positions from the character shown in Figure 4B. The character shown in Figure 4C is the information of the type which appears on line 35 to the input of MUX 25 and barrel shifter 28. After the information passes through the barrel shifter during the second pass, the information shown in Figure 4C is again barrel shifted to provide the 90° rotated character shown in Figure 4D on output line 29 which is then stored in fait memory 22.
Refer now to Figures 5A to 5D showing a further diagrammatic representation of the rotation of a character using alphanumeric bit positions. It will be noted that slice or word column SI when translated from Figure 5A to 5B has no end around barrel shift rotation. Micro columns S2 through S8 have been barrel shifted by 1 through 7 bit positions respectively as shown in Figure 5B. The end around bit shifted character 5B is further linear array shifted by end around shifting the horizontal rows Rl through R8 zero through seven bit positions to provide the information in Figure 5C at the input of the barrel shifter 28 via line 35. This information is again barrel shifted during the second pass as explained with reference to Figure 5A to provide a character having bit positions or alphanumeric bit positions as shown in Figure 5B which is the equivalent of the character H shifted 90° as shown in Figure 4D. Stated differently, the matrix of alphanumeric character shown in Figure 5D have been rotated 90° in the counterclockwise direction when shown in Figure 5D.
Refer now to Figure 6A to 6D which is a diagrammatic representation of the 4 bits of a 50 bit character previously discussed with reference
Figure imgf000013_0001
3. Figure 6A shows the same 4 4 matrix of bit positions being applied to the input of the register array 32. »To conform the bit positions to the same explanation employed with Figures 4 and 5, Figure 6A represents the information in micro column or word slice format which appears at the output of character generator memory 17. Figure 6B represents the information having been barrel shifted which appears on line 31 at the input to the register array 32 as shown in Figure 3. The information shown in Figure 6C is the information which appears on the output lines 35 shown in Figure 3 and is similar to four of the fifty bits of information being presented on output line 35 of Figure 2. Thus, it will be understood that the information shown in Figure 6D is the format of the information which appears on output line 29 after the second pass through the barrel shifter 28. In the attempt to show how a matrix of 50 x 50 bits is processed in the novel rotational hardware, the first barrel shift operation of the information in Figure 6C has shifted all but one of the 49 bits to another part of the matrix (not shown). However, in Figure 6D the missing three 49 bits and missing two 48 bitsand missing one 47 bit is again shifted back into the 4 x 4 matrix so that bit position 53, shown as 49 in the square, of Figure 6A appears as the bit position 54 shown rotated 90° as a bit 49 in the square of Figure 6D. Thus, it is shown that Figure 6A is rotated 90° counterclockwise to provide the information in Figure 6D as previously explained with reference to Figures 4 and 5. - 12 -
It might be asked why not use a massive look-up table to perform the transformation of the bit positions. It is not practical to store 10,000 characters in 50 x 50 bit position matrix format and perform a parallel read out transformation with a known addressable memory. Having explained the preferred embodiment of the present invention, it will now be understood that the size of the character generator memory 17 employed in my prior art copending application Serial No. 836,285 has been reduced by a factor greater than two in that the hardware shown in Figure 2 can be physically placed at the output of the character generator memory 17 shown in my copending application to provide input information for the bit map memory 22.
SUBSTITUTESHEET

Claims

13WHAT IS CLAIMED IS:
1. Apparatus for shifting the output of a bit matrix character generator ninety degrees, comprising: barrel shifter means for receiving as an*input a bit matrix character and producing a barrel shifted output, linear array shifter means having an input coupled to the output of said barrel shifter for linear array shifting said barrel shifted input and providing a twice shifted output, and said twice shifted output from said linear array shifter being fed back to the input,of said barrel shifter to provide a thrice shifted bit matrix character output which is rotated 90 degrees from the original bit matrix character.
2. Apparatus for shifting characters as set forth in claim 1 wherein said barrel shifter means comprises means for parallel shifting the bits of successive micro column words of said bit matrix characters by one additional bit per column.
3. Apparatus for shifting characters as set forth in claim 2 wherein said linear array shifter means comprises means for shifting the successive rows of' the barrel shifted bit matrix character output by one additional bit per row.
4. Apparatus for shifting characters as set forth in claim 3 wherein said linear array shifter means comprises a plurality of delay shift register stages and a plurality of random access memory chips coupled to the output of said delay register stages. ,
5. Apparatus for shifting characters as set forth in claim 4 wherein said linear array shifter means further comprises an input address counter and an output address counter. - 14 -
6. Apparatus for shifting characters as set forth in claim 5 wherein said linear array shifter further comprises a multiplexer coupled between said random access memory chips and said address counter for selecting one or the other of said address counters.
7. Apparatus for shifting characters as set forth in claim 1 wherein said barrel shifter means comprises an input address counter and an output address counter and a barrel shifter.
8. Apparatus for shifting characters as set forth in claim 7 wherein said barrel shifter means further comprises a multiplexer coupled between the barrel shifter and said address counters.
9. Apparatus for shifting characters as set forth in claim 8 wherein said barrel shifter means further comprises a second multiplexer coupled between the output of said bit matrix character generator and the input of said barrel shifter.
10. Apparatus for shifting characters as set forth in claim 7 which further includes means for presetting a count in said output address counter of said barrel shifter means which further includes counter load logic means coupled to said counter means for presetting said output shift counter of said barrel shifter means.
11. Apparatus for shifting characters as set forth in claim 7 wherein said barrel shifter means further comprises a 180 degree multiplexer connected to the input of the barrel shifter.
PCT/US1990/000859 1989-02-15 1990-02-15 Apparatus for high speed image rotation WO1990009640A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/311,012 US5081700A (en) 1989-02-15 1989-02-15 Apparatus for high speed image rotation
US311,012 1989-02-15

Publications (1)

Publication Number Publication Date
WO1990009640A1 true WO1990009640A1 (en) 1990-08-23

Family

ID=23205001

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1990/000859 WO1990009640A1 (en) 1989-02-15 1990-02-15 Apparatus for high speed image rotation

Country Status (2)

Country Link
US (1) US5081700A (en)
WO (1) WO1990009640A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5310222A (en) * 1989-10-26 1994-05-10 De La Rue Holographics Limited Optical device

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0455986A (en) * 1990-06-26 1992-02-24 Toshiba Corp Picture processor
KR930007023B1 (en) * 1990-12-31 1993-07-26 삼성전자 주식회사 Method and apparatus for transforming image
JPH04331162A (en) * 1991-05-02 1992-11-19 Nec Eng Ltd Character pattern generator
US5467446A (en) * 1993-01-29 1995-11-14 Colorage, Inc. System and method for rasterizing images subject to orthogonal rotation
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
JP3557208B2 (en) * 1993-05-10 2004-08-25 アプル・コンピュータ・インコーポレーテッド Computer graphics system with high performance multi-layer z-buffer
JP2773812B2 (en) * 1993-05-20 1998-07-09 富士ゼロックス株式会社 Image processing device
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
US5671440A (en) * 1994-08-08 1997-09-23 Eastman Kodak Company Color image data reorientation and format conversion system
JP2723056B2 (en) * 1994-09-29 1998-03-09 日本電気株式会社 Data converter
US5664082A (en) * 1995-06-06 1997-09-02 Apple Computer, Inc. Method and apparatus for arbitrary transformation of images
US5920688A (en) * 1995-11-13 1999-07-06 International Business Machines Corporation Method and operating system for manipulating the orientation of an output image of a data processing system
US5946222A (en) * 1996-12-20 1999-08-31 Oak Technology, Inc. Method and apparatus for performing a masked byte addition operation
US5870581A (en) * 1996-12-20 1999-02-09 Oak Technology, Inc. Method and apparatus for performing concurrent write operations to a single-write-input register file and an accumulator register
US5930466A (en) * 1997-03-11 1999-07-27 Lexmark International Inc Method and apparatus for data compression of bitmaps using rows and columns of bit-mapped printer data divided into vertical slices
US6223181B1 (en) 1997-07-31 2001-04-24 Oak Technology, Inc. Memory conserving and compression technique-compatible image rotation system
US6271929B1 (en) 1998-04-17 2001-08-07 Canon Kabushiki Kaisha Method and apparatus for rotating an input color image by ninety degrees
KR100357126B1 (en) * 1999-07-30 2002-10-18 엘지전자 주식회사 Generation Apparatus for memory address and Wireless telephone using the same
US7596678B2 (en) * 2003-04-23 2009-09-29 Micron Technology, Inc. Method of shifting data along diagonals in a group of processing elements to transpose the data
US7581080B2 (en) * 2003-04-23 2009-08-25 Micron Technology, Inc. Method for manipulating data in a group of processing elements according to locally maintained counts
US7676648B2 (en) * 2003-04-23 2010-03-09 Micron Technology, Inc. Method for manipulating data in a group of processing elements to perform a reflection of the data
US7913062B2 (en) * 2003-04-23 2011-03-22 Micron Technology, Inc. Method of rotating data in a plurality of processing elements
US8233003B2 (en) * 2007-03-12 2012-07-31 Seiko Epson Corporation Image processing device, image processing method, and electronic instrument

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4163281A (en) * 1977-06-30 1979-07-31 Elettronica San Giorgio Elsag S.P.A. Method and apparatus for the rotation of a binary-data matrix, intended particularly to be used as a storage unit having a two-way access mode for electronic computers

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1526232A (en) * 1975-10-08 1978-09-27 Texas Instruments Ltd Digital data storage systems
GB1529842A (en) * 1975-10-09 1978-10-25 Texas Instruments Ltd Digital data stores and data storage systems
US4215401A (en) * 1978-09-28 1980-07-29 Environmental Research Institute Of Michigan Cellular digital array processor
JPS58159184A (en) * 1982-03-17 1983-09-21 Nec Corp Picture turning device
JPS61159686A (en) * 1985-01-07 1986-07-19 株式会社日立製作所 Image display unit
US4703515A (en) * 1985-08-26 1987-10-27 Xerox Corporation Image rotation
US4797852A (en) * 1986-02-03 1989-01-10 Intel Corporation Block shifter for graphics processor
JPH0827604B2 (en) * 1986-06-18 1996-03-21 株式会社日立製作所 Image display system
JPH0773920B2 (en) * 1986-11-17 1995-08-09 日本電気株式会社 n × n bit dot matrix 90 ° rotation circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4163281A (en) * 1977-06-30 1979-07-31 Elettronica San Giorgio Elsag S.P.A. Method and apparatus for the rotation of a binary-data matrix, intended particularly to be used as a storage unit having a two-way access mode for electronic computers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5310222A (en) * 1989-10-26 1994-05-10 De La Rue Holographics Limited Optical device

Also Published As

Publication number Publication date
US5081700A (en) 1992-01-14

Similar Documents

Publication Publication Date Title
US5081700A (en) Apparatus for high speed image rotation
US4593407A (en) Pattern processing system
JPH0378651B2 (en)
EP0180258A1 (en) Decoder
US5122973A (en) Front-end system for a raster output scanner
EP0267415B1 (en) Multidirectional scan and print capability
US4984182A (en) Laser printer controller flexible frame buffer achitecture which allows software to initiate the loading of a frame buffer start address
US4935897A (en) Semiconductor memory device suitable for use as a dot image buffer for a printer
AU603830B2 (en) Printer character generator
CA1317684C (en) Printer image control generator
JPS5949584A (en) System of processing data in mixed various character sizes
EP0581515B1 (en) Dot generator for matrix print head
KR920003046B1 (en) Character and pattern descripter
US6014225A (en) Frame buffer control method and circuit
JPH0596811A (en) Printing method
JPS61215583A (en) Character pattern rotation system
JPH0426137B2 (en)
JPS59178669A (en) Storage device provided with three-dimensional memory module
JP2546247B2 (en) Character scaling circuit
JPS63309989A (en) Screen controller
JPS62298877A (en) Thinning-out processing system for image data
GB2242297A (en) Transforming patterns of characters/graphics
JPS5981686A (en) Magnified character pattern correction system
JPS6362026A (en) Control system for transfer of data
JPH05138935A (en) Device for rearranging printing data

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

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

NENP Non-entry into the national phase

Ref country code: CA