Claims
- 1. A system for generating an image in a plurality of scan lines of image elements, said image comprising a plurality of traces having relatively less change from one scan line to the next, and a plurality of patterns having relatively more change from one scan line to the next, said system comprising
- trace buffer means for containing data defining trace elements on a scan line,
- pattern buffer means for containing data defining pattern elements on a scan line,
- means for providing a group of trace data defining trace elements line by line,
- means for providing a group of pattern data defining pattern elements line by line,
- means for clearing said pattern buffer means and feeding a line of said pattern data thereto for each line of said data,
- means for clearing said trace buffer means and feeding trace data thereto only upon occurrence of a line of trace data that varies from a preceding line,
- means for generating a data stream that controls a plurality of scan lines to produce an image,
- control means for controlling said data stream, and
- means for transferring data from both said trace and pattern buffer means to said control means to control said data stream.
- 2. A system for generating an image in a plurality of scan lines of image elements, said image comprising a plurality of traces having relatively less change from one scan line to the next, and a plurality of patterns having relatively more change from one scan line to the next, said system comprising
- trace buffer means containing data defining trace elements on a scan line,
- pattern buffer means containing data defining pattern elements on a scan line,
- means for generating a data stream that controls a plurality of scan lines to produce an image,
- control means for controlling said data stream, and
- means for transferring data from both said trace and pattern buffer means to said control means to control said data stream,
- at least one of said buffer means comprising a memory having a plurality of word storage areas defining memory words, each composed of a plurality of bits, a plurality of commands for specifying states of bits in said memory, each command including a length code that defines a run of consecutive bits of like states and a color code that defines the state of the bits of said run, at least one of said commands having a start address that defines the word address of the memory word containing the start of a run, and the bit address within a memory word of the first bit of a run, and including apparatus for controlling the state of bits in said memory, said apparatus comprising
- means for addressing bits from said memory at least one word at a time, and
- means responsive to said commands for controlling the state of bits of a word being addressed, said means for controlling comprising
- means for generating a bit mask that selects bits of a given word to be controlled, and
- means responsive to said bit mask generating means and to said color code for controlling states of those bits of an addressed word selected by said bit mask generating means.
- 3. A system for generating an image in a plurality of scan lines of image elements, said image comprising a plurality of traces having relatively less change from one scan line to the next, and a plurality of patterns having relatively more change from one scan line to the next, said system comprising
- trace buffer means containing data defining trace elements on a scan line,
- pattern buffer means containing data defining pattern elements on a scan line, at least one of said buffer means comprising a memory having a plurality of storage areas each containing a plurality of bits,
- means for providing a plurality of commands for specifying states of bits in said memory, each command including a length code that defines a run of consecutive bits of like states and a color code that defines the state of the bits of said run, at least one of said commands having a start address that defines the address of the start of a run,
- means for generating a data stream that controls a plurality of scan lines to produce an image,
- control means for controlling said data stream,
- means for transferring data from both said trace and pattern buffer means to said control means to control said data stream,
- pattern library means for storing pattern data that define elements of a plurality of patterns,
- image data means for producing scan line data having pattern calls that identify patterns on each scan line, and
- means responsive to each pattern call for transferring pattern data from said pattern library means to said pattern buffer means.
- 4. The system of claim 3 wherein said scan line data of said image data means includes a trapezoid command defining a trapezoid, and including trapezoid buffer means, means responsive to said trapezoid command for storing in said trapezoid buffer means data defining trapezoid elements on a scan line, and means for transferring data from said trapezoid buffer means to said control means.
- 5. The system of claim 3 wherein said pattern data is stored in said library means in run length coding.
- 6. The system of claim 3 wherein said pattern data transferring means comprise pointer table storage means for storing library addresses of patterns in said pattern library means, and means responsive to each pattern call for extracting from said pattern library means pattern elements at an address determined by said pointer table storage means.
- 7. The system of claim 6 wherein said pattern calls identify a pattern and the column address of a point of said pattern, and wherein said means for extracting pattern data elements comprises pattern processing table storage means, means for storing in said processing table storage means library addresses of patterns in said pattern library means identified in pattern calls and scan line column addresses of such patterns, and
- means for transferring data elements of patterns identified in pattern calls from said library means to locations in said pattern buffer means identified by said column addresses of said processing table storage means.
- 8. The system of claim 7 wherein each pattern call identifies the column address of a point on the boundary of an area that encompasses such pattern.
- 9. The system of claim 8 including means responsive to each pattern call for entering in said processing table storage means data related to the pattern identified by such pattern call, and means for employing the pattern library address stored in the processing table storage means for selecting a line of pattern data for transfer from said pattern library means to said buffer means.
- 10. The system of claim 7 including means for monitoring the number of lines of data of each pattern transferred from said pattern library means.
- 11. The system of claim 7 wherein said processing table storage means includes a plurality of storage areas including active areas having active pattern data and empty areas not having active pattern data, each area including a map section that identifies the area address of another active area or of another empty area, said map sections forming a trail from one active area to another and from one empty area to another.
- 12. The system of claim 11 including an active pointer memory for temporarily storing the area address of one of said active areas, and an empty pointer memory for temporarily storing the area address of one of said empty areas.
- 13. The method of providing a data stream for control of a writing device to generate an image having a plurality of patterns, said method comprising
- storing at different addresses in a pattern library memory, bit data for each of said patterns in successive lines of data bits,
- storing in a pointer memory a list of the patterns in said library memory together with the library memory address of each pattern,
- identifying, for each scan line, each pattern that begins on such scan line and its position on the scan line,
- selecting from the pointer memory the library memory address of each identified pattern,
- storing in a pattern processing memory, data defining position on the scan line of each identified pattern and its library memory address,
- entering into a work buffer, for each scan line, the library memory bit data of each pattern for which an address is stored in the pattern processing memory, and making such entry at the scan line position stored in said processing memory,
- transferring said bit data from said work buffer to provide a data stream,
- storing map data in association with data of each identified pattern in said pattern processing memory, said map data for each pattern uniquely identifying the location in said pattern processing memory of data of another pattern therein, to thereby provide a trail from data of one pattern to data of another in said pattern processing memory, and
- storing in a scratch pad memory an active pattern pointer that uniquely designates location of data of one of the patterns in said pattern processing memory.
- 14. The method of claim 13 including storing in said pattern processing memory scan line position and library memory address data for another identified pattern, storing map data in association with said last mentioned pattern data that identifies the location designated by said active pointer in said scratch pad memory, and changing said active pointer to designate the location of said last mentioned pattern data, whereby said active pointer designates the location of data for the last identified pattern.
- 15. A system for generating an image in a plurality of scan lines of sequential image elements, said image including a plurality of patterns, said system comprising
- a pattern library memory for storing pattern lines of data that define elements of each line of a plurality of patterns of said image,
- an image data memory for storing scan line data having pattern calls that identify patterns that begin on each scan line,
- means for reading said scan line data from said image data memory, scan line by scan line,
- pattern work buffer means for storage of data that define image elements of a scan line,
- means responsive to each pattern call of a scan line read from said image data memory for transferring a line of pattern data from said pattern library memory to said pattern work buffer means, said pattern data transferring means comprising
- a pointer memory for storing library addresses of patterns in said pattern library memory,
- a pattern processing memory,
- means responsive to each pattern call of a scan line read from said image data memory for storing in said pattern processing memory active pattern data including the library address and scan line column address of patterns identified in calls read from said image data memory, and
- means for transferring data from library addresses of said active pattern data to locations in said pattern work buffer means identified by said column addresses of said active pattern data, write means for generating an image, and
- means for controlling said write means from data in said pattern work buffer means.
- 16. The system of claim 15 wherein each pattern call identifies the column address of a point on the boundary of an area that encompasses such pattern.
- 17. The system of claim 15 wherein each pattern call identifies the column address of an initial corner of a boundary rectangle that circumscribes such pattern.
- 18. The system of claim 15 wherein said pattern processing memory includes a plurality of active lines having active pattern data stored therein, each active line having a map section that stores the address in said pattern processing memory of a unique one of the other active lines, and active pointer memory for temporarily storing the address in said pattern processing memory of one of said active lines.
- 19. The system of claim 18 wherein said pattern processing memory includes means for storing the number of data lines in each pattern of which an address is stored therein, means for changing such number for each transfer of pattern data from said pattern library memory and means for changing the area address identified in the active line map section of one area upon transfer of data from said pattern library memory.
- 20. The system of claim 15 wherein said image includes a plurality of traces having relatively less change from one scan line to the next, the scan line data stored in said image data memory including trace calls that identify scan line data for said traces, trace work buffer means for storing trace data that defines image elements of a scan line, said means for controlling said write means comprising a line assembly buffer, means for storing in said line assembly buffer a complete scan line of scan data including image elements of both patterns and traces on such scan line, and means for transferring to said line assembly buffer data from either one or both of said work buffers.
- 21. The system of claim 20 including second pattern work buffer means for storage of data that define image elements of a scan line, and means for subtractively combining data of said second pattern work buffer means with data of at least one of said first mentioned pattern or trace work buffer means.
- 22. The method of providing a data stream for control of a raster to generate an image having a plurality of patterns, said method comprising
- storing in a first buffer data defining scan line elements of a first type of image component,
- storing in a second buffer data defining scan line elements of a second type of image component,
- generating a raster to produce an image,
- and controlling the generation of the raster in accordance with data from both the first and second buffers,
- said step of storing in said first buffer comprising controlling states of a run of like bits in said first buffer for a length defined by a run length code and starting at a bit position defined by a word address and a bit address within such word, said step of controlling states comprising the steps of
- feeding data from said first buffer to a switching device one word at a time,
- feeding to said switching device a color signal denoting the state to be established for each bit of a given run of bits within the first buffer,
- establishing a group of control signals in response to the bit position address and a run length word residual, and
- controlling the switching device to pass one or the other of its inputs to the first buffer according to said control signals.
- 23. The method of claim 22 wherein the step of controlling generation of the raster comprises transferring data from either one or both of the first and second buffers to a line assembly buffer and employing data in said line assembly buffer for control of generation of the raster.
- 24. The method of claim 22 including the step of additively combining data from said first and second buffers for transfer into a line assembly buffer, said step of controlling generation of the raster employing data from the line assembly buffer.
- 25. The method of claim 22 including the step of subtractively combining data from said first and second buffers for storage in a line assembly buffer, said step of controlling generation of the raster employing data from the line assembly buffer.
- 26. The method of claim 22 including the step of arithmetically summing the bit address and the run length word residual to obtain an updated bit address, and employing said updated bit address to control the control signals applied to the switching device.
- 27. A system for generating an image in a plurality of scan lines of image elements, said system comprising
- write means for generating an image,
- control means for controlling said write means,
- image data means for producing scan line data that defines a trapezoid, said scan line data including data defining column address of a point on said trapezoid, slope of one side of said trapezoid, width of said trapezoid along a scan line, rate of change of said width, and the height of said trapezoid,
- means responsive to said scan line data for driving said control means to cause said write means to generate a trapezoid, said means for driving said control means comprising buffer means, means responsive to said scan line data for storing in said buffer means elements of said trapezoid along a scan line, and means for transferring data from said buffer means to said control means, said buffer means comprising a memory having a plurality of word storage areas defining memory words, have composed of a plurality of bits, the bits to be controlled being specified by a plurality of commands, each command including a length code that defines a run of consecutive bits of like states, a color code that defines the state of the bits of said run, a start address that defines the word address of the memory word containing the start of a run, and the bit address within a memory word of the first bit of a run, said means for storing comprising
- means for recirculating bits from said memory at least one word at a time, and
- means responsive to said commands for controlling the state of bits of a word being recirculated, said last mentioned means for controlling comprising
- means for generating a bit mask that selects bits of a given word to be controlled, and
- means responsive to said bit mask generating means and to said color code for controlling states of those bits of a recirculating word selected by said bit mask generating means.
- 28. A system for generating an image in a plurality of scan lines of image elements comprising
- write means for generating an image,
- control means for controlling said write means,
- image data command storage means for storing trace, pattern and trapezoid commands, each said trace command defining column address and scan line width of scan line elements of a trace, each said pattern command defining pattern identification and column address of a point of an area that encompasses a pattern, each said trapezoid command defining column address of a point on a trapezoid, slope of one side of said trapezoid, width of said trapezoid along a scan line, rate of change of said width, and height of said trapezoid,
- pattern library means for storing pattern data defining elements of a plurality of patterns,
- trapezoid library means for storing said trapezoid commands and updating such commands for each scan line,
- trace work buffer means for storing data defining elements of a trace on a scan line,
- pattern work buffer means for storing data defining elements of a pattern on a scan line,
- trapezoid work buffer means for storing data defining elements of a trapezoid on a scan line,
- means responsive to a trace command for storing trace data in said trace buffer means,
- means responsive to a pattern command for transferring pattern data from said pattern library means to said pattern work buffer means,
- means responsive to a trapezoid command for transferring trapezoid data to said trapezoid work buffer means,
- a line assembly buffer,
- means for transferring data from each of said work buffer means to said line assembly buffer, and
- means responsive to said line assembly buffer for controlling said control means.
- 29. The system of claim 28 wherein each of said pattern and trapezoid work buffer means is cleared as data is transferred therefrom.
- 30. The system of claim 28 wherein data from said work buffers are additively and subtractively combined for transfer to said line assembly buffer.
- 31. The method of forming an image of a printed circuit board, said image having components comprising a number of pads and a number of traces, said pads including solid patterns of varying shapes and said traces including relatively narrow lines extending between said pads, said method comprising the steps of
- providing a write beam and a medium upon which an image is to be formed,
- scanning said write beam across said medium to form said image,
- providing a body of write beam controlling image data, and
- controlling said write beam in accordance with said image data, said step of providing a body of write beam controlling image data comprising
- grouping said image components into traces and patterns,
- providing a first group of data defining said traces line by line in code,
- providing a second group of data defining said patterns line by line,
- transferring a line of data defining said traces to a trace buffer,
- transferring a line of data defining said patterns to a pattern buffer, and
- combining data from both said buffers to form a line of write beam control data that defines part of said write beam controlling image data.
- 32. The method of claim 31 wherein said step of providing a first group of data defining said traces in code includes the step of providing a line address for each code, whereby data defined by a code of a line of said first group of data may be transferred to said trace buffer at a location thereof defined by the line address of such code.
- 33. The method of claim 31 wherein contents of said pattern buffer are cleared after being combined to form a line of write beam controlling image data, and wherein the contents of said trace buffer are changed only upon occurrence of a code in a line of data transferred to the trace buffer.
- 34. A system for generating an image of a printed circuit board, said image having components comprising a number of pads and a number of traces, said pads including solid patterns of varying shapes and said traces including relatively narrow lines extending between said pads, said system comprising
- means for providing a write beam,
- means for supporting a medium upon which an image is to be formed,
- means for scanning said write beam across said medium to form said image,
- means for providing a body of write beam controlling image data, and means for controlling said write beam in accordance with said image data, said means for providing a body of write beam controlling image data comprising
- a trace buffer,
- a pattern buffer,
- means for providing a first group of trace data defining said traces line by line,
- means for providing a second group of pattern data defining said patterns line by line,
- means for transferring a line of data defining said traces to said trace buffer,
- means for transferring a line of data defining said patterns to said pattern buffer, and
- means for combining data from both said buffers to form a line of write beam control data that defines part of said write beam controlling image data.
- 35. The system of claim 34 including means for clearing contents of said pattern buffer for each line of write beam controlling image data, and including means for clearing contents of said trace buffer only upon occurrence of trace data in a line of data to be transferred to the trace buffer.
Parent Case Info
This application is a continuation-in-part of U.S. patent application Ser. No. 314,524 for Scan Line Generator, filed Oct. 26, 1981, now abandoned.
US Referenced Citations (22)
Non-Patent Literature Citations (1)
Entry |
Bell System Technical Journal, Nov. 1970, pp. 2033-2074, by M. J. Cowan et al. |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
314524 |
Oct 1981 |
|