WO1986001154A1 - Process for coding, and process and device for decoding characters and graphic elements for electronic and electromechanical reproduction - Google Patents

Process for coding, and process and device for decoding characters and graphic elements for electronic and electromechanical reproduction Download PDF

Info

Publication number
WO1986001154A1
WO1986001154A1 PCT/DE1985/000265 DE8500265W WO8601154A1 WO 1986001154 A1 WO1986001154 A1 WO 1986001154A1 DE 8500265 W DE8500265 W DE 8500265W WO 8601154 A1 WO8601154 A1 WO 8601154A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
polynomial
contour
memory
coordinates
Prior art date
Application number
PCT/DE1985/000265
Other languages
German (de)
French (fr)
Inventor
Peter Krumhauer
Original Assignee
H. Berthold Aktiengesellschaft
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 H. Berthold Aktiengesellschaft filed Critical H. Berthold Aktiengesellschaft
Priority to DE8585904084T priority Critical patent/DE3576933D1/en
Publication of WO1986001154A1 publication Critical patent/WO1986001154A1/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
    • G09G1/14Control 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 the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B19/00Photoelectronic composing machines
    • B41B19/01Photoelectronic composing machines having electron-beam tubes producing an image of at least one character which is photographed

Definitions

  • the invention relates to a method for coding and a method and a device for decoding characters and graphic elements for electronic and electromechanical reproduction using polynomials.
  • Calculation changes based on slope change command but requires a large storage capacity for a large number of slope information, especially if straight, 0 inclined sections are to be generated as character outline sections without steps in a high typographic quality.
  • a special command 5 can be provided to form an outer line with a straight slope, which includes incremental changes in Y coordinate values.
  • This special command specifies how, starting from a starting point, the Y coordinate value is to be changed for each constant X coordinate increment o. For each special command, therefore, the specification of a number of X increments and thus of calculation cycles for which a change in the Y coordinate or the slope or the curvature is to be calculated.
  • the known character generator requires a large storage capacity for storing gradient information for typographically high-quality characters and for storing the number of calculation steps for which the special commands are to apply.
  • the calculations are relatively complex and require a large amount of computing time.
  • DE-PS 2 953 600 describes a setting device for the automatic generation of characters with a font memory, which for each character to be mapped in a normal grid, the first and second coordinates of the starting points of two contour lines with respect to the origin of the normal grid and a plurality of straight lines which successively extend along the character outline from the starting point Stores vectors as digital numbers.
  • the vectors are each determined by a first digital number representing the first coordinate distance and a second, the second coordinate distance from one vector end to the other.
  • a very good quality of the characters and graphic elements generated is achieved with the method according to the invention, with small amounts of data being required.
  • the device according to the invention allows decoding at high speed, its construction being simple and therefore inexpensive.
  • FIG 8 shows a part of a contour, on which an example of the selection of the puncture points from the contour points is shown.
  • Elements e.g.
  • a large number of characters are required in different typefaces, the large number of characters in a font being referred to as a character set.
  • the characters are stored in coded form, for example on a floppy disk, the electron beam of a screen, for example, being controlled in the photosetting machine depending on the stored and subsequently decoded data.
  • Start coordinates of one polynomial and the next or the difference between the start and end coordinates of each polynomial are saved, which requires fewer bits, in which case the start coordinates of each contour must also be available.
  • the information given above with regard to the number of contours per character, number of polynomials per contour and polynomial factors assigned to the polynomials, initial coordinates and codes about the type of polynomial for each character are recorded on the floppy disk, for example, so that they are available at all times.
  • the stored data is loaded into the photo setting machine in the case of decoding.
  • a conversion into contour points then takes place, which would normally be associated with a high level of computation, since the respective coordinates of the characters described by the cubic polynomials would have to be calculated by exponentiation or multiplication.
  • 'a method is applied to the upstream lying invention, in which the values of interest of the polynomials are produced by continuous parallel addition. By shifting to addition processes, a quick evaluation is possible, since a sum formation takes much less time than multiplying or
  • the starting values depend on the size, the rotation and the inclination of the characters, it does not make sense to save them during coding, but rather, as described above, the polynomial factors are used for the storage.
  • Fig. 1 shows a schematic overview of the decoding circuit according to the present invention, with the control of clarity is omitted and is shown separately in FIG. 2 with a more precise specification of the memory according to FIG. 1 and its content.
  • abscissa is defined to run in the x direction for horizontal polynomials and in the y direction for vertical polynomials
  • Coordinat is defined in such a way that it runs in the y direction for horizontal polynomials and in the x direction for vertical polynomials
  • an adder unit ADW reads the start values K, L, M, N stored in memory 1 for each polynomial and uses them for the above-mentioned addition to determine the y and y values. while K is supplied for further processing to an addresser ADR 1 connected to the adder ADW.
  • the coordinates x, y, ie addresses for a matrix memory 2 in the form of a bit map, are formed in the addresser ADR 1.
  • the values YX, S-, SO, S + and AO, E are supplied from the memory 1 to the addresser ADR 1.
  • the italic position, the stretching and the rotation of the sign are taken into account by S-, SO and S + and by determining the starting values K, L, M, N.
  • the step width for the abscissa represents the coordinate, the step size being 1 when the display is undistorted.
  • the sizes S-, S + denote the offset in the case of elongation, rotation or in italics position, the selection of the offset being dependent on the change in the coordinate K. K is therefore monitored in the adder ADW with regard to the change in the first decimal bit and a identification signal UK is sent to the addresser ADR 1.
  • the addresser ADR 1 monitors whether the final abscissa or coordinate E has been overflowed and, if necessary - 12 - a control command NP for the processing of the next polynomial is given.
  • the respective x ol d ' v old values are stored in the addresser ADR O.
  • the x, y and x ol (ä, y old values 9 provide the control coordinates for the characters, for example, on the screen visualizing electron beam in principle again.
  • the sampling for example, is perpendicular to the right, ie, at a specific x
  • the beam is scanned light or dark in accordance with the y coordinates.
  • Not all defined contour points can be control coordinates, hereinafter referred to as penetration points, for switching the scanning beam on or off, for example on an x- Several y values lie, whereby the beam should only be switched on once and switched off once. The penetration points must therefore be filtered out from the set of contour points.
  • the penetration points are determined in the FILTER circuit, which essentially has a memory , in which a truth table is stored. In this truth table, depending on . ⁇ y and Ax, ie on the change ei nes x, y value to the preceding x Qld , v old ⁇ ert and selected the penetration points from the general y direction.
  • the signals F1, FO are generated, which control a switch 3 connected between the addresser ADR 1 and the addresser ADR 0 and the matrix memory 2, which switch either the x, y or -die x Q ⁇ ⁇ , y -. ⁇ -Coordinate or both or neither of the two forwarded to the matrix memory 2.
  • the truth table was empirically determined taking into account the three criteria ⁇ x, ⁇ y and the respective general y direction in such a way that when a contour was traversed, an even number of puncture points resulted for each x coordinate.
  • FIG. 8 An example of the mode of operation of the FILTER circuit is shown in FIG. 8, in which the course of a contour is shown in a bitmap, dots representing the contour points provided in ADRI and circles the penetration points filtered out of them by FILTER.
  • Fig. 8 shows that through this operation of the truth table, the FILTER circuit generates an even number of piercing points for each x-coordinate.
  • the pixels lying between the intersection points of an x-coordinate can be filled with "1" or "O” using hardware or software means, so that a bitmap of the filled character is created from the matrix of the intersection point.
  • This bitmap can then be used by all graphics-capable devices, e.g. Matrix printers or terminal screens can be displayed.
  • the breakpoints defining the character are stored in the matrix memory 2 and the state of the bits in the memory locations of the memory 4 must correspond to the original state, since an even number of inversions should be carried out. If this is not the case, there will be an odd number of puncture points, so that the electron beam would remain switched on at the end and so-called "glitches” would occur, which must be avoided when displaying characters. If the memory content of memory 4 causes a "glitch" - 15 - is displayed, when the electron beam is actuated, all the y coordinates assigned to the x value are omitted and replaced by those of the previous x value.
  • Fig. 2 shows part of the decoding circuit and is particularly related to the sequence control
  • the sequence control has six control inputs and six function outputs and receives a start signal from and delivers an end signal to the controlling computer and also receives the system clock. Since the entire decoding circuit should work very quickly, a microprocessor can only be used if the speed is reduced.
  • the sequence controller 10 can be designed, for example, as a gate logic, as a programmable array logic (PAL) with a register, as a PROM with the register or as a state sequencer, each of which delivers specific output states for specific input states.
  • PAL programmable array logic
  • the entire decoding circuit is initiated (INIT DECODER 21), i.e. the sequencer 10 clears a polynomial address counter 11 connected to it (with CP signal), loads the next (first)
  • Contour K addresses the data of the next (first) polynomial (LP) via the polynomial counter
  • the loop 23 and all other loops 25, 26, 28, 29, 31, 32, 34 are carried out is determined by the links given on the left, for example in the case of loop 23
  • NP • F ⁇ ⁇ • F ⁇ means no signal NP and no signal FO and no signal Fl present.
  • FO is 1, ie active as a control signal
  • the state 24 is changed to "Write FO" and the sequence control 10 outputs the function signals WR "Write coordinate into the matrix memory 2" and FA
  • state 27 is addressed and the sequence controller 10 supplies the write signal WR and the selection signal FA.
  • the sequential control system receives the control signal NP and in the state diagram in FIG. 3 the state 30 is "next polynomial" - 17 - reached, whereby either the data of the next polynomial LP is loaded and the next coordinates x, y are calculated with PI or the signal NK "next contour" leads to state 33 or 77.
  • the signal EC stored in the memory 1 is called up and the state 35 END is reached. The remaining mode of operation can easily be seen from FIG. 3, taking into account the above explanations.
  • the state diagram defines, as indicated i above, the logical operation and thus the circuit de "r flow control 10, for example logic configured as Gatter ⁇ firmly.
  • FIG. 4 shows the adder ADW, which has an N register 40, an M register 41, an L register 42 and a K register 43, to which, apart from the K register 43, an adder 44, 45, 46 is assigned, ie connected downstream .
  • the M register 41, the L register 42 and the K register 43 are preceded by multiplexers 47, 48, 49 which act as switches.
  • the N, M, L and K values in the registers - 18 - 40, 41, 42, 43 written from memory 1, M, L and K running over the associated multiplexers 47, 48, 49.
  • the respective values are fed to the adders 44, 45, 46, for example in the adder 44 the N value being added to the • • M value and since there is no LP signal at the multiplexer 47 , this value is written into the M register as a new M value.
  • the adders 45 and 46 operate in a corresponding manner, so that the new K value is at the output 50.
  • a change detector 51 connected to the K register 43, it is determined whether the highest Nachko mabit of K has changed and how, and an output signal UK is supplied which, for example, +1 for a positive, -1 for a ⁇ negative change and is 0 if nothing has changed.
  • ADR 1 shows the addresser ADR 1 in the upper part and the addresser ADR 0 in the lower part.
  • ADR 1 includes a multiplexer 52, which switches depending on the control signal UK, S +, SO or S to an adder 53, wherein S +, S- and SO specify the respective step size for the abscissa of the contour points.
  • the output of the adder 53 * is connected to an input of a multiplexer 54, 55, the respective outputs of which are connected to an x register 56 and a y register 57.
  • the K value as the coordinate and the AO value as the initial abscissa are located at further inputs of the multiplexers 54, 55.
  • Addresser ADR1 also determines whether the end of a polynomial has been reached.
  • the multiplexer 59 selects a comparison value V from the X and Y registers ( 56, 57 ) . From the two input variables AB and YX, it determines the value above which it must be terminated. Horizontal polynomials with an abort via the abscissa and vertical polynomials with an abort via the coordinate result in an abort via the X register, the other polynomials result in an abort via the Y register.
  • the comparison value V is then compared i m comparator 75 with the final value E.
  • the logic circuit 76 recognizes the end of a polynomial from the comparison result and the polynomial direction D.
  • a polynomial is ended if and only if the polynomial runs forward and the comparison value V is greater than the end value E or if the polynomial runs backwards and the comparison value is smaller than the * end value.
  • the x and y values are fed to the addresser ADR 0 and each in an x -. ,, y. , - registers 61, 62 * , which can be designed, for example, as a shift register, are stored, the previous value in each case also - 20 -
  • a comparator 63, 64 determines whether the current x, y value has changed from the previous x ,,, y ⁇ x, ⁇ y signals to 'the filter circuit
  • FIG. 6 shows the filter circuit FILTER, which consists of a multiplexer 64, an FY register 65 and a memory 66.
  • the multiplexer has two input signals FYO and FY 'available, with control signal LK 5 being selected as the initial value for a next contour FYO.
  • FYO is 1 for all cases and FY 'denotes the general y direction, which is redetermined in each step.
  • a truth table is stored in the memory 66 which, depending on the general y-direction of the contour FY and the deviations of a point from the previous ⁇ x, ⁇ y, supplies the signals FO, Fl which determine the selection of the new or old contour points, with which As described above, the contour points are determined as penetration points.
  • Matrix memory 2 and memory 4 are shown, wherein a schematically indicated readout circuit 70 is additionally provided.
  • the switch arrangement 3 consists of the multiplexers 67, 68, which are dependent on the signal FA - 21 -
  • Inputs 72, 72 are connected to the readout circuit 70, input 73 being additionally connected to the DATA-OUT and input line 72 serving as an erase line.
  • Carrying a signal clears the memory contents, i.e. sets to 0.
  • the input signal is fed back in an inverted manner via the DATA-OUT and the NOR gate 71.
  • Read-out circuit 70 can be equipped with an evaluation circuit, for example the control circuit for the imagesetter or - 22 - another memory or the like can be connected.

Abstract

A process for coding, and a process and device for decoding characters and graphic elements is proposed, in which polynomials are processed. In these, horizontal (y = f(x)) and vertical (x = f(y)) polynomials are used. The polynomials of the contour concerned are calculated with spline functions, in which the running length of the polynomials is optimized. In coding, a characteristic number relating to the type of polynomial, the start and end co-ordinates and the polynomial factors are memorized for each polynomial of the contour. In decoding, the polynomial factors which are, independent of the character size, are converted into and memorized in character-size dependent starting values, for example, four starting values K, L, M, N for a third-order polynomial. Here, K corresponds to the actual function value, M to the second derivative, N to the third derivative and L to the derivative reduced by a/4, and for each contour point a new K-value is determined by adding the previous K-value and L-value, a new L-value is determined by adding the previous L-value and M-value, and a new M-value by adding the previous M-value and N-value. By using the prescribed character width and the relevant K-value determined, and taking into account the type of polynomial, the x, y co-ordinates of the contour points of the character are determined, whereby the xold, yold co-ordinates of the previous contour point are intermediately memorized. The x, y co-ordinates of the previous contour point are compared with the xold, yold co-ordinates of the previous contour point and a positive and/or negative deviation is determined. Depending on the relevant general direction of the contour and the deviations from the contour points the piercing points are selected and memorized.

Description

Verfahren zum Kodieren und Verfahren und Vor¬ richtung zum Dekodieren von Schriftzeichen und graphischen Elementen für die elektronische und elektromechanische WiedergabeCoding method and method and device for decoding characters and graphic elements for electronic and electromechanical reproduction
Die Erfindung betrifft ein Verfahren zum Kodieren und ein Verfahren und eine Vorrichtung zum De¬ kodieren von Schriftzeichen und graphischen Elementen für die elektronische und elektro¬ mechanische Wiedergabe unter Verwendung von Polynomen.The invention relates to a method for coding and a method and a device for decoding characters and graphic elements for electronic and electromechanical reproduction using polynomials.
Aus der DE-AS 24 22 464 sind ein Verfahren zum Kodieren von Schriftzeichen für den photo¬ elektronischen Lichtsatz, ein entsprechendes Dekodierverfahren und ein Zeichengenerator zurDE-AS 24 22 464 discloses a method for coding characters for the photo-electronic light set, a corresponding decoding method and a character generator for
Darstellung der kodierten Schriftzeichen bekannt, bei denen die Schriftzeichen auf der Basis eines normierten Quadrates als Normalraster entsprechend den Koordinaten eines Ausgangspunktes der Außenlinien des Zeichens als Digitalzahlen kodiert 1 werden und weiter gemäß veränderlichen Para¬ metern dieser Außenlinien, wie Steigungen und Krümmungen, definiert sind. Hierzu werden Befehle für eine Krümmungsanderung verwendet. Die Erzeugung einer geraden ansteigenden 5 oder abfallenden Linie, die auf einemRepresentation of the coded characters is known, in which the characters are encoded as digital numbers on the basis of a normalized square as a normal grid corresponding to the coordinates of a starting point of the outline of the character 1 and are further defined according to variable parameters of these outer lines, such as slopes and curvatures. Commands for changing the curvature are used for this. The creation of a straight ascending 5 or descending line on a
Steigungsänderungsbefehl basierenden Berechnun¬ gen beruht, erfordert aber eine hohe Speicher¬ kapazität für eine große Anzahl Steigungs¬ informationen, insbesondere wenn gerade, 0 geneigte Strecken als Schriftzeichen- umrißlinienabschnitte ohne Stufen in einer hohen typographischen Qualität zu erzeugen sind. Deswegen kann zur Bildung einer Außenlinie mit gerader Steigung ein spezieller Befehl 5 vorgesehen werden, der inkrementale Änderungen von Y-Koordinatenwerten beinhaltet. Dieser spezielle Befehl gibt an, wie, ausgehend von einem Ausgangspunkt, der Y-Koordinatenwert für jedes konstante X-Koordinateninkrement o zu verändern ist. Zu jedem speziellen Befehl gehört deswegen die Angabe einer Anzahl von X-Inkrementen und damit von Berechnungs¬ zyklen für die eine Veränderung der Y-Koordinate oder der Steigung oder der Krümmung auszurechnen 5 ist. Der bekannte Zeichengenerator benötigt eine große Speicherkapazität zur Speicherung .von Steigungsinformationen für typographisch hochwertige Schriftzeichen sowie zur Speicherung der Anzahrl von Berechnungsschritten, für welche die speziellen Befehle gelten sollen. Außerdem sind die Berechnungen relativ aufwendig und benötigen eine große Rechenzeit.Calculation changes based on slope change command, but requires a large storage capacity for a large number of slope information, especially if straight, 0 inclined sections are to be generated as character outline sections without steps in a high typographic quality. For this reason, a special command 5 can be provided to form an outer line with a straight slope, which includes incremental changes in Y coordinate values. This special command specifies how, starting from a starting point, the Y coordinate value is to be changed for each constant X coordinate increment o. For each special command, therefore, the specification of a number of X increments and thus of calculation cycles for which a change in the Y coordinate or the slope or the curvature is to be calculated. The known character generator requires a large storage capacity for storing gradient information for typographically high-quality characters and for storing the number of calculation steps for which the special commands are to apply. In addition, the calculations are relatively complex and require a large amount of computing time.
Die DE-PS 2 953 600 beschreibt ein Setzgerät zur automatischen Generierung von Schriftzeichen mit einem Schriftspeicher, der für jedes abzubildende Schriftzeichen in einem Normal¬ raster die ersten und zweiten Koordinaten von Ausgangspunkten zweier Umrißlinien bezogen auf den Ursprung des Normalrasters und eine Vielzahl geradliniger, sich aufein¬ anderfolgend entlang des Schriftzeichen¬ umrisses von dem Ausgangspunkt aus erstrecken¬ der Vektoren als Digitalzahlen speichert. Die Vektoren werden dabei jeweils durch eine erste, den ersten Koordinatenabstand und eine zweite, den zweiten Koordinatenabstand von einem Vektorende zum anderen darstellende Digitalzahl festgelegt. Bei dieser Art der Schriftzeichengenerierung ist die Qualität der einzelnen Schriftzeichen nicht sehr gut und bei einer Verbesserung der Qualität durch Verringerung der Vektorlänge wird die zu verarbeitende Datenmenge stark vergrößert.DE-PS 2 953 600 describes a setting device for the automatic generation of characters with a font memory, which for each character to be mapped in a normal grid, the first and second coordinates of the starting points of two contour lines with respect to the origin of the normal grid and a plurality of straight lines which successively extend along the character outline from the starting point Stores vectors as digital numbers. The vectors are each determined by a first digital number representing the first coordinate distance and a second, the second coordinate distance from one vector end to the other. With this type of character generation, the quality of the individual characters is not very good and if the quality is improved by reducing the vector length, the amount of data to be processed is greatly increased.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Kodieren und Dekodieren und ein Verfahren und eine Vorrichtung zum Dekodieren von Schriftzeichen und graphischen . Elementen für die elektronische und elektro- mechanische Wiedergabe zu schaffen, die es ermöglichen, bei möglichst geringem Rechen- und Daten- und somit Speicheraufwand glatte und ästhetische Konturen hoher Qualität zu erzeugen, wobei die Dekodierung möglichst schnell durchgeführt werden soll. Diese Auf¬ gabe wird erfindungsgemäß durch die kenn¬ zeichnenden Merkmale des Anspruchs 1 und/oder des Anspruchs 2 und des nebengeordneten Vorrichtungsanspruchs gelöst. T/DE85/00265The invention has for its object a method for coding and decoding and a method and an apparatus for decoding characters and graphics. To create elements for electronic and electromechanical reproduction, which make it possible to produce smooth and aesthetic contours of high quality with the least possible computing and data and thus storage effort, the decoding being carried out as quickly as possible. This object is achieved according to the invention by the characterizing features of claim 1 and / or claim 2 and the subordinate device claim. T / DE85 / 00265
- 4 - .- 4 -.
Mit dem erfindungsgemäßen Verfahren wird eine sehr gute Qualität der generierten Schrift¬ zeichen und graphischen Elemente erreicht, wobei geringe Datenmengen benötigt werden. Die erfindungsgemäße Vorrichtung erlaubt eine Dekodierung in hoher Geschwindigkeit, wobei ihr Aufbau einfach und somit kosten¬ günstig ist.A very good quality of the characters and graphic elements generated is achieved with the method according to the invention, with small amounts of data being required. The device according to the invention allows decoding at high speed, its construction being simple and therefore inexpensive.
Durch die in den Unteransprüchen angegebenen Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen der vorliegenden Erfindung möglich.Advantageous further developments and improvements of the present invention are possible through the measures specified in the subclaims.
Ein Ausführungsbeispiel der erfindungsgemäßen Vorrichtung ist in der Zeichnung dargestellt und wird in der nachfolgenden Beschreibung näher erläutert. Es zeigen: .An embodiment of the device according to the invention is shown in the drawing and is explained in more detail in the following description. Show it: .
Fig. 1 die schematische schaltungsge- mäße Ausgestaltung der Dekodier¬ vorrichtung,1 shows the schematic circuit configuration of the decoding device,
Fig. 2 die Beschalt ng des Datenspeichers und der Ablaufsteuerung der erfindungsgemäßen Dekodiervor¬ richtung,2 shows the circuitry of the data memory and the sequence control of the decoding device according to the invention,
Fig. 3 ein Zustandsdiagra m zur Be¬ schreibung des Dekodiervorganges,3 shows a state diagram for describing the decoding process,
Fig. 4 die Schaltung des Addierwerkes,4 the circuit of the adder,
Fig. 5 ein Ausführungsbeispiel einer Schaltung der Addierer, Fig. 6 ein Ausführungsbeispiel der5 shows an embodiment of a circuit of the adders, Fig. 6 shows an embodiment of the
FilterSchaltung,Filter circuit,
Fig. 7 eine SpeicherSchaltung für die Speicherung der die Konturen definierendenFig. 7 is a memory circuit for storing the defining the contours
Durchstoßpunkte, undPuncture points, and
Fig. 8 einen Teil einer Kontur, an der ein Beispiel für die Auswahl der Durchstoßpunkte aus den Konturpunkten darge¬ stellt ist.8 shows a part of a contour, on which an example of the selection of the puncture points from the contour points is shown.
Für die elektronische #und/oder elektromechanische Wiedergabe von Schriftzeichen und graphischenFor the electronic # and / or electromechanical rendering of characters and graphic
Elementen,z.B. für das Fotosetzverfahren, werden in jeweils unterschiedlichen Schriftbildern eine Vielzahl von Zeichen benötigt, wobei die Viel¬ zahl von Zeichen einer Schriftart als Zeichen- satz bezeichnet wird. Die Zeichen werden in kodierter Form gespeichert, beispielsweise auf einer Floppy-Disk, wobei in der Fotosetzmaschine beispielsweise der Elektronenstrahl eines Bild¬ schirmes abhängig von den gespeicherten und an- schließend dekodierten Daten angesteuert wird.Elements, e.g. For the photo-setting method, a large number of characters are required in different typefaces, the large number of characters in a font being referred to as a character set. The characters are stored in coded form, for example on a floppy disk, the electron beam of a screen, for example, being controlled in the photosetting machine depending on the stored and subsequently decoded data.
Die zu kodierenden Zeichen liegen entweder in mathematischer Form oder in graphischer Form vor und müssen in der Weise umgewandelt werden, daß sie ohne zu großen Speicheraufwand ge¬ speichert und beim Dekodieren schnell in die gewünschte Form umgesetzt werden können. ι \ ' The characters to be encoded are either in mathematical form or in graphical form and have to be converted in such a way that they can be stored without too much memory and can be quickly converted into the desired form during decoding. ι \ '
) In einem ersten Schritt werden die Konturen der Zeichen unter Verwendung von Spline- Funktionen dargestellt, die z.B. auf kubischen Polynomen basieren. Die vorgegebenen und zu kodierende Zeichen setzen sich dann aus Teilstücken von Kurven zusammen, die alle durch Polynome beschrieben werden. Falls die Ver¬ wendung der im vorliegenden Ausführungsbeispiel angeführten kubischen Polynomen die Genauig¬ keitsanforderungen nicht erfüllt, können auch höherwertige Polynome angewandt werden.) In a first step, the contours of the characters are displayed using spline functions, which e.g. are based on cubic polynomials. The predefined characters to be encoded are then composed of sections of curves, all of which are described by polynomials. If the use of the cubic polynomials mentioned in the present exemplary embodiment does not meet the accuracy requirements, higher-order polynomials can also be used.
Die Lauflänge der einzelnen Polynome bzw. die Länge der einzelnen Kurventeilstücke werden bei jeweils vorgegebenem Zeichen durch die Qualitätsanforderungen bestimmt. Durch Vergleich des betrachteten Kurvenstückes des Ausgangs- Zeichens mit dem durch das mit Hilfe der Spline- Funktion berechnete Polynom definierte Kurven¬ teilstück wird unter Berücksichtigung der vor- gegebenen maximalen Abweichung zwischen Polynom¬ kurve und Ausgangszeichen die maximale und somit optimierte Lauflänge des Polynoms ermittelt. Ist die gewünschte Qualität bei einer vorgege¬ benen Lauflänge nicht erreicht bzw. weit über- schritten, so wird die Lauflänge des Polynoms verringert bzw. vergrößert und der Vergleich wird erneut durchgeführt, wobei der Vorgang solange wiederholt wird,bis die Optimierung erreicht ist.The run length of the individual polynomials or the length of the individual curve sections are determined by the quality requirements for a given character. By comparing the considered curve section of the output character with the curve section defined by the polynomial calculated with the aid of the spline function, the maximum and thus optimized run length of the polynomial is determined taking into account the predetermined maximum deviation between the polynomial curve and the output character. If the desired quality is not achieved or far exceeded with a specified run length, the run length of the polynomial is reduced or increased and the comparison is carried out again, the process being repeated until the optimization is achieved.
Bei steigender Steilheit der Kurven der zu kodierenden Zeichen im x-y Koordinatensystem würden die Polynome immer kürzer.Dies bedeutete, daß sich die Zahl der Polynome unzulässig erhöhte. Durch einen Wechsel von x-orientierten (horizontalen) 1 Polynomen y=f(x) zu y-orientierten (vertikalen) Polynomen x=f(y) an den Kurvenstücken größerer Steilheit werden weniger Polynome zur Darstellung eines Zeichens, beispielsweise des Buchstabens 0 notwendig, so daß 'S*ρeicherraum eingespart wird.As the curves of the characters to be encoded increased in slope in the xy coordinate system, the polynomials became shorter and shorter, which meant that the number of polynomials increased inadmissibly. By changing from x-oriented (horizontal) 1 polynomials y = f (x) to y-oriented (vertical) polynomials x = f (y) on the curve sections of greater steepness, fewer polynomials are required to represent a character, for example the letter 0, so that 'S * ρ memory space is saved.
5 Der Wechsel von einem horizontalen Polynom auf ein vertikales Polynom und umgekehrt wird bei einem Steigungswinkel der Tangente von + 45°, d.h. bei y' = + 1 vorgenomme .5 The change from a horizontal polynomial to a vertical polynomial and vice versa is carried out at a slope angle of the tangent of + 45 °, i.e. at y '= + 1.
0 Jedes vorgegebene, zu kodierend? Zeichen wird somit von einer Vielzahl von horizontalen und vertikalen Polynomen y = ax 3 + bx2 + ex + d bzw. x = ay 3 + by2 + cy + d (oder höherer Ordnung) definiert. In einem Speicher, beispielsweise 5 einer Diskette, werden die kodierten Zeichen ge¬ speichert, wobei pro Zeichen angegeben wird, wieviel Konturen vorhanden sind und wieviel Polynome pro Kontur verwandt werden. Für jedes Polynom werden die Polynomfaktoren a, b, c, o eine Kennziffer, um welches Polynom es sich handelt (vertikal, horizontal), und die Anfangskoordinaten des Polynoms gespeichert. Zur weiteren Daten¬ komprimierung kann anstelle dieses Polynom¬ faktors und/oder der Anfangskoordinaten c jedes Polynoms die Differenz zwischen den0 Any given, to be coded? Characters are thus defined by a large number of horizontal and vertical polynomials y = ax 3 + bx2 + ex + d or x = ay 3 + by2 + cy + d (or higher order). The coded characters are stored in a memory, for example 5 on a floppy disk, with each character indicating how many contours are present and how many polynomials are used per contour. For each polynomial, the polynomial factors a, b, c, o, a code number, which polynomial it is (vertical, horizontal), and the starting coordinates of the polynomial are stored. For further data compression instead of this polynomial factor and / or the starting coordinates c of each polynomial, the difference between the
Startkoordinaten des einen Polynoms und des nächsten bzw. die Differenz zwischen Anfangs- und Endkoordinaten jedes Polynoms gespeichert werden, die.weniger Bit benötigt, wobei dann zusätzlich die Startkoordinaten jeder Kontur zur Verfügung stehen müssen. Für einen Zeichensatz werden die oben ange¬ gebenen Informationen hinsichtlich Anzahl der Konturen pro Zeichen, Anzahl der Polynome pro Kontur und den Polynomen zugeordnete Polynomfaktoren, Aήfangskoordinaten und Kennziffern über die Art des Polynoms für jedes Zeichen beispielsweise auf der Floppy-Disk festgehalten, so daß sie jederzeit zur Verfügung stehen.Start coordinates of one polynomial and the next or the difference between the start and end coordinates of each polynomial are saved, which requires fewer bits, in which case the start coordinates of each contour must also be available. For a character set, the information given above with regard to the number of contours per character, number of polynomials per contour and polynomial factors assigned to the polynomials, initial coordinates and codes about the type of polynomial for each character are recorded on the floppy disk, for example, so that they are available at all times.
Bei einer Dekodierung werden die gespeicherten Daten im vorliegenden Ausführungsbeispiel in die Fotosetzmaschine geladen. Es erfolgt dann eine Umrechnung in Konturpunkte, die normalerweise mit hohem Rechenaufwand ver- bunden wäre, da die jeweiligen Koordinaten der durch die kubischen Polynome beschriebenen Zeichen durch Potenzieren bzw. Multiplizieren berechnet werden müßten. Um die zeitaufwendigen Berechnungen zu vermeiden,' wird bei der vor- liegenden Erfindung ein Verfahren angewandt, bei dem die interessierenden Werte der Polynome durch fortwährende Paralleladdition erzeugt werden. Durch die Verlagerung auf Additionsvorgänge wird eine schnelle Auswertung möglich, da eine Summenbildung sehr viel weniger Zeit benötigt als das Multiplizieren bzw.In the present exemplary embodiment, the stored data is loaded into the photo setting machine in the case of decoding. A conversion into contour points then takes place, which would normally be associated with a high level of computation, since the respective coordinates of the characters described by the cubic polynomials would have to be calculated by exponentiation or multiplication. In order to avoid the time-consuming calculations, 'a method is applied to the upstream lying invention, in which the values of interest of the polynomials are produced by continuous parallel addition. By shifting to addition processes, a quick evaluation is possible, since a sum formation takes much less time than multiplying or
Potenzieren. An dem Beispiel eines Polynoms y = x 3 + 2x2 +,3x + 4 (Polynomfaktoren a = 1, b.= 2, c = 3, d = 4) soll die"Paralleladdition dargestellt werden.Potentiate. Using the example of a polynomial y = x 3 + 2x2 +, 3x + 4 (polynomial factors a = 1, b. = 2, c = 3, d = 4) the "parallel addition" is to be shown.
Dafür werden vier Startwerte K, L, M, N definiert, wobei K dem y-Wert, M der zweiten Ableitung und N der dritten Ableitung entspricht. L weicht um den Wert a/4 von der ersten Ableitung ab.
Figure imgf000011_0001
For this, four start values K, L, M, N are defined, where K corresponds to the y value, M to the second derivative and N to the third derivative. L deviates by a / 4 from the first derivative.
Figure imgf000011_0001
Wie zu erkennen ist, ergibt sich ein neuer K- Wert aus der Addition des vorherigen K-Wertes mit dem L-Wert, der neue L-Wert aus der Addition aus dem alten L-Wert und dem M-Wert und entsprechend der M-Wert aus der Addition des alten M-Wertes und des N-Wertes.As can be seen, a new K-value results from the addition of the previous K-value with the L-value, the new L-value from the addition from the old L-value and the M-value and corresponding to the M- Value from the addition of the old M value and the N value.
Da die Startwerte von der Größe, der Drehung und Neigung der Zeichen abhängig sind, ist es nicht sinnvoll, diese bei der Kodierung zu speichern, sondern es werden, wie oben be¬ schrieben, die Polynomfaktoren für die Speicherung herangezogen.Since the starting values depend on the size, the rotation and the inclination of the characters, it does not make sense to save them during coding, but rather, as described above, the polynomial factors are used for the storage.
Im folgenden soll die Dekodierschaltung näher beschrieben werden. Die Daten der Zeichen werden von der Floppy-Disk in einen Zwischenspeicher des die Dekodierschaltung aufweisenden Belichters, Druckers oder Bildschirmanordnung oder dergleichen gelesen und in Werte umgerechnet, die die jeweilige gewünschte Schriftgröße, eine Dehnung, eine Drehung des* Zeichens oder eine Neigung, d.h. Kursivstellung berücksichtigen. Alle not- wendigen Werte werden matrixartig, dem jeweiligen Polynom zugeordnet, in einem Speicher gespeichert.The decoding circuit will be described in more detail below. The data of the characters are read from the floppy disk into a buffer of the imagesetter, printer or screen arrangement or the like having the decoding circuit and converted into values which correspond to the respective desired font size, an expansion, a rotation of the * character or an inclination, i.e. Take italics into account. All the necessary values are stored in a matrix-like manner, assigned to the respective polynomial, in a memory.
Fig. 1 zeigt einen schematischen Überblick der DekodierSchaltung entsprechend der vorliegenden Erfindung, wobei die Steuerung der Übersichtlichkeit wegen weggelassen ist und in Fig. 2 getrennt mit einer genaueren Angabe des Speichers nach Fig. 1 und dessen Inhalt dargestellt wird.Fig. 1 shows a schematic overview of the decoding circuit according to the present invention, with the control of clarity is omitted and is shown separately in FIG. 2 with a more precise specification of the memory according to FIG. 1 and its content.
In dem Speicher 1 sind nach der Datenübergabe vom steuernden Rechnersystem {Doppelpfeil in Fig. 2) folgende Größen gespeichert:The following variables are stored in the memory 1 after the data transfer from the controlling computer system (double arrow in FIG. 2):
Y X - Angabe der PolynomrichtungY X - indicates the direction of the polynomial
(1 - horizontal, 0 - vertikal)(1 - horizontal, 0 - vertical)
AO - Anfangswert der Abszisse des Polynoms, wobei "Abszisse" dahingehend definiert ist, daß sie für horizontale Polynome in x-Richtung und für vertikale Polynome in y- ichtung läuftAO - initial value of the abscissa of the polynomial, where "abscissa" is defined to run in the x direction for horizontal polynomials and in the y direction for vertical polynomials
E - Endabszisse bzw. Koordinate, wobeiE - final abscissa or coordinate, where
"Koordinate" dahingehend definiert ist, daß sie für horizontale Polynome in y-Richtung und für vertikale Polynome in x-Richtung läuft"Coordinate" is defined in such a way that it runs in the y direction for horizontal polynomials and in the x direction for vertical polynomials
AB, NK, EC - Kennzeichen für den Abbruch über die Abszisse oder die Koordinate, Kennzeichen für den Beginn einer neuen Kontur und Kennzeichen für das Ende eines ZeichensAB, NK, EC - marks for the termination via the abscissa or the coordinate, marks for the beginning of a new contour and marks for the end of a character
K, L, M, N - Startwerte, wobei K gleichzeitig die Anfangskoordinate istK, L, M, N - start values, where K is also the starting coordinate
S-, SO, S+ - Angabe über den Abszissenfortschritt in Abhängigkeit von AK (Koordinatenänderung) D - Angabe über die allgemeine Laufrichtung des Polynoms in bezug auf das Abbruch¬ kriterium AB (wenn z.B. AB kennzeichnet, daß die Kontur über die Abszisse abge¬ brochen wird, zeigt D = 1, daß das Polynom in steigende Abszissenrichtung verläuft.S-, SO, S + - Information about the progress of the abscissa depending on AK (change of coordinates) D - Information about the general running direction of the polynomial in relation to the abort criterion AB (if, for example, AB indicates that the contour is aborted via the abscissa, D = 1 shows that the polynomial runs in the increasing abscissa direction.
Abhängig von der Steuerung werden von einem Addierwerk ADW nach Fig. 1 die im Speicher 1 für jedes Polynom gespeicherten Startwerte K, L, M, N ausgelesen und für die oben ange¬ führte Addition zur Bestimmung der y- bzw. y-Werte verwendet, während K zur weiteren Ver¬ arbeitung an einen mit dem Addierwerk ADW verbundenen Adressierer ADR 1 geliefert wird. In dem Adressierer ADR 1 werden die Koordinaten x, y, d.h. Adressen für einen in Form einer Bitmap ausgebildeten Matrixspeicher 2 gebildet. Dazu werden aus dem Speicher 1 die Werte YX, S-, SO, S+ und AO, E an den Adressierer ADR 1 geliefert. Die Kursivstellung, die Dehnung und die Drehung des Zeichens werden durch S-, SO und S+ und durch die Bestimmung der Startwerte K, L, M, N berücksichtigt. So gibt die Schritt¬ weite für die Abszisse die Koordinate wieder, wobei die Schrittweite bei unverzerrter Wieder¬ gabe 1 ist. Die Größen S-, S+ bezeichnen den Offset bei Dehnung, Drehung bzw. bei Kursiv¬ stellung, wobei die Auswahl des Offsets ab¬ hängig von-der Änderung der Koordinate K ist. Daher wird K im Addierwerk ADW hinsichtlich der Änderung des ersten Nachkommabits überwacht und es wird ein Kennsignal UK an den Adressierer ADR 1 gegeben.'Weiterhin wird im Adressierer ADR 1 überwacht, ob die Endabszisse bzw. -koordinate E überlaufen wurde und gegebenenfalls - 12 - ein Steuerbefehl NP für die Bearbeitung des nächsten Polynoms gegeben. Die inADR'1)bestimm¬ ten, die Konturpunkte des Zeichens angebenden x, y-Werte werden hinsichtlich ihrer Änderung zu den x ,,, y ., Werten des vorangehenden Konturpunktes im Adressierer ADR O überwacht, der folgende Signale liefert: Ax, Ay = 1 bei positiver Abweichung, Δ ,Δ = -1 bei negativer Abweichung undΔxrΔ = 0 wenn keine Änderung des aktuellen Punktes zum vor- hergehenden Punkt vorhanden ist. Außerdem wird im Adressierer ADR O die jeweiligen xold' vold Werte gespeichert.Depending on the control system, an adder unit ADW according to FIG. 1 reads the start values K, L, M, N stored in memory 1 for each polynomial and uses them for the above-mentioned addition to determine the y and y values. while K is supplied for further processing to an addresser ADR 1 connected to the adder ADW. The coordinates x, y, ie addresses for a matrix memory 2 in the form of a bit map, are formed in the addresser ADR 1. For this purpose, the values YX, S-, SO, S + and AO, E are supplied from the memory 1 to the addresser ADR 1. The italic position, the stretching and the rotation of the sign are taken into account by S-, SO and S + and by determining the starting values K, L, M, N. The step width for the abscissa represents the coordinate, the step size being 1 when the display is undistorted. The sizes S-, S + denote the offset in the case of elongation, rotation or in italics position, the selection of the offset being dependent on the change in the coordinate K. K is therefore monitored in the adder ADW with regard to the change in the first decimal bit and a identification signal UK is sent to the addresser ADR 1. In addition, the addresser ADR 1 monitors whether the final abscissa or coordinate E has been overflowed and, if necessary - 12 - a control command NP for the processing of the next polynomial is given. The x, y values determining the contour points of the character determined in ADR'1) are monitored for their change to the x ,,, y., Values of the preceding contour point in the addressing device ADR O, which supplies the following signals: Ax, Ay = 1 for a positive deviation, Δ, Δ = -1 for a negative deviation and ΔxrΔ = 0 if there is no change in the current point to the previous point. In addition, the respective x ol d ' v old values are stored in the addresser ADR O.
Die x, y bzw. xol(ä, yold Werte 9eben grund- sätzlich auch die Steuerkoordinaten für den die Zeichen, beispielsweise auf dem Bildschirm sichtbar machenden Elektronenstrahl wieder. Dabei geht die Abtastung beispielsweise senkrecht vor sich, d.h. bei einem bestimmten x-Wert wird der Strahl entsprechend dn y-Koordi¬ naten hell bzw. dunkel getastet. Nicht alle festgelegten Konturpunkte können Steuer¬ koordinaten, im folgenden als Durchstoßpunkte bezeichnet, für das Ein- bzw. Ausschalten des Abtaststrahles sein, beispielsweise können auf einem x-Wert mehrere y-Werte liegen, wobei der Strahl nur einmal eingeschaltet und einmal ausgeschaltet werden soll. Daher müssen aus der Menge.der Konturpunkte die Durchstoßpunkte ausgefiltert werden. Die Bestimmung der Durch¬ stoßpunkte erfolgt in der Schaltung FILTER, die im wesentlichen einen Speicher aufweist, in dem eine Wahrheitstabelle gespeichert ist. In dieser Wahrheitstabelle werden abhängig von.Δy und Ax, d.h. von der Änderung eines x, y-Wertes zu dem vorangehenden xQld, vold~ ert und von der allgemeinen y-Richtung die Durchsto߬ punkte ausgewählt. Dabei werden die Signale Fl, FO erzeugt, die einen zwischen dem Adressierer ADR 1 und dem Adressierer ADR 0 und dem Mätrix- Speicher 2 geschalteten Schalter 3 steuern, der entweder die x, y oder -die xQι^, y -.^-Koordinate oder beide oder keine der beiden an den Matrix- speichεr 2 weiterleitet.The x, y and x ol (ä, y old values 9 provide the control coordinates for the characters, for example, on the screen visualizing electron beam in principle again. In this case, the sampling, for example, is perpendicular to the right, ie, at a specific x The beam is scanned light or dark in accordance with the y coordinates. Not all defined contour points can be control coordinates, hereinafter referred to as penetration points, for switching the scanning beam on or off, for example on an x- Several y values lie, whereby the beam should only be switched on once and switched off once. The penetration points must therefore be filtered out from the set of contour points. The penetration points are determined in the FILTER circuit, which essentially has a memory , in which a truth table is stored. In this truth table, depending on .Δy and Ax, ie on the change ei nes x, y value to the preceding x Qld , v old ~ ert and selected the penetration points from the general y direction. The signals F1, FO are generated, which control a switch 3 connected between the addresser ADR 1 and the addresser ADR 0 and the matrix memory 2, which switch either the x, y or -die x Q ι ^, y -. ^ -Coordinate or both or neither of the two forwarded to the matrix memory 2.
Die Wahrheitstabelle wurde unter Berücksichtiσung der drei KriterienΔx, Δy und der jeweiligen allgemeinen y-Richtung empirisch so ermittelt, daß beim Durch¬ laufen einer Kontur für jede x-Koordinate sich eine gerade Anzahl von Durchstoßpunkten ergibt.The truth table was empirically determined taking into account the three criteria Δx, Δy and the respective general y direction in such a way that when a contour was traversed, an even number of puncture points resulted for each x coordinate.
Ein Beispiel für die Wirkungsweise der Schaltung FILTER zeigt Fig. 8, in der der Verlauf einer Kontur in einer bitmap dargestellt ist, wobei Punkte die in ADRl bereitgestellten Konturpunkte darstellen und Kreise die aus ihnen durch FILTER herausge¬ filterten Durchstoßpunkte.An example of the mode of operation of the FILTER circuit is shown in FIG. 8, in which the course of a contour is shown in a bitmap, dots representing the contour points provided in ADRI and circles the penetration points filtered out of them by FILTER.
Beim Erzeugen des Konturpunktes 92 ist die allge¬ meine y-Richtung FY=-1 (91),Δy=-l und x=+l. Aus diesen Eingangswerten liefert die Wahrheitstabelle als Ausgangssignal Fl, d.h.,der aktuelle Kontur¬ punkt 92 wird zum Durchstoßpunkt. Bei der Erzeugung der Konturpunkte 93 und 94 liegen die selben Para¬ meter vor, so daß auch diese zu Durchstoßpunkten werden.When generating the contour point 92, the general y-direction is FY = -1 (91), Δy = -l and x = + l. The truth table supplies these input values as the output signal F1, i.e. the current contour point 92 becomes the piercing point. When the contour points 93 and 94 are generated, the same parameters are present, so that these too become puncture points.
Beim Übergang von 94 auf 95 istΔx=o.- Mit dieser veränderten Eingangsgröße liefert die Wahrheits¬ tabelle kein Signal; 95 - wie dann auch 96 und 97 - werden daher zunächst nicht als Durchstoßpunkt gespeichert. - 13a - Beim Übergang von 97 auf 98 und auf die folgenden Konturpunkte 99 und 100 ist A x=-l. Die neue Kombination der Eingangswerte: FY=-l,Δ =-l, Δy=-1 erzeugt in der Wahrheitstabelle das Signal FO, d.h., der' vorangegangene Kontur- punkt 97, der mit x-old und y-old in ADRO vorliegt, wird zum Durchstoßpunkt. Genauso erzeugen die Konturpunkte 99 und 100 rückwirkend die Durchstoßpunkte 98 und 99.At the transition from 94 to 95, Δx = o.- With this changed input variable, the truth table delivers no signal; 95 - like 96 and 97 - are therefore not initially saved as a puncture point. - 13a - At the transition from 97 to 98 and to the following contour points 99 and 100, A x = -l. The new combination of the input values: FY = -l, Δ = -l, Δy = -1 generates the signal FO in the truth table, ie the ' previous contour point 97 which is present in ADRO with x-old and y-old , becomes the piercing point. In the same way, the contour points 99 and 100 create the penetration points 98 and 99 retrospectively.
Fig. 8 zeigt, daß durch diese Wirkungsweise der Wahrheitstabelle die Schaltung FILTER für jede x-Koordinate jeweils eine gerade Anzahl von Durchstoßpunkteri erzeugt. Fig. 8 shows that through this operation of the truth table, the FILTER circuit generates an even number of piercing points for each x-coordinate.
- 14 -- 14 -
Für andere Darstellungarten kann mit Hardware¬ oder Software-Mitteln die zwischen den Durch¬ stoßpunkten einer x-Koordinate liegenden Pixel jeweils mit "1" oder "O" gefüllt werden, so daß aus der Matrix der Durchstoßpunkt eine Bitmap des gefüllten Zeichens entsteht. Diese Bitmap kann dann von allen graphikfähigen Geräten, z.B. Matrixdrucker oder Terminal-Bildschirmen dargestellt werden.For other types of representation, the pixels lying between the intersection points of an x-coordinate can be filled with "1" or "O" using hardware or software means, so that a bitmap of the filled character is created from the matrix of the intersection point. This bitmap can then be used by all graphics-capable devices, e.g. Matrix printers or terminal screens can be displayed.
Der Speicher 2 ist als Matrix bzw. als Bitmap organisiert, wobei das durch die von den x, y- bzw. x , ,, y , ,-Koordinaten vorgegebener Adresse adressierte Bit invertiert wird und damit vor¬ läufig als Durchstoßpunkt gilt. Wird das Bit noch einmal angesprochen, so wird es als Durch¬ stoßpunkt wieder gelöscht. Zusätzlich ist ein weiterer Speicher 4 vorgesehen, dessen Speicher¬ plätze in der Weise ausgebildet sind, daß jeder x-Koordinate ein Bit zugeordnet ist. Wird in dem Matrixspeicher 2 ein Durchstoßpunkt einge¬ schrieben, so wird gleichzeitig das dem x-Wert zugeordnete Bit im Speicher 4 invertiert. Nach¬ dem das Zeichen abgearbeitet ist, stehen in dem Matrixspeicher 2 die das Zeichen definierenden Durσhstoßpunkte und in den Speicherplätzen des Speichers 4 muß der Zustand der Bits dem Ursprünglichen Zustand entsprechen, da eine gerade Anzahl von Invertierungen vorgenommen sein sollte. Ist dieser Fall nicht gegeben, ist eine ungerade Anzahl von Durchstoßpunkten vor¬ handen, so daß der Elektronenstrahl zum Schluß eingeschaltet bliebe und sogenannte "glitches" entstünden, die bei der Darstellung von Zeichen unbedingt vermieden werden müssen. Falls durch den Speicherinhalt des Speichers 4 ein "glitch" - 15 - angezeigt wird, so wird bei der Ansteuerung des Elektronenstrahls alle dem x-Wert zuge¬ ordneten y-Koordinaten weggelassen und durch die des vorhergehenden x-Wertes ersetzt.The memory 2 is organized as a matrix or as a bit map, the bit addressed by the address given by the x, y or x, ,, y,, coordinates being inverted and thus temporarily being the piercing point. If the bit is addressed again, it is deleted again as a piercing point. In addition, a further memory 4 is provided, the memory locations of which are designed in such a way that a bit is assigned to each x coordinate. If a piercing point is written into the matrix memory 2, the bit in the memory 4 assigned to the x value is inverted at the same time. After the character has been processed, the breakpoints defining the character are stored in the matrix memory 2 and the state of the bits in the memory locations of the memory 4 must correspond to the original state, since an even number of inversions should be carried out. If this is not the case, there will be an odd number of puncture points, so that the electron beam would remain switched on at the end and so-called "glitches" would occur, which must be avoided when displaying characters. If the memory content of memory 4 causes a "glitch" - 15 - is displayed, when the electron beam is actuated, all the y coordinates assigned to the x value are omitted and replaced by those of the previous x value.
Fig. 2 zeigt einen Teil der Dekodierschaltung und ist insbesondere auf die AblaufsteuerungFig. 2 shows part of the decoding circuit and is particularly related to the sequence control
10 gerichtet, wobei die Steuerung mit Hilfe des Zustandsdiagramms nach Fig. 3 erläutert werden soll« Die Ablaufsteuerung weist sechs Steuereingänge und sechs Funktionsausgänge auf und bekommt ein Startsignal von und liefert ein Endsignal an den steuernden Rechner und erhält außerdem den Systemtakt. Da die gesamte DekodierSchaltung sehr schnell arbeiten soll, kann ein Mikroprozessor nur bei Verringerung der Geschwindigkeit verwendet werden. Die Ablaufsteuerung 10 kann beispielsweise als Gatterlogik (gate array) , als programmable array logic (PAL) mit Register, als PROM mit dem Register oder als State sequencer ausgebildet sein, die jeweils für bestimmte Eingangszustände bestimmte Ausgangszustände liefern.10 directed, whereby the control is to be explained with the aid of the state diagram according to FIG. 3 "The sequence control has six control inputs and six function outputs and receives a start signal from and delivers an end signal to the controlling computer and also receives the system clock. Since the entire decoding circuit should work very quickly, a microprocessor can only be used if the speed is reduced. The sequence controller 10 can be designed, for example, as a gate logic, as a programmable array logic (PAL) with a register, as a PROM with the register or as a state sequencer, each of which delivers specific output states for specific input states.
Nach dem Startsignal vom nicht zur Erfindung gehörenden steuernden Rechner wird die gesamte DekodierSchaltung initiiert (INIT DECODER 21) , d.h. die Ablaufsteuerung 10 löscht einen mit ihr verbundenen Polynomadresszähler 11 (mit CP-Signal) , lädt die nächste (erste)After the start signal from the controlling computer not belonging to the invention, the entire decoding circuit is initiated (INIT DECODER 21), i.e. the sequencer 10 clears a polynomial address counter 11 connected to it (with CP signal), loads the next (first)
Kontur K, adressiert die Daten des nächsten (ersten) Polynoms (LP) über den PolynomzählerContour K, addresses the data of the next (first) polynomial (LP) via the polynomial counter
11 und lädt sie in das Addierwerk ADW, läßt das nächste Pixel (PI) (die nächsten Koordinaten) . im Addierwerk ADW und den Adressierer ADR 1 - 16 - bestimmen. In dem Zustand 22 "Next Pixel" werden in dem Addierwerk ADW das nächste K, in den Adressierern ADR 1 und ADR O die neuen und alten Koordinaten x, y; x ιd/ yoι<-ι der Konturpunkte und in "dem Filterbaustein FILTER die Steuersignale FO, Fl (überführe den Inhalt von ADR O, ADR 1 in den Matrixspeicher 2) be¬ stimmt. Wird an die Ablaufsteuerung 10 kein Steuersignal FO, Fl und NP (nächstes Polynom) geliefert, ein Zustand, der beispielsweise bei Λx = 0 auftritt, so wird, durch die11 and loads them into the adder ADW, leaves the next pixel (PI) (the next coordinates). in the ADW and ADR 1 - 16 - determine. In state 22 "Next Pixel" the next K is in the adder ADW, the new and old coordinates x, y in the addressers ADR 1 and ADR O; x ι d / y o ι <-ι the contour points and right in "the filter block filter the control signals FO, Fl (via lead the contents of ADR O, ADR 1 in the matrix memory 2) be¬. If the sequence controller 10 a control signal FO , Fl and NP (next polynomial) is supplied, a state which occurs, for example, at Λx = 0, by which
Schleife 23 angedeutet, die nächste Koordinate (Next Pixel 22) bestimmt, wobei die Ablauf¬ steuerung 10 das Funktionssignal PI liefert. Wann die Schleife 23 und alle anderen Schleifen 25, 26, 28, 29, 31, 32, 34 durchgeführt werden, wird durch die links angegebenen Verknüpfungen bestimmt, beispielsweise bedeutet bei Schleife 23 NP • FÖ~ • FΪ kein Signal NP und kein Signal FO und kein Signal Fl vorhanden. Für die erfindungs- wesentliche Offenbarung wird ausdrücklich auf die Fig. 3 Bezug genommen. Ist FO gleich 1, d.h. als Steuersignal aktiv, so wird in den Zustand 24 "Write FO" übergegangen und die Ablauf¬ steuerung 10 gibt die FunktionsSignale WR "Schreibe Koordinate in den Matrixspeicher 2" und FALoop 23 indicated, the next coordinate (next pixel 22) is determined, the sequence control 10 delivering the function signal PI. When the loop 23 and all other loops 25, 26, 28, 29, 31, 32, 34 are carried out is determined by the links given on the left, for example in the case of loop 23 NP • FÖ ~ • FΪ means no signal NP and no signal FO and no signal Fl present. For the disclosure essential to the invention, express reference is made to FIG. 3. If FO is 1, ie active as a control signal, the state 24 is changed to "Write FO" and the sequence control 10 outputs the function signals WR "Write coordinate into the matrix memory 2" and FA
"Adress-Select für WR" (Wähle x, y, oder xQld,"Address-Select for WR" (choose x, y, or x Qld ,
-Old-Old
Ist am Ausgang von FILTER auch Fl vorhanden bzw. gleich 1, so wird Zustand 27 angesprochen und die Ablaufsteuerung 10 liefert das Schreib¬ signal WR und das Auswahlsignal FA. Wenn ein Polynom abgearbeitet ist, erhält die Ablauf¬ steuerung das Steuersignal NP und im Zustands- diagramm Fig. 3 wird der Zustand 30 "Next Polynom" - 17 - erreicht, wobei entweder die Daten des nächsten Polynoms LP geladen und die nächsten Koordinaten x, y mit PI berechnet werden oder das Signal NK "Nächste Kontur" in den Zustand 33 oder 77 leitet. Zur Vermeidung von Glitches muß der Kontur- Startpunkt gesondert behandelt werden. Ist die allgemeine y-Richtung negativ (d.h. FY = O) , wird der letzte berechnete Konturpunkt noch einmal invertiert (Zustand close, 77) . Beim Ende des Zeichens wird das in dem Speicher 1 gespeicherte Signal EC abgerufen und der Zustand 35 END er- reicht. Die restliche Funktionsweise ist aus der Fig. 3 unter Berücksichtigung der obigen Aus¬ führungen ohne weiteres zu erkennen.If F1 is also present at the output of FILTER or is equal to 1, state 27 is addressed and the sequence controller 10 supplies the write signal WR and the selection signal FA. When a polynomial has been processed, the sequential control system receives the control signal NP and in the state diagram in FIG. 3 the state 30 is "next polynomial" - 17 - reached, whereby either the data of the next polynomial LP is loaded and the next coordinates x, y are calculated with PI or the signal NK "next contour" leads to state 33 or 77. To avoid glitches, the contour starting point must be treated separately. If the general y-direction is negative (ie FY = O), the last calculated contour point is inverted again (state close, 77). At the end of the character, the signal EC stored in the memory 1 is called up and the state 35 END is reached. The remaining mode of operation can easily be seen from FIG. 3, taking into account the above explanations.
Das Zustandsdiagramm legt, wie schon oben i angedeutet, die logische Verknüpfung und somit die Beschaltung de"r beispielsweise als Gatter¬ logik ausgebildeten Ablaufsteuerung 10 fest.The state diagram defines, as indicated i above, the logical operation and thus the circuit de "r flow control 10, for example logic configured as Gatter¬ firmly.
In den Fig. 4 bis 7 sind das Addierwerk ADW, die Adressierer ADR 1 und ADR O, die FilterSchaltung FILTER und die Speicher 2, 4 aus der Fig. 1 im einzelnen dargestellt. Fig. 4 zeigt das Addierwerk ADW, das ein N Register 40, ein M Register 41, ein L Register 42 und ein K Register 43 aufweist, denen bis auf das K Register 43 jeweils ein Addierer 44, 45, 46 zugeordnet, d.h. nachgeschaltet sind. Dem M Register 41, dem L Register 42 und dem K Register 43 vorge- schaltet sind als Schalter arbeitende Multi- plexer 47, 48, 49. Zu Beginn des Dekodierens, d.h. beim Initialisieren und beim Übergang von einem Polynom auf das andere werden ab¬ hängig vom Signal LP (bei LP = 1 oder high) die N, M, L und K-Werte in die Register - 18 - 40, 41, 42, 43 aus dem Speicher 1 geschrieben, wobei M, L und K über die zugehörigen Multi- plexer 47, 48, 49 laufen. Als Antwort auf das Signal PI werden die jeweiligen Werte den Addierern 44, 45, 46 zugeführt, wobei bei- spielsweise in dem Addierer 44 der N-Wert mit de •M-Wert addiert wird und, da kein LP Signal am Multiplexer 47 anliegt, dieser Wert als neuer M-Wert in das M-Register eingeschrieben wird. Parallel dazu arbeiten in entsprechender Weise die Addierer 45 und 46, so daß am Ausgang 50 der neue K-Wert liegt.4 to 7, the adder ADW, the addressers ADR 1 and ADR O, the filter circuit FILTER and the memories 2, 4 from FIG. 1 are shown in detail. FIG. 4 shows the adder ADW, which has an N register 40, an M register 41, an L register 42 and a K register 43, to which, apart from the K register 43, an adder 44, 45, 46 is assigned, ie connected downstream . The M register 41, the L register 42 and the K register 43 are preceded by multiplexers 47, 48, 49 which act as switches. At the beginning of the decoding, ie during initialization and during the transition from one polynomial to the other, ab¬ depending on the signal LP (with LP = 1 or high) the N, M, L and K values in the registers - 18 - 40, 41, 42, 43 written from memory 1, M, L and K running over the associated multiplexers 47, 48, 49. In response to the signal PI, the respective values are fed to the adders 44, 45, 46, for example in the adder 44 the N value being added to the • M value and since there is no LP signal at the multiplexer 47 , this value is written into the M register as a new M value. In parallel, the adders 45 and 46 operate in a corresponding manner, so that the new K value is at the output 50.
In einem mit dem K-Register 43 verbundenen Änderungsdetektor 51 wird festgestellt, ob das höchste Nachko mabit von K sich geändert hat und wie, und es wird ein Ausgangssignal UK geliefert, das beispielsweise +1 bei einer positiven, -1 bei einer^negativen Änderung und 0 ist, wenn sich nichts geändert hat.In a change detector 51 connected to the K register 43, it is determined whether the highest Nachko mabit of K has changed and how, and an output signal UK is supplied which, for example, +1 for a positive, -1 for a ^ negative change and is 0 if nothing has changed.
Die Fig. 5 zeigt den Adressierer ADR 1 im oberen Teil und den Adressierer ADR 0 im unteren Teil. ADR 1 weist einen Multiplexer 52 auf, der abhängig von dem Steuersignal UK, S+, SO oder S- an einen Addierer 53 durchschaltet, wobei S+, SO und S- die jeweilige Schrittweite für die Abszisse der Konturpunkte,vorgeben. Der Ausgang des Addierers 53* ist mit einem Eingang jeweils eines Multiplexers 54, 55 verbunden, deren jeweilige Ausgänge an ein x-Register 56 und ein y-Register 57 angeschlossen sind. An weiteren Eingängen der Multiplexer 54, 55 liegen der K-Wert als Koordinate und der AO-Wert als Anfangsabszisse. Abhängig von den Steuersignalen YX - 19 -5 shows the addresser ADR 1 in the upper part and the addresser ADR 0 in the lower part. ADR 1 includes a multiplexer 52, which switches depending on the control signal UK, S +, SO or S to an adder 53, wherein S +, S- and SO specify the respective step size for the abscissa of the contour points. The output of the adder 53 * is connected to an input of a multiplexer 54, 55, the respective outputs of which are connected to an x register 56 and a y register 57. The K value as the coordinate and the AO value as the initial abscissa are located at further inputs of the multiplexers 54, 55. Depending on the control signals YX - 19 -
(horizontales oder vertikales Polynom) und LP (load polynom) wird einer der Eingänge selektiert, und zwar für das Register 56 K bei YX = 0 und LP = O, der Ausgang des Addierers 53 bei YX = 1 und LP = 0, LP = 1 und für das Y-Register 57 der Ausgang des Addierers 53 bei YX = 0 und LP = 0, K bei YX = 1 und LP = 0 und LP = 1.(horizontal or vertical polynomial) and LP (load polynomial) one of the inputs is selected, namely for register 56 K at YX = 0 and LP = O, the output of adder 53 at YX = 1 and LP = 0, LP = 1 and for the Y register 57 the output of the adder 53 when YX = 0 and LP = 0, K when YX = 1 and LP = 0 and LP = 1.
In dem Adressierer ADR1 wird auch festgestellt, ob das Ende eines Polynoms erreicht worden ist. Der Multiplexer 59 wählt einen Vergleichswert V aus dem X- bzw. dem Y-Register(56, 57)aus. Aus den beiden Eingangsgrößen AB und YX ermittelt er den Wert, über den abgebrochen werden muß. Horizontale Polynome mit Abbruch über die Abszisse und vertikale Polynome mit Abbruch über die Koordinate ergeben einen Abbruch über das X-Register, die anderen Polynome ergeben einen Abbruch über das Y-Register. Der Vergleichswert V wird dann im Vergleicher 75 mit dem Endwert E verglichen. Der Vergleicher liefert drei verschiedene Werte V = E, .V< E und V E. Die Logikschaltung 76 er¬ kennt aus dem Vergleichsergebnis und der Polynom- Laufrichtung D das Ende eines Polynoms. Ein Polynom ist genau dann beendet, wenn das Polynom vorwärts läuft und der Vergleichswert V größer is,t, als der Endwert E oder wenn das Polynom rückwärts läuft, und der Vergleichswert kleiner ist als der* Endwert.Addresser ADR1 also determines whether the end of a polynomial has been reached. The multiplexer 59 selects a comparison value V from the X and Y registers ( 56, 57 ) . From the two input variables AB and YX, it determines the value above which it must be terminated. Horizontal polynomials with an abort via the abscissa and vertical polynomials with an abort via the coordinate result in an abort via the X register, the other polynomials result in an abort via the Y register. The comparison value V is then compared i m comparator 75 with the final value E. The comparator supplies three different values V = E, .V <E and V E. The logic circuit 76 recognizes the end of a polynomial from the comparison result and the polynomial direction D. A polynomial is ended if and only if the polynomial runs forward and the comparison value V is greater than the end value E or if the polynomial runs backwards and the comparison value is smaller than the * end value.
Die x- und y-Werte werden dem Adressierer ADR 0 zugeführt und jeweils in einem x -. ,, y . ,- Register 61, 62*, das beispielsweise als Schiebe¬ register ausgebildet sein kann, gespeichert, wobei jeweils auch der vorhergehende Wert - 20 -The x and y values are fed to the addresser ADR 0 and each in an x -. ,, y. , - registers 61, 62 * , which can be designed, for example, as a shift register, are stored, the previous value in each case also - 20 -
^ xold' ^old 9esPeicner"t ist. In jeweils einem Vergleicher 63, 64 wird festgestellt, ob der aktuelle x-, y-Wert sich zu dem vorhergehenden x ,,, y . -Wert geändert hat und es werden Δ x, Δ y-Signale an'die FilterSchaltung^ x old '^ old 9 es P eicner " t . A comparator 63, 64 determines whether the current x, y value has changed from the previous x ,,, y Δ x, Δ y signals to 'the filter circuit
5 FILTER ausgegeben, die + 1 sind, wenn x bzw. y größer oder kleiner als der vorhergehende5 FILTER output, which are +1 if x or y are larger or smaller than the previous one
Wert xol.d, bzw. yOl.α, und 0 sind, wenn der x bzw. y-Wert gleich geblieben ist.Value xol.d, or y Ol.α, and 0 if the x or y value has remained the same.
0 Fig. 6 zeigt die Filterschaltung FILTER, die aus einem Multiplexer 64, einem FY-Register 65 und einem Speicher 66 besteht. Dem Multiplexer stehen zwei Eingangssignale FYO und FY' zur Verfügung, wobei bei dem Steuersignal LK 5 für eine nächste Kontur FYO als Anfangswert selektiert wird. FYO ist für alle Fälle 1 und FY' bezeichnet die allgemeine y-Richtung, die in jedem Schritt neu bestimmt wird.6 shows the filter circuit FILTER, which consists of a multiplexer 64, an FY register 65 and a memory 66. The multiplexer has two input signals FYO and FY 'available, with control signal LK 5 being selected as the initial value for a next contour FYO. FYO is 1 for all cases and FY 'denotes the general y direction, which is redetermined in each step.
o In dem Speicher 66 ist eine Wahrheitstabelle gespeichert, die abhängig von der allgemeinen y-Richtung der Kontur FY und den Abweichungen eines Punktes zum vorhergehendenΔx, Δy, die die 5 Auswahl der neuen oder alten Konturpunkte bestimmenden Signale FO, Fl liefert, mit denen, wie oben beschrieben, die Bestimmung der Konturpunkte als Durchstoßpunkte erfolgt.o A truth table is stored in the memory 66 which, depending on the general y-direction of the contour FY and the deviations of a point from the previous Δx, Δy, supplies the signals FO, Fl which determine the selection of the new or old contour points, with which As described above, the contour points are determined as penetration points.
In Fig. 7 sind die Schalteranordnung 3, der In Fig. 7, the switch arrangement 3, the
Matrixspeicher 2 und der Speicher 4 dargestellt, wobei zusätzlich eine schematisch angedeutete Ausleseschaltung 70 vorgesehen ist. Die Schalteranordnung 3 besteht aus den Multi- plexern 67, 68, die abhängig von dem Signal FA - 21 -Matrix memory 2 and memory 4 are shown, wherein a schematically indicated readout circuit 70 is additionally provided. The switch arrangement 3 consists of the multiplexers 67, 68, which are dependent on the signal FA - 21 -
1 (FA = 1 entspricht Fl; FA = 0 entsprichtFO) den aktuellen oder den vorhergehenden Konturpunkt als Durchstoßpunkt weiterleiten, und zwar in den Matrixspeicher 2, für den er eine x- und y-Ad esse bildet. Die Inver- 5 tierung des durch die x-, y-Adresse vor¬ gegebenen Speicherinhalt - zu Beginn des Dekodierens werden alle Speicherplätze beispielsweise auf O gesetzt - erfolgt über ein NOR-Gatter 71, dessen Ausgang mit dem1 (FA = 1 corresponds to Fl; FA = 0 corresponds toFO) forward the current or the previous contour point as a puncture point, specifically to the matrix memory 2, for which it forms an x and y address. The inversion of the memory content given by the x, y address - at the beginning of the decoding, all memory locations are set to 0, for example - takes place via a NOR gate 71, the output of which is connected to the
10 DATA-IN des Matrixspeichers 2 und dessen10 DATA-IN of the matrix memory 2 and its
Eingänge 72, 72 mit der Ausleseschaltung 70 verbunden sind, wobei Eingang 73 zusätzlich an den DATA-OUT angeschlossen ist und Eingangs¬ leitung 72 als Löschleitung dient. Die beiInputs 72, 72 are connected to the readout circuit 70, input 73 being additionally connected to the DATA-OUT and input line 72 serving as an erase line. The at
^5 Führen eines Signals die Speicherinhalte löscht, d.h. auf 0 setzt. Das Eingangssignal wird über den DATA-OUT und das NOR-Gatter 71 invertiert zurückgeführt.^ 5 Carrying a signal clears the memory contents, i.e. sets to 0. The input signal is fed back in an inverted manner via the DATA-OUT and the NOR gate 71.
2Q Der der Glitchsicherung dienende Speicher 4 wird nur durch die x-Koordinate adressiert, deren Inhalt mit Hilfe des NOR-Gatters 74 invertiert wird.2 Q The memory 4 which serves to protect against slippage is only addressed by the x coordinate, the content of which is inverted with the aid of the NOR gate 74.
25 Für das Auslesen der Daten aus dem Matrixspeicher 2 bzw. dem Speicher 4 liefert die Auslese¬ schaltung 70 Adressen an die Multiplexer 67, 68 und außerdem ein Read-Signal, das die Multi¬ plexer 67, .68 auf Durchschalten der Adressen 25 For reading out the data from the matrix memory 2 or the memory 4, the readout circuit 70 supplies addresses to the multiplexers 67, 68 and also a read signal which the multiplexers 67, .68 switch on when the addresses are switched through
_ schaltet. Bei Vorhandensein des Read-Signals an den Read-Write-Eingängen der Speicher 2, 4 werden die gespeicherten Daten über DATA-OUT ausgelesen. Die. Ausleseschaltung 70 kann mit einer Auswerteschaltung, beispielsweise der Ansteuerschaltung für den Belichter oder auch - 22 - einen weiteren Speicher oder dergleichen verbunden sein. _ switches. If the read signal is present at the read-write inputs of memories 2, 4, the stored data are read out via DATA-OUT. The. Read-out circuit 70 can be equipped with an evaluation circuit, for example the control circuit for the imagesetter or - 22 - another memory or the like can be connected.

Claims

- 23 -- 23 -
1 Patentansprüche1 claims
1. Verfahren zum Kodieren von Schriftzeichen und graphischen Elementen für die elektro¬ nische und elektromechanische Wiedergabe1. A method for coding characters and graphic elements for electronic and electromechanical reproduction
5 unter Verwendung von Polynomen, g e - k e n n z e i c h n e t d u r c h folgende Verfahrensschritte: Bestimmen der Anzahl der Konturen pro Zeichen, 0 Vorgeben von Grenzen zwischen y = f (x)5 using polynomials, the following process steps: determining the number of contours per character, 0 specifying limits between y = f (x)
(horizontalen) und x = f (y) (vertikalen)(horizontal) and x = f (y) (vertical)
Polynomen,Polynomials,
Bestimmen der Anzahl der Polynome für eineDetermine the number of polynomials for one
Kontur und Optimieren ihrer Lauflänge durch 5 Vergleich mit der Kontur des vorgegebenen Schriftzeichens und abhängig von dem die Qualität der Wiedergabe der Zeichen bestimmen¬ den Fehler und Speichern einer Kennzahl über die Art des Polynoms, der Anfangs- bzw. o Endkoordinaten und der Polynomfaktoren für • alle Polynome aller Konturen eines Schrift¬ zeichens.Contour and optimization of its run length by 5 comparison with the contour of the given character and depending on the quality of the rendering of the characters determining the errors and storing a key figure about the type of polynomial, the start or end coordinates and the polynomial factors for • all polynomials of all contours of a character.
2. Verfahren zum Dekodieren von Schriftzeichen, 5 die entsprechend dem Verfahren nach Anspruch 1 definiert sind, wobei die Zeichen durch parallele Linien auf einem Darstellungselement dargestellt werden, deren Beginn und Ende durch von x, y-Koordinaten angegebenen 0 Durchstoßpunkte bestimmt werden, dadurch gekennzeichnet, daß die schriftgrößen¬ unabhängigen Polynomfaktoren der einzelnen Polynome jeder Kontur eines Zeichens in schriftgrößenabhängige Startwerte, beispiels- 5 weise bei einem Polynom dritter Ordnung vier - Startwerte K, L, M, N umgewandelt und ge¬ speichert werden, wobei K dem eigentlichen Funktionswert des Polynoms, L der ersten Ableitung, M der zweiten Ableitung und N der dritten Ableitung entspricht, daß jeweils für jeden neuen Konturpunkt ein neuer K-Wert durch Addieren des vorherigen K-Wertes und L-Wertes, ein neuer L-Wert durch Addieren des vorherigen L-Wertes und des M-Wertes und ein neuer M-Wert durch Addieren des vorherigen M-Wertes und N-Wertes festgelegt werden, daß unter Verwendung der vorgegebenen Schritt¬ weite der parallelen Linien und des jeweils bestimmten K-Wertes und unter Berücksichtigung der Art des Polynoms die x, y-Koordinaten der Konturpunkte des Schriftzeichens bestimmt werden, wobei die x , ,, y , ,-Koordinaten des vorherigen Konturpunktes zwischengespeichert werden, daß die x, y-Koordinaten des aktuellen2. A method for decoding characters, 5 which are defined according to the method of claim 1, wherein the characters are represented by parallel lines on a display element, the beginning and end of which are determined by 0 penetration points indicated by x, y coordinates, characterized that the font-size-independent polynomial factors of the individual polynomials of each contour of a character have font-size-dependent starting values, for example four in the case of a third-order polynomial Start values K, L, M, N are converted and stored, where K corresponds to the actual function value of the polynomial, L to the first derivative, M to the second derivative and N to the third derivative, that a new K for each new contour point Value by adding the previous K value and L value, a new L value by adding the previous L value and M value and a new M value by adding the previous M value and N value, that the x, y coordinates of the contour points of the character are determined using the predetermined step width of the parallel lines and the respectively determined K value and taking into account the type of polynomial, the x, ,, y,, coordinates of the previous contour point that the x, y coordinates of the current
Konturpunktes mit den xQd y .,-Koordinaten des vorherigen Konturpunktes verglichen werden und eine positive und/oder negative Abweichung festgestellt wird, und daß ab- hängig von der jeweiligen allgemeinen y- Richtung der Kontur und den Abweichungen aus den Konturpunkten die Durchstoßpunkte ausgewählt und gespeichert werden.Contour point with the x Qd y., - coordinates of the previous contour point are compared and a positive and / or negative deviation is determined, and that depending on the respective general y direction of the contour and the deviations from the contour points Penetration points can be selected and saved.
3. Verfahren nach Anspruch 2, dadurch gekenn¬ zeichnet, daß die Durchstoßpunkte in Form einer Bitmap gespeichert werden, wobei das jeweils durch die x, y-Koordinaten des Durchstoßpunktes adressierte Bit des Speichers invertiert wird. - 25 -3. The method according to claim 2, characterized gekenn¬ characterized in that the puncture points are stored in the form of a bit map, wherein the bit of the memory addressed by the x, y coordinates of the puncture point is inverted. - 25 -
1 4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß zur Glitchsicherung die x-Koordinaten aller Durchstoßpunkte in der Weise gespeichert werden, daß das jeweils durch die x-Koordinate adressierte1 4. The method according to claim 2 or 3, characterized in that the x coordinates of all puncture points are stored in such a way that the addressed by the x coordinate to protect against slipping
5 Bit des x-Koordinaten-Speichers invertiert wird, wobei nach der Speicherung aller Durchstoßpunkte des Zeichens der jeweilige Speicherinhalt des x-Koordinaten-Speichers angibt, ob eine gerade oder ungerade Anzahl 0 von Invertierungen vorgenommen wurde.5 bits of the x-coordinate memory is inverted, the memory contents of the x-coordinate memory indicating whether an even or odd number 0 of inversions has been carried out after all the puncture points of the character have been stored.
5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet', daß abhängig von der Art des jeweiligen Polynoms (horizontal, 5 vertikal) der K-Wert als y-Startkoordinate oder x-Startkoordinate der Konturpunkte gewählt wird.5. The method according to any one of claims 2 to 4, characterized in that, depending on the type of the respective polynomial (horizontal, 5 vertical), the K value is selected as the y-start coordinate or x-start coordinate of the contour points.
6. Vorrichtung zum Dekodieren von Sσhriftzeichen o und graphischen Elementen für die elektronische und elektromechanische Wiedergabe unter Ver¬ wendung des Verfahrens nach Anspruch 2, dadurch gekennzeichnet, daß ein Speicher (1) vorgesehen ist, in dem für jede Kontur 5 eines Zeichens eine Vielzahl von Polynomen in Form von Anfangs- und/oder Endkoordinaten (AO, E) von schriftgrößenabhängigen Start¬ werten (K,L,M,N) einer Kennzahl über die Art des -Polynoms (y,x) (horizontal, vertikal) 0 gespeichert sind, daß der Speicher (1) mit dem Addierwerk (ADW) verbunden ist, in dem unter Verwendung der jeweils ge¬ speicherten Startwerte die folgenden K, L, M, N-Werte des nächsten Polynompunktes berechenbar sind, wobei K am Ausgang des - 26 - Addierwerkes (ADW) anliegt, daß ein erster Adressierer (ADR1) vorgesehen ist, der den von dem Addierwerk (ADW) vorgegebenen K-Wert und die vorgegebene Schrittweite der parallelen Linien den x-, y-Koordinaten der Konturpunkte zuordnet, daß der erste6. A device for decoding script characters and graphic elements for electronic and electromechanical reproduction using the method according to claim 2, characterized in that a memory (1) is provided in which a plurality for each contour 5 of a character of polynomials in the form of start and / or end coordinates (AO, E) of font size-dependent start values (K, L, M, N) of a key figure about the type of polynomial (y, x) (horizontal, vertical) 0 stored are that the memory (1) is connected to the adder (ADW), in which the following K, L, M, N values of the next polynomial point can be calculated using the respectively stored start values, with K at the output of the - 26 - Adding unit (ADW) is present that a first addresser (ADR1) is provided, which assigns the K value given by the adding unit (ADW) and the specified step size of the parallel lines to the x, y coordinates of the contour points, that the first
Adressierer (ADR1) mit einem zweitenAddresser (ADR1) with a second
Adressierer (ADRO) verbunden ist, in dem die xol,d,, yol,d,-Koordinaten des jeweils vor- herigen Konturpunktes gespeichert sind und der die RichtungsabweichungAx, Δy zwischen dem aktuellen und dem vorherigen Konturpunkt durch Vergleich bestimmt, daß die Filter¬ schaltung (FILTER) vorgesehen ist, die eine Wahrheitstabelle in einem Speicher (66) enthält, und abhängig von der allgemeinen y-Richtung (steigend oder fallend) und den Koordinatenabweichungen Δx, Δy eine neue all¬ gemeine y-Richtung und Steuersignale liefert, daß die Adressierer (ADR1, ADRO) über einen Schalter (3) mit einem die Durchstoßpunkte speichernden Speicher (2) verbunden sind, wobei der Schalter (3) abhängig von den von der Filterschaltung (FILTER) gelieferten Steuersignalen die Ausgänge des ersten Adressierers (ADR1) und/oder des zweiten Adressierers (ADRO) zu dem Speicher (2) durchschaltet, und daß eine Ablaufsteuerung (10) vorgesehen ist, die das Addierwerk (ADW}, die Adressierer (ADRl, ADRO) und die Filter- Schaltung (FILTER) steuert. - 27; - Vorrichtung nach Anspruch 6, dadurch gekenn¬ zeichnet, daß der Speicher (1) ebenfalls eine Angabe über die allgemeine Laufrichtung (D) (vorwärts oder rückwärts) speichert.Addresser (ADRO) is connected, in which the xol, d ,, yol, d, coordinates of the respective previous contour point are stored and which determines the directional deviation Ax, Δy between the current and the previous contour point by comparison that the filter circuit (FILTER) is provided, which contains a truth table in a memory (66), and depending on the general y direction (rising or falling) and the coordinate deviations Δx, Δy a new general y direction and control signals that the addressers (ADR1, ADRO) are connected via a switch (3) to a memory (2) storing the piercing points, the switch (3) depending on the control signals supplied by the filter circuit (FILTER) the outputs of the first addresser (ADR1) and / or the second addresser (ADRO) through to the memory (2), and that a sequence controller (10) is provided, which the adder (ADW}, the addressers (ADRI, ADRO) and the F ilter circuit (FILTER) controls. - 27; - Device according to claim 6, characterized gekenn¬ characterized in that the memory (1) also stores an indication of the general running direction (D) (forward or backward).
8. Vorrichtung nach Anspruch 6, dadurch gekenn¬ zeichnet, daß der Speicher (2) als Matrix¬ speicher ausgebildet ist, wobei die von den Adressierern (ADR1, ADRO) gelieferten Koordinaten die Adressen des Matrixspeichers bilden.8. The device according to claim 6, characterized in that the memory (2) is designed as a matrix memory, the coordinates provided by the addressers (ADR1, ADRO) forming the addresses of the matrix memory.
9. Vorrichtung nach Anspruch 8, dadurch gekenn¬ zeichnet, daß die jeweiligen Speicherinhalte des Matrixspeichers (2) bei Adressierung . invertiert werden.9. The device according to claim 8, characterized gekenn¬ characterized in that the respective memory contents of the matrix memory (2) upon addressing. be inverted.
10. Vorrichtung nach einem der Ansprüche 6 bis 9, dadurch gekennzeichnet, daß ein weiterer Speicher (4) vorgesehen ist, der durch die x-Koordinaten der Durchstoßpunkte adressiert wird und dessen jeweilige Speicherinhalte bei Adressierung invertiert werden.10. Device according to one of claims 6 to 9, characterized in that a further memory (4) is provided, which is addressed by the x coordinates of the puncture points and whose respective memory contents are inverted when addressed.
11. Vorrichtung nach einem der Ansprüche 6 bis 10, dadurch gekennzeichnet, daß der erste11. Device according to one of claims 6 to 10, characterized in that the first
Adressierer (ADR1) ein x- und ein y-Register .(56,57) aufweist, denen jeweils ein gesteuerter Schalter (54,55) vorgeschaltet sind und daß die Schalter (54,55) abhängig von der Art des Polynoms und vom Vorliegen eines Polynomstarts entweder den K-Wert oder den die Schritt¬ weite (S-, SO, S+) beinhaltenden nächsten Abszissen-Wert oder die Anfangsabszisse (AO) des nächsten Polynoms durchschalten. - 28 - 12. Vprrichtung nach einem der Ansprüche 6 bis 11, dadurch gekennzeichnet, daß der erste Adressierer (ADR1) einen Vergleicher (75,76) aufweist, der die aktuelle x- oder y-Koordinate des Konturpunktes mit der Endkoordinate oder Endabszisse (E) des Polynoms vergleicht und bei Überlauf ein Signal (NP) an die Ablaufsteuerung (10) liefert, die das nächste Polynom im Speicher (1) adressiert.Addresser (ADR1) has an x and a y register (56, 57), each of which is preceded by a controlled switch (54, 55) and that the switches (54, 55) depend on the type of the polynomial and on the presence of a polynomial start either switch through the K value or the next abscissa value containing the step width (S-, SO, S +) or the initial abscissa (AO) of the next polynomial. - 28 - 12. Device according to one of claims 6 to 11, characterized in that the first addressing device (ADR1) has a comparator (75, 76) which has the current x or y coordinate of the contour point with the end coordinate or end abscissa ( E) compares the polynomial and, in the event of an overflow, supplies a signal (NP) to the sequential control system (10), which addresses the next polynomial in the memory (1).
13. Vorrichtung nach Anspruch 12, dadurch gekenn¬ zeichnet, daß die Ablaufsteuerung (10) mit einem Polynomzähler (11) verbunden ist, dessen Zählerstand jeweils die Adresse für den Speicher (1) bildet.13. The apparatus according to claim 12, characterized gekenn¬ characterized in that the sequence control (10) is connected to a polynomial counter (11), the counter reading forms the address for the memory (1).
14. Vorrichtung nach einem der Ansprüche 6 bis 13, dadurch gekennzeichnet, daß der zweite Adressierer (ADRO) ein x ,,- und ein yold~ Register (61,62) aufweist, die die Koordinaten des vorhergehenden Konturpunktes speichern.14. Device according to one of claims 6 to 13, characterized in that the second addresser (ADRO) has an x ,, - and a y old ~ register (61,62), which store the coordinates of the previous contour point.
15. Vorrichtung nach einem der Ansprüche 6 bis 14, dadurch gekennzeichnet, daß in dem zweiten Adressierer (ADRO) Vergleicher (63,69) vor- gesehen sind, die die x, y-Koordinaten des aktuellen Konturpunktes mit den x , ,, y0ld~ . Koordinaten des vorhergehenden Konturpunktes vergleichen und jeweils ein Signal für die Abweichung in positiver, in negativer Richtung und bei Gleichheit liefern.15. Device according to one of claims 6 to 14, characterized in that comparators (63, 69) are provided in the second addresser (ADRO) which provide the x, y coordinates of the current contour point with the x, ,, y 0 ld ~. Compare the coordinates of the previous contour point and provide a signal for the deviation in the positive, in the negative direction and in the case of equality.
16. Vorrichtung nach einem der Ansprüche 6 bis 15, dadurch gekennzeichnet, daß die Ablauf¬ steuerung (10) als PAL (progra mable array logic) mit Register, als PROM mit Register, - 29 - als state sequencer oder als Gatterfeld ausgebildet ist.16. The device according to one of claims 6 to 15, characterized in that the sequence control (10) as PAL (programmable array logic) with register, as PROM with register, - 29 - is designed as a state sequencer or as a gate field.
17. Vorrichtung nach einem der Ansprüche 6 bis 16, dadurch gekennzeichnet, daß die ge- steuerten Schalter als Multiplexer ausge¬ bildet sind.17. Device according to one of claims 6 to 16, characterized in that the controlled switches are formed as a multiplexer.
18. Vorrichtung nach einem der Ansprüche 6 bis 17, dadurch gekennzeichnet, daß bei einem Konturende und im Falle einer negativen allgemeinen y-Richtung am Konturende der Konturstartpunkt im Speicher (2) invertiert wird. 18. Device according to one of claims 6 to 17, characterized in that at a contour end and in the case of a negative general y-direction at the contour end, the contour start point in the memory (2) is inverted.
PCT/DE1985/000265 1984-08-03 1985-08-02 Process for coding, and process and device for decoding characters and graphic elements for electronic and electromechanical reproduction WO1986001154A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE8585904084T DE3576933D1 (en) 1984-08-03 1985-08-02 METHOD FOR ENCODING CHARACTERS AND GRAPHIC ELEMENTS FOR ELECTRONIC AND ELECTROMECHANICAL PLAYBACK.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE3429110A DE3429110A1 (en) 1984-08-03 1984-08-03 METHOD FOR CODING AND DECODING CHARACTERS
DEP3429110.5 1984-08-03

Publications (1)

Publication Number Publication Date
WO1986001154A1 true WO1986001154A1 (en) 1986-02-27

Family

ID=6242553

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1985/000265 WO1986001154A1 (en) 1984-08-03 1985-08-02 Process for coding, and process and device for decoding characters and graphic elements for electronic and electromechanical reproduction

Country Status (4)

Country Link
EP (1) EP0191816B1 (en)
JP (1) JPS61502914A (en)
DE (2) DE3429110A1 (en)
WO (1) WO1986001154A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0391670A2 (en) * 1989-04-03 1990-10-10 Seiko Epson Corporation Dot pattern signal generator
EP0397348A2 (en) * 1989-05-10 1990-11-14 Seiko Epson Corporation Dot pattern signal generator

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807143A (en) * 1986-07-07 1989-02-21 Asahi Kasei Kogyo Kabushiki Kaisha System for forming design pattern data
GB2203613B (en) * 1987-04-06 1992-01-02 Canon Kk Image processing apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2254913A1 (en) * 1971-11-12 1973-05-24 Western Electric Co METHOD FOR GENERATING GRAPHICAL REPRESENTATIONS FROM PARAMETRIC DATA
US4029947A (en) * 1973-05-11 1977-06-14 Rockwell International Corporation Character generating method and system
US4298945A (en) * 1978-05-12 1981-11-03 Eltra Corporation Character generating method and apparatus
WO1983002179A1 (en) * 1981-12-07 1983-06-23 Dicomed Corp Method and apparatus for representation of a two dimensional figure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2254913A1 (en) * 1971-11-12 1973-05-24 Western Electric Co METHOD FOR GENERATING GRAPHICAL REPRESENTATIONS FROM PARAMETRIC DATA
US4029947A (en) * 1973-05-11 1977-06-14 Rockwell International Corporation Character generating method and system
US4298945A (en) * 1978-05-12 1981-11-03 Eltra Corporation Character generating method and apparatus
WO1983002179A1 (en) * 1981-12-07 1983-06-23 Dicomed Corp Method and apparatus for representation of a two dimensional figure

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Microprocessor Systems: Software, Firmware and Hardware, Sixth Euromicro Symposium on Microprocessing and Microprogramming 16-18 September 1980, London, published by M. SAMI et al.: North-Holland Publishing Co. Amsterdam (NL) M. TERVONEN et al.: "A Microprogrammable Character Generator for a CRT Phototype-Setting System", pages 179-190 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0391670A2 (en) * 1989-04-03 1990-10-10 Seiko Epson Corporation Dot pattern signal generator
EP0391670A3 (en) * 1989-04-03 1991-09-04 Seiko Epson Corporation Dot pattern signal generator
EP0397348A2 (en) * 1989-05-10 1990-11-14 Seiko Epson Corporation Dot pattern signal generator
EP0397348A3 (en) * 1989-05-10 1991-09-11 Seiko Epson Corporation Dot pattern signal generator

Also Published As

Publication number Publication date
EP0191816A1 (en) 1986-08-27
JPS61502914A (en) 1986-12-11
DE3429110A1 (en) 1986-02-13
EP0191816B1 (en) 1990-04-04
DE3576933D1 (en) 1990-05-10

Similar Documents

Publication Publication Date Title
EP0290374B1 (en) Method of and device for generating and reproducing two-dimensional graphical objects
DE2754270C2 (en)
DE2954383C2 (en)
DE3440377C2 (en)
DE2459106C2 (en) Circuit arrangement for displaying characters on a screen by means of a cathode ray
EP0137208B1 (en) Input bit stream conversion method
EP0153584A2 (en) Method and device for recording characters
DE3824977A1 (en) IMAGE ROTATION DEVICE
EP0301384B1 (en) Circuit arrangement for processing slanting, in particular hand-written characters
DE3632603A1 (en) METHOD AND DEVICE FOR PRINTER CONTROL
DE2556151A1 (en) AUTOMATIC DEVICE FOR THE PROGRAMMED PRODUCTION OF DRAWINGS USING PARTICLE Bombardment
DE2833175A1 (en) SIGNAL GENERATOR FOR A DISPLAY SYSTEM
DE3716752C2 (en)
DE3047695A1 (en) METHOD AND DEVICE FOR PRODUCING A STORAGE TABLE FOR COLOR CONTROL CONDITIONS
DE3811145C2 (en)
WO1986001154A1 (en) Process for coding, and process and device for decoding characters and graphic elements for electronic and electromechanical reproduction
DE3915037A1 (en) PATTERN GENERATOR
DE2724094B2 (en) Cathode ray display device
DE2654010A1 (en) TV ARRANGEMENT
DE3305709A1 (en) METHOD FOR CONTROLLING THE LIGHT EMISSION INTENSITY IN A CURRENT RECORDER AND DEVICE FOR IMPLEMENTING THE METHOD
DE3938366C2 (en) Device for image data reduction for a display device
DE19603280C2 (en) Apparatus and method for selecting graphic characters from a predetermined character set for the purpose of editing the characters
DE3026225C2 (en) Data display device
DE2223257A1 (en) Display device
DE4105263C2 (en) Image processing device

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): JP US

AL Designated countries for regional patents

Designated state(s): CH DE FR GB IT NL

WWE Wipo information: entry into national phase

Ref document number: 1985904084

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1985904084

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1985904084

Country of ref document: EP