← Back to Patent Explorer
EP0188678A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for rotating binary images

Assignee: International Business Machines Corp
•
Filing: 1985-11-05
•
Granted: —
•
Expires: 2005-11-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for converting an image in run representation form into a raster image which is rotated by some multiple of 90° from the orientation of the original image is disclosed wherein the original image data which is stored in run end or run length form may be divided and stored in discontiguous blocks. In implementing a 90° rotation. the image data is conceptually divided into vertical strips, each of which is independently rotated to create a horizonatl strip of the output image. The rotation process is carned out by firstly converting the run representation image data to raster form, dividing the data in each row among a number of intermediate buffers, each of which contains the data from one vertical stnp of the original image. The contents of each buffer are rotated and rearranged in an available buffer to form a horizontal stnp of the rotated image ready for raster readout Similarly, a convenient method of rotating the input image 180° is also described wherein the original image is read in run representation form a row at a time and the rows are converted to raster form and placed in storage in reverse order, with the order of the bits in each row also reversed.

Inventors

  • 👤 Karen Louise Anderson
  • 👤 Joan Laverve Mitchell

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-03 12:39
CPC Classifications
G; G06; G06T; G06T3/00; G06T3/60; G06T3/602; G06T3/606

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 173 words
A method for rotation of an image in run end or run length form by 180° from the orientation of the original image to create an image in raster form. comprising the steps of: beginning at a first end of an original image representation and a second end of an output image area; storing a plurality of run representations of a line of said original image in a buffer; initializing a line of output data; converting each run representation in said buffer to a picture element representation in which the bits read in the opposite direction from the line described by the run representations; storing said picture element representation of said line: repeating the steps of storing, initializing, converting, and storing for remaining lines of said original image, progressing from said second end of the output image to said first end and from said first end of the original image to said second end, until said original image has been converted to a bit map representation rotated 180° in the output image area.
Claim 2
Independent Claim 173 words
A method for rotation of an image in run end or run length form by 180° from the orientation of the original image to create an image in raster form. comprising the steps of: beginning at a first end of an original image representation and a second end of an output image area; storing a plurality of run representations of a line of said original image in a buffer; initializing a line of output data; converting each run representation in said buffer to a picture element representation in which the bits read in the opposite direction from the line described by the run representations; storing said picture element representation of said line: repeating the steps of storing, initializing, converting, and storing for remaining lines of said original image, progressing from said second end of the output image to said first end and from said first end of the original image to said second end, until said original image has been converted to a bit map representation rotated 180° in the output image area.
Claim 3
Dependent Claim 24 words
A method as in Claim 1, in which said initializing step includes the step of setting all bits in the output area to zero.
Claim 4
Dependent Claim 50 words
A method as in Claim 1, in which said initializing step includes the step of testing an output pointer to determine whether a discontinuity in the output image storage area has been reached, and in that case resetting said pointer to address the next section of the output image area.
Claim 5
Dependent Claim 45 words
A method as in Claim 1, in which said first end of said onginal image is the upper left hand comer of said original image and said second end of the output image area is the lower right hand comer of said output image area.
Claim 6
Independent Claim 286 words
A method for converting an image in run end or run length form into an image in raster form rotated 90° from the onentation of the original image, comprising the steps of: initially stonng a plurality of run representations of a first bit row of said original image in a first buffer: converting said run representations to data in raster form: distributing the data obtained by said conversion into at least one other buffer repeating said steps of stonng, converting, and distributing on successive contiguous bit rows of said onginal image until all the bit rows of the original image have been converted and stored in raster representation in said at least one other buffer; rotating a first block containing a portion of each of a plurality of bit columns of said original image from said stored data in a first one of said at least one other buffer into a first available buffer: repeating said step of rotating on successive blocks containing additional portions of each of a plurality of bit columns of said original image until all of the data stored in said first one of said at least one other buffer has been rotated such that a plurality of contiguous bit columns of said original image are stored as contiguous bit rows of the rotated image in said first available buffer and repeating said steps of rotating and repeating on successive blocks into successive available buffers until all the stored data in said at least one buffer has been rotated such that contiguous bit rows of said onginal image are stored as contiguous bit columns, whereby said original image can be read out oriented 90 0 with respect to its initial stored orientation.
Claim 7
Independent Claim 286 words
A method for converting an image in run end or run length form into an image in raster form rotated 90° from the onentation of the original image, comprising the steps of: initially stonng a plurality of run representations of a first bit row of said original image in a first buffer: converting said run representations to data in raster form: distributing the data obtained by said conversion into at least one other buffer repeating said steps of stonng, converting, and distributing on successive contiguous bit rows of said onginal image until all the bit rows of the original image have been converted and stored in raster representation in said at least one other buffer; rotating a first block containing a portion of each of a plurality of bit columns of said original image from said stored data in a first one of said at least one other buffer into a first available buffer: repeating said step of rotating on successive blocks containing additional portions of each of a plurality of bit columns of said original image until all of the data stored in said first one of said at least one other buffer has been rotated such that a plurality of contiguous bit columns of said original image are stored as contiguous bit rows of the rotated image in said first available buffer and repeating said steps of rotating and repeating on successive blocks into successive available buffers until all the stored data in said at least one buffer has been rotated such that contiguous bit rows of said onginal image are stored as contiguous bit columns, whereby said original image can be read out oriented 90 0 with respect to its initial stored orientation.
Claim 8
Dependent Claim 29 words
A method as in Claim 5, including the further step of zeroing said at least one other buffer used by said conversion step before any run representations are converted
Claim 9
Dependent Claim 68 words
A method as in Claim 5, in which said distributing step creates said blocks by storing consecutive horizontally adjacent original image bytes at intervals of N bytes within each said at least one other buffer, where N is the number of bits in a line of the original image, and storing consecutive vertically adjacent original image bytes in consecutive bytes within each said at least one other buffer.
Claim 10
Dependent Claim 156 words
A method as in Claim 7, in which said rotating and repeating steps comprise positioning a first pointer at one end of a buffer containing stored data and a second pointer at the same end of an available buffer; rotating the 8x8 bit block formed by the eight consecutive bytes addressed by said first pointer; storing the bytes of the rotated block at intervals of M bytes beginning at the point addressed by said second pointer, where M is the number of bytes in a line of the output image; incrementing said first and second pointers by 8 and 1, respectively, testing said second pointer to determine whether it has reached an offset of some multiple of M bytes from the beginning of the available buffer, and in that case incrementing said second pointer by 7M; repeating said rotating, storing, incrementing, and testing steps until all blocks in the buffer containing stored data have been rotated.
Claim 11
Dependent Claim 29 words
A method as in Claim 8, in which said rotating step further compnses setting all bits in said available buffer to zero before rotating data into said available buffer.
Claim 12
Dependent Claim 34 words
A method as in Claim 9, in which said rotating step further comprises scanning for long fields of zero input bytes and omitting the rotation of 8x8 bit blocks which contain all zero bits.
Claim 13
Independent Claim 206 words
An apparatus for rotation of an image in run end or run length form by 180° from the orientation of the original image to create an image in raster form, comprising: buffer means for containing run representation data of an original image; means for providing an output image area: means for beginning at a first end of an original image representation and a second end of said output image area; means for stonng a plurality of run representations of a line of said onginal image in said buffer means; means for initializing a line of output data; means for converting each run representation in said buffer means to a picture element representation in which the bits read in the opposite direction from the line described by the run representations and storing said picture element representation of said line in said output image area: means for repeating the steps of storing, initializing, converting, and storing for remaining lines of said original image, progressing from said second end of the output image to said first end and from said first end of the original image to said second end, until said original image has been converted to a bit map representation rotated 180° in the output image area.
Claim 14
Independent Claim 206 words
An apparatus for rotation of an image in run end or run length form by 180° from the orientation of the original image to create an image in raster form, comprising: buffer means for containing run representation data of an original image; means for providing an output image area: means for beginning at a first end of an original image representation and a second end of said output image area; means for stonng a plurality of run representations of a line of said onginal image in said buffer means; means for initializing a line of output data; means for converting each run representation in said buffer means to a picture element representation in which the bits read in the opposite direction from the line described by the run representations and storing said picture element representation of said line in said output image area: means for repeating the steps of storing, initializing, converting, and storing for remaining lines of said original image, progressing from said second end of the output image to said first end and from said first end of the original image to said second end, until said original image has been converted to a bit map representation rotated 180° in the output image area.
Claim 15
Dependent Claim 24 words
An apparatus as in Claim 11, in which said means for initializing compnses means for setting all bits in the output area to zero.
Claim 16
Dependent Claim 50 words
An apparatus as m Claim 11, in which said means for initializing comprises means for testing an output pointer to determine whether a discontinuity in the output image storage area has been reached, and in that case resetting said pointer to address the next section of the output image area.
Claim 17
Dependent Claim 45 words
An apparatus as in Claim 11, in which said first end of said original image is the upper left hand comer of said original image and said second end of the output image area is the lower right hand comer of said output image area.
Claim 18
Independent Claim 319 words
An apparatus for converting an image in run end or run length form into an image in raster form rotated 90° from the orientation of the onginal image, comprising: a first buffer; at least one other buffer; at least one available buffer; means for initially storing a plurality of run representations of a first bit row of said original image in said first buffer; means for converting said run representations to data in raster form; means for distributing the data obtained by said conversion into said at least one other buffer; means for repeating said steps of storing, converting, and distributing on successive contiguous bit rows of said original image until all the bit rows of the original image have been converted and stored in raster represantation in said at least one other buffer; means for rotating a first block containing a portion of each of a plurality of bit columns of said original image from said stored data in a first one of said at least one other buffer into one of said at least one available buffer; means for repeating said step of rotating on successive blocks containing additional portions of each of a plurality of bit columns of said original image until all of the data stored in said first one of said at least one other buffer has been rotated such that a plurality of contiguous bit columns of said original image are stored as contiguous bit rows of the rotated image in said one of said at least one available buffer; and means for repeating said steps of rotating and repeating on successive blocks into successive available buffers until all the stored data in said at least one buffer has been rotated such that contiguous bit rows of said onginal image are stored as contiguous bit columns, whereby said original image can be read out oriented 90° with respect to its initial stored orientation.
Claim 19
Independent Claim 319 words
An apparatus for converting an image in run end or run length form into an image in raster form rotated 90° from the orientation of the onginal image, comprising: a first buffer; at least one other buffer; at least one available buffer; means for initially storing a plurality of run representations of a first bit row of said original image in said first buffer; means for converting said run representations to data in raster form; means for distributing the data obtained by said conversion into said at least one other buffer; means for repeating said steps of storing, converting, and distributing on successive contiguous bit rows of said original image until all the bit rows of the original image have been converted and stored in raster represantation in said at least one other buffer; means for rotating a first block containing a portion of each of a plurality of bit columns of said original image from said stored data in a first one of said at least one other buffer into one of said at least one available buffer; means for repeating said step of rotating on successive blocks containing additional portions of each of a plurality of bit columns of said original image until all of the data stored in said first one of said at least one other buffer has been rotated such that a plurality of contiguous bit columns of said original image are stored as contiguous bit rows of the rotated image in said one of said at least one available buffer; and means for repeating said steps of rotating and repeating on successive blocks into successive available buffers until all the stored data in said at least one buffer has been rotated such that contiguous bit rows of said onginal image are stored as contiguous bit columns, whereby said original image can be read out oriented 90° with respect to its initial stored orientation.
Claim 20
Dependent Claim 28 words
An apparatus as in Claim 15, further comprising means for zeroing said at least one other buffer used by said conversion step before any run representations are converted.
Claim 21
Dependent Claim 71 words
An apparatus as in Claim 15, in which said distributing means comprises means for creating said blocks by storing consecutive horizontally adjacent original image bytes at intervals of N bytes within each said at least one other buffer, where N is the number of bits in a line of the original image, and storing consecutive vertically adjacent original image bytes in consecutive bytes within each said at least one other buffer.
Claim 22
Dependent Claim 183 words
An apparatus as in Claim 17, in which said means for rotating and repeating comprises means for positioning a first pointer at one end of one of said at least one other buffer containing stored data and means for positioning a second pointer at the same end of said one of said at least one available buffer; means for rotating the 8×8 bit block formed by the eight consecutive bytes addressed by said first pointer and storing the bytes of the rotated block at intervals of M bytes beginning at the point addressed by said second pointer, where M is the number of bytes in a line of the output image; means for incrementing said first and second pointers by 8 and 1, respectively; means for testing said second pointer to determine whether it has reached an offset of some multiple of M bytes from the beginning of the available buffer, and in that case incrementing said second pointer by 7M; means for repeating said rotating, storing, incrementing, and testing steps until all blocks in said buffer containing stored data have been rotated.
Claim 23
Dependent Claim 34 words
An apparatus as in Claim 18, in which said means for rotating and repeating further comprises means for setting all bits in said available buffer to zero before rotating data into said available buffer.
Claim 24
Dependent Claim 39 words
An apparatus as in Claim 19, in which said means for rotating and repeating further comprises means for scanning for long fields of zero input bytes and omitting the rotation of 8x8 bit blocks which contain all zero bits.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag